A thread (topic) opened in a forum-kind channel. Written into the opener's own repo within the space. The thread carries its own body; comments are tech.tokimeki.forum.message records referencing it.
tid
Timestamp-based ID
Properties
blobs
array
of
ref
tech.tokimeki.forum.defs#image
Optional
Images placed inline in `content`. Uploaded with com.atproto.repo.uploadBlob to the author's PDS; each `content` image node carries the cid of one of these blobs.
maxLength: 20 itemschannel
string
at-uri
Required
Space record URI of the tech.tokimeki.forum.channel this thread belongs to. A channel is a mutable container, so it is referenced by URI alone (like app.bsky.graph.listitem).
content
ref
#richContent
Optional
Rich body as a ProseMirror/TipTap document tree: paragraphs, headings (2-4), lists, task lists, quotes, code blocks, tables, callouts, toggles, link cards, mentions and images. Image nodes reference an entry of `blobs` by cid. When present, `text` is the plain-text projection of this tree for search, previews and text-only clients.
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
editedAt
string
datetime
Optional
Set when the thread was edited in place (putRecord with the same rkey).
embed
union
Optional
No description available.
facets
array
of
ref
app.bsky.richtext.facet
Optional
No description available.
labels
union
Optional
Self-applied labels, e.g. for adult content.
langs
array
of
string
language
Optional
Languages of the title and text (BCP-47).
maxLength: 3 itemstags
array
of
string
Optional
No description available.
maxLength: 8 itemstext
string
Optional
No description available.
maxLength: 40000 bytesmaxGraphemes: 5000 graphemestitle
string
Required
No description available.
maxLength: 1280 bytesmaxGraphemes: 128 graphemesView raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"channel",
"title",
"createdAt"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 320,
"maxGraphemes": 32
},
"maxLength": 8
},
"text": {
"type": "string",
"maxLength": 40000,
"maxGraphemes": 5000
},
"blobs": {
"type": "array",
"items": {
"ref": "tech.tokimeki.forum.defs#image",
"type": "ref"
},
"maxLength": 20,
"description": "Images placed inline in `content`. Uploaded with com.atproto.repo.uploadBlob to the author's PDS; each `content` image node carries the cid of one of these blobs."
},
"embed": {
"refs": [
"tech.tokimeki.forum.defs#images"
],
"type": "union"
},
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "Languages of the title and text (BCP-47)."
},
"title": {
"type": "string",
"maxLength": 1280,
"maxGraphemes": 128
},
"facets": {
"type": "array",
"items": {
"ref": "app.bsky.richtext.facet",
"type": "ref"
}
},
"labels": {
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union",
"description": "Self-applied labels, e.g. for adult content."
},
"channel": {
"type": "string",
"format": "at-uri",
"description": "Space record URI of the tech.tokimeki.forum.channel this thread belongs to. A channel is a mutable container, so it is referenced by URI alone (like app.bsky.graph.listitem)."
},
"content": {
"ref": "#richContent",
"type": "ref",
"description": "Rich body as a ProseMirror/TipTap document tree: paragraphs, headings (2-4), lists, task lists, quotes, code blocks, tables, callouts, toggles, link cards, mentions and images. Image nodes reference an entry of `blobs` by cid. When present, `text` is the plain-text projection of this tree for search, previews and text-only clients."
},
"editedAt": {
"type": "string",
"format": "datetime",
"description": "Set when the thread was edited in place (putRecord with the same rkey)."
},
"createdAt": {
"type": "string",
"format": "datetime"
}
}
},
"description": "A thread (topic) opened in a forum-kind channel. Written into the opener's own repo within the space. The thread carries its own body; comments are tech.tokimeki.forum.message records referencing it."
}