app.atmobb.discussion.getThreadPage
One page of a thread: the thread, total reply count, and a page of replies in chronological order, with author profiles and worn stamps hydrated. The thread carries its moderation flags for the viewing forum (hidden, locked, pinned).
Details · query
| Kind | query |
|---|---|
| Authority | discussion.atmobb.app |
| Indexed |
Checks
Validunlimited-stringdefs.main.parameters.properties.cursorNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.cursorNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "One page of a thread: the thread, total reply count, and a page of replies in chronological order, with author profiles and worn stamps hydrated. The thread carries its moderation flags for the viewing forum (hidden, locked, pinned).",
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cursor": {
"type": "string"
},
"poll": {
"description": "Vote counts per option, voter total, and the viewer's votes, when the thread has a poll.",
"type": "unknown"
},
"replies": {
"description": "Each item is shaped like #postView.",
"items": {
"type": "unknown"
},
"type": "array"
},
"replyCount": {
"type": "integer"
},
"replyIndex": {
"type": "integer"
},
"thread": {
"description": "Shaped like #postView, plus origin and the moderation flags hidden, locked, lockedAt, and pinned.",
"type": "unknown"
}
},
"required": [
"replies"
],
"type": "object"
}
},
"parameters": {
"properties": {
"cursor": {
"type": "string"
},
"forum": {
"format": "did",
"type": "string"
},
"limit": {
"default": 25,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"reply": {
"description": "Return the page holding this reply instead of the cursor's page. Its chronological position comes back as replyIndex.",
"format": "at-uri",
"type": "string"
},
"thread": {
"format": "at-uri",
"type": "string"
},
"viewer": {
"description": "The reader, for their own poll votes.",
"format": "did",
"type": "string"
}
},
"required": [
"thread",
"forum"
],
"type": "params"
},
"type": "query"
},
"postView": {
"description": "The fields a thread and each reply share: the post itself and its author, hydrated.",
"properties": {
"author": {
"format": "did",
"type": "string"
},
"authorPosts": {
"description": "Deprecated and no longer rendered: the author's post count on this forum. Kept for older clients.",
"type": "integer"
},
"authorProfile": {
"description": "The author's app.atmobb.actor.profile record, when they have one.",
"type": "unknown"
},
"authorStamps": {
"description": "The stamps the author wears on the viewing forum, in order.",
"items": {
"ref": "app.atmobb.forum.getStamps#trayEntry",
"type": "ref"
},
"maxLength": 6,
"type": "array"
},
"authorTotalPosts": {
"description": "Deprecated and no longer rendered: the author's post count across every indexed forum. Kept for older clients.",
"type": "integer"
},
"cid": {
"format": "cid",
"type": "string"
},
"indexedAt": {
"format": "datetime",
"type": "string"
},
"uri": {
"format": "at-uri",
"type": "string"
},
"value": {
"description": "The thread or reply record.",
"type": "unknown"
}
},
"required": [
"uri",
"author",
"value"
],
"type": "object"
}
},
"id": "app.atmobb.discussion.getThreadPage",
"lexicon": 1
}