A Markdown comment on a canonical subject or a reply to another comment.
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
Client-declared timestamp when the comment was created.
facets
array
of
ref
app.bsky.richtext.facet
Optional
Annotations over text, especially DID-backed mentions. Indices count UTF-8 bytes.
maxLength: 100 itemslabels
union
Optional
Self-applied content labels.
langs
array
of
string
language
Optional
BCP 47 language tags for the human-language comment text.
maxLength: 3 itemsrootSubject
string
uri
Optional
Author-declared discussion resource. The subject is the immediate parent; verify ancestry before using the root for visibility or moderation.
subject
string
uri
Required
For a top-level comment, the canonical URI used by at.upvote.signal.subject. For a reply, the AT URI of its direct at.upvote.comment parent.
text
string
Required
Markdown source. Facet byte ranges refer to this unrendered UTF-8 text.
maxLength: 50000 bytesminLength: 1 bytesmaxGraphemes: 5000 graphemesminGraphemes: 1 graphemesView raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"text",
"createdAt"
],
"properties": {
"text": {
"type": "string",
"maxLength": 50000,
"minLength": 1,
"description": "Markdown source. Facet byte ranges refer to this unrendered UTF-8 text.",
"maxGraphemes": 5000,
"minGraphemes": 1
},
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "BCP 47 language tags for the human-language comment text."
},
"facets": {
"type": "array",
"items": {
"ref": "app.bsky.richtext.facet",
"type": "ref"
},
"maxLength": 100,
"description": "Annotations over text, especially DID-backed mentions. Indices count UTF-8 bytes."
},
"labels": {
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union",
"description": "Self-applied content labels."
},
"subject": {
"type": "string",
"format": "uri",
"description": "For a top-level comment, the canonical URI used by at.upvote.signal.subject. For a reply, the AT URI of its direct at.upvote.comment parent."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when the comment was created."
},
"rootSubject": {
"type": "string",
"format": "uri",
"description": "Author-declared discussion resource. The subject is the immediate parent; verify ancestry before using the root for visibility or moderation."
}
}
},
"description": "A Markdown comment on a canonical subject or a reply to another comment."
}