com.getorbyt.community.declaration

The canonical public descriptor for an Orbyt Community, and the record that declares the Community exists. Its AT-URI is the Community's identity everywhere else in the protocol. The record key is a TID, including for the replacement declaration an accepted ownership transfer produces: the recipient mints it before accepting and names it to the AppView, which stores it as the only URI the continuation may be written at. Every Community is public: the record is world-readable, and the directory and feed are open. Only posting is gated, by postPolicy.

Repository @getorbyt.com did:plc:2xrqztnmzlckb3xfuuukupso namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authoritycommunity.getorbyt.com
Indexed

Showing version bafyreiavobs7kmc6oplns2hyklzgdws5atupqz7hjdzewvbg3jc74lq6g4. Show the latest

cid bafyreiavobs7kmc6oplns2hyklzgdws5atupqz7hjdzewvbg3jc74lq6g4

Checks

Valid
  • unlimited-string defs.main.record.properties.postPolicyNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "The canonical public descriptor for an Orbyt Community, and the record that declares the Community exists. Its AT-URI is the Community's identity everywhere else in the protocol. The record key is a TID, including for the replacement declaration an accepted ownership transfer produces: the recipient mints it before accepting and names it to the AppView, which stores it as the only URI the continuation may be written at. Every Community is public: the record is world-readable, and the directory and feed are open. Only posting is gated, by postPolicy.",
      "key": "tid",
      "record": {
        "properties": {
          "accentColor": {
            "description": "A CSS-style hex colour, for example #D07EA2. Free-form so a client may carry a richer value later; a value this service cannot parse is ignored rather than rejected.",
            "maxLength": 32,
            "type": "string"
          },
          "avatar": {
            "accept": [
              "image/gif",
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "description": "The Community's single full-bleed background artwork. It is shared by the community hero and Explore tiles; GIFs loop in supporting clients.",
            "maxSize": 3000000,
            "type": "blob"
          },
          "avatarVideo": {
            "accept": [
              "video/mp4"
            ],
            "description": "An optional looping, silent MP4 of the same artwork as `avatar`, for clients whose header is a video player. H.264 in yuv420p with even dimensions and the moov atom first, which is what both AVPlayer and ExoPlayer will actually stream; a file that is not is simply not played. This never replaces `avatar` -- an MP4 cannot be drawn into an image view, so a Community that carried only this one would have no artwork at all on every surface that is not a video player. Supply both or supply `avatar` alone.",
            "maxSize": 3000000,
            "type": "blob"
          },
          "continuationOf": {
            "description": "The stable Community AT-URI this declaration continues after an accepted ownership transfer. The service ignores this field unless a matching accepted transfer authorizes this repository.",
            "format": "at-uri",
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "maxLength": 2000,
            "type": "string"
          },
          "labels": {
            "description": "Self-applied content labels, spelled as on app.bsky.feed.post. A Community carrying an adult label is hidden from viewers whose adult-content preference is off, exactly as a labeled post is.",
            "refs": [
              "com.atproto.label.defs#selfLabels"
            ],
            "type": "union"
          },
          "name": {
            "description": "The globally unique lowercase Community name. Clients render it with a leading slash, for example /funny.",
            "maxLength": 63,
            "minLength": 2,
            "type": "string"
          },
          "postPolicy": {
            "description": "Who may link a post to this Community. Absent means anyone. A value this service does not know is treated as the most restrictive policy rather than the least.",
            "knownValues": [
              "anyone",
              "members",
              "moderators"
            ],
            "type": "string"
          },
          "rules": {
            "items": {
              "ref": "com.getorbyt.community.defs#rule",
              "type": "ref"
            },
            "maxLength": 20,
            "type": "array"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "name",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "com.getorbyt.community.declaration",
  "lexicon": 1
}