A post in a Coves community. Posts live in community repositories and persist independently of the author.
tid
Timestamp-based ID
Properties
author
string
did
Required
DID of the user who created this post
bridgedStats
ref
#bridgedStats
Optional
Bridge-asserted aggregate of origin-platform votes for federated/bridged content. Set by the bridge that materialized this record; absent for natively-authored posts.
community
string
did
Required
DID of the community this was posted to
content
string
Optional
Post content - supports rich text via facets
maxLength: 100000 bytesmaxGraphemes: 10000 graphemescreatedAt
string
datetime
Required
Timestamp of post creation
crosspostChain
array
of
ref
com.atproto.repo.strongRef
Optional
Full chain of crossposts with version pinning. First element is original, last is immediate parent.
maxLength: 25 itemscrosspostOf
ref
com.atproto.repo.strongRef
Optional
If this is a crosspost, strong reference to the immediate parent post
embed
union
Optional
Embedded media, external links, or quoted posts
facets
array
of
ref
social.coves.richtext.facet
Optional
Annotations for rich text (mentions, links, formatting, block structure)
maxLength: 200 itemslabels
ref
com.atproto.label.defs#selfLabels
Optional
Self-applied content labels (NSFW, spoilers, etc.)
langs
array
of
string
language
Optional
Languages used in the post content (ISO 639-1)
maxLength: 3 itemstags
array
of
string
Optional
User-applied topic tags
maxLength: 8 itemstitle
string
Optional
Post title (optional for media-only posts)
maxLength: 3000 bytesmaxGraphemes: 300 graphemesView raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"community",
"author",
"createdAt"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 640,
"maxGraphemes": 64
},
"maxLength": 8,
"description": "User-applied topic tags"
},
"embed": {
"refs": [
"social.coves.embed.images",
"social.coves.embed.video",
"social.coves.embed.external",
"social.coves.embed.post"
],
"type": "union",
"description": "Embedded media, external links, or quoted posts"
},
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "Languages used in the post content (ISO 639-1)"
},
"title": {
"type": "string",
"maxLength": 3000,
"description": "Post title (optional for media-only posts)",
"maxGraphemes": 300
},
"author": {
"type": "string",
"format": "did",
"description": "DID of the user who created this post"
},
"facets": {
"type": "array",
"items": {
"ref": "social.coves.richtext.facet",
"type": "ref"
},
"maxLength": 200,
"description": "Annotations for rich text (mentions, links, formatting, block structure)"
},
"labels": {
"ref": "com.atproto.label.defs#selfLabels",
"type": "ref",
"description": "Self-applied content labels (NSFW, spoilers, etc.)"
},
"content": {
"type": "string",
"maxLength": 100000,
"description": "Post content - supports rich text via facets",
"maxGraphemes": 10000
},
"community": {
"type": "string",
"format": "did",
"description": "DID of the community this was posted to"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp of post creation"
},
"crosspostOf": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "If this is a crosspost, strong reference to the immediate parent post"
},
"bridgedStats": {
"ref": "#bridgedStats",
"type": "ref",
"description": "Bridge-asserted aggregate of origin-platform votes for federated/bridged content. Set by the bridge that materialized this record; absent for natively-authored posts."
},
"crosspostChain": {
"type": "array",
"items": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"maxLength": 25,
"description": "Full chain of crossposts with version pinning. First element is original, last is immediate parent."
}
}
},
"description": "A post in a Coves community. Posts live in community repositories and persist independently of the author."
}