Native wips.social comment / reply record.
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
Client-declared timestamp when the comment was originally created.
facets
array
of
ref
app.bsky.richtext.facet
Optional
Rich-text annotations (mentions, links, tags) over text, using official app.bsky.richtext.facet. Application validators enforce UTF-8 codepoint-aligned byte ranges, per-facet feature caps, and http(s) link URIs. Ceiling keeps worst-case DAG-CBOR under the explicit record budget.
maxLength: 30 itemslabels
union
Optional
Open union for forward compatibility. Current app authoring/validation requires com.atproto.label.defs#selfLabels when present; unknown variants are not treated as self-labels. External moderation labels stay out of the record.
langs
array
of
string
language
Optional
Indicates human language(s) of the comment primary text content (BCP 47).
maxLength: 3 itemsmedia
array
of
union
Optional
Ordered media items. May freely mix images and videos using shared social.wips.defs media objects. Same app media safety policy as updates.
maxLength: 50 itemsparent
ref
social.wips.defs#uriRef
Optional
When present, AT URI of the immediate parent social.wips.comment. Omitted for top-level comments.
subject
ref
social.wips.defs#uriRef
Required
AT URI of the root social.wips.update.
text
string
Optional
Optional comment body text. Required by application semantics when facets are present; at least one of non-whitespace text or known image/video media is required overall.
maxLength: 80000 bytesmaxGraphemes: 8000 graphemesView raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"createdAt"
],
"properties": {
"text": {
"type": "string",
"maxLength": 80000,
"description": "Optional comment body text. Required by application semantics when facets are present; at least one of non-whitespace text or known image/video media is required overall.",
"maxGraphemes": 8000
},
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "Indicates human language(s) of the comment primary text content (BCP 47)."
},
"media": {
"type": "array",
"items": {
"refs": [
"social.wips.defs#image",
"social.wips.defs#video"
],
"type": "union"
},
"maxLength": 50,
"description": "Ordered media items. May freely mix images and videos using shared social.wips.defs media objects. Same app media safety policy as updates."
},
"facets": {
"type": "array",
"items": {
"ref": "app.bsky.richtext.facet",
"type": "ref"
},
"maxLength": 30,
"description": "Rich-text annotations (mentions, links, tags) over text, using official app.bsky.richtext.facet. Application validators enforce UTF-8 codepoint-aligned byte ranges, per-facet feature caps, and http(s) link URIs. Ceiling keeps worst-case DAG-CBOR under the explicit record budget."
},
"labels": {
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union",
"description": "Open union for forward compatibility. Current app authoring/validation requires com.atproto.label.defs#selfLabels when present; unknown variants are not treated as self-labels. External moderation labels stay out of the record."
},
"parent": {
"ref": "social.wips.defs#uriRef",
"type": "ref",
"description": "When present, AT URI of the immediate parent social.wips.comment. Omitted for top-level comments."
},
"subject": {
"ref": "social.wips.defs#uriRef",
"type": "ref",
"description": "AT URI of the root social.wips.update."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when the comment was originally created."
}
}
},
"description": "Native wips.social comment / reply record."
}