{
"id": "com.getorbyt.community.declaration",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"createdAt"
],
"properties": {
"name": {
"type": "string",
"maxLength": 63,
"minLength": 2,
"description": "The globally unique lowercase Community name. Clients render it with a leading slash, for example /funny."
},
"rules": {
"type": "array",
"items": {
"ref": "com.getorbyt.community.defs#rule",
"type": "ref"
},
"maxLength": 20
},
"avatar": {
"type": "blob",
"accept": [
"image/gif",
"image/png",
"image/jpeg",
"image/webp"
],
"maxSize": 3000000,
"description": "The Community's single full-bleed background artwork. It is shared by the community hero and Explore tiles; GIFs loop in supporting clients."
},
"labels": {
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union",
"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."
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"updatedAt": {
"type": "string",
"format": "datetime"
},
"postPolicy": {
"type": "string",
"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"
]
},
"accentColor": {
"type": "string",
"maxLength": 32,
"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."
},
"description": {
"type": "string",
"maxLength": 2000
}
}
},
"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. Every Community is public: the record is world-readable, and the directory and feed are open. Only posting is gated, by postPolicy."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}