{
"id": "forum.barazo.topic.post",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"title",
"content",
"community",
"category",
"publishedAt"
],
"properties": {
"site": {
"type": "string",
"maxLength": 5000,
"description": "Reference to a site.standard.publication record (at:// URI) or publication URL (https://). Enables cross-app content discovery."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"maxGraphemes": 30
},
"maxLength": 25,
"description": "Topic tags. Lowercase alphanumeric + hyphens."
},
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "BCP 47 language tags indicating the primary language(s) of the content."
},
"title": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Topic title.",
"maxGraphemes": 200
},
"facets": {
"type": "array",
"items": {
"ref": "app.bsky.richtext.facet",
"type": "ref"
},
"description": "Annotations of text (mentions, URLs, hashtags, etc)."
},
"labels": {
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union",
"description": "Self-label values for content maturity (e.g., sexual, nudity, graphic-media)."
},
"content": {
"refs": [
"forum.barazo.richtext#markdown"
],
"type": "union",
"description": "Post body content. Open union for extensible content formats."
},
"category": {
"type": "string",
"format": "record-key",
"maxLength": 640,
"description": "Category record key (slug) within the community. Follows AT Protocol record key syntax.",
"maxGraphemes": 64
},
"community": {
"type": "string",
"format": "did",
"description": "DID of the community where this record was created. Immutable origin identifier for cross-community attribution."
},
"publishedAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when this post was originally published."
}
}
},
"description": "Record containing a forum topic post."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "A forum topic post with title, content, community attribution, and optional tags and content labels."
}