com.getorbyt.community.declaration

getorbyt.com

{
  "$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": "Community image artwork for avatars and Explore tiles. Animated GIFs loop in supporting clients. It may use a square crop independent of avatarVideo.",
            "maxSize": 3000000,
            "type": "blob"
          },
          "avatarFallback": {
            "accept": [
              "image/jpeg",
              "image/webp"
            ],
            "description": "Optional still rendition of avatar for constrained or reduced-data connections. New clients export it from the same square crop as avatar. Clients prefer avatar for animation and use this only when animation or video should not be loaded.",
            "maxSize": 3000000,
            "type": "blob"
          },
          "avatarVideo": {
            "accept": [
              "video/mp4"
            ],
            "description": "Optional silent H.264 MP4 header with even dimensions, yuv420p and the moov atom first. New clients export a square crop positioned independently from avatar; older aspect ratios remain valid. Supply an image avatar alongside video for image-only surfaces.",
            "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
}

Validate Record

Validate a record against com.getorbyt.community.declaration

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2xrqztnmzlckb3xfuuukupso
CID
bafyreici75a2sldj62ykeyzxdhv5eiu423it2le3sms6kyf5p3htgnagre
Indexed At
2026-09-17 13:18 UTC
AT-URI
at://did:plc:2xrqztnmzlckb3xfuuukupso/com.atproto.lexicon.schema/com.getorbyt.community.declaration

Version History (5 versions)

Referenced Schemas (2)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A community's profile information (V2: stored in community's own repository)

  • A community's public identity. Lives in the community's profile space, which is readable without membership unless the community is private.

  • A community (harbor). Lives in its founder's repo; its AT-URI is the community's permanent, portable id. The record is a public claim — message access is granted by the harbor's app service.

  • A community, or "server", is where users join to interact with each other on Colibri. Singleton record on the community DID's repo.

  • com.getorbyt.community.post recordnot from the namespace authority

    A user-owned canonical link between a Bluesky post and an Orbyt Community. A sidecar record: it lives in the post author's own repository and its record key MUST be the record key of the linked app.bsky.feed.post, exact…

Lexicon Garden

@