app.atmobb.discussion.thread

lexicons.atmobb.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A discussion thread (topic). Lives in the author's repo, pointing at a board in a forum's repo.",
      "key": "tid",
      "record": {
        "properties": {
          "board": {
            "description": "The app.atmobb.forum.board this thread belongs to. The board URI's authority is the forum's DID.",
            "format": "at-uri",
            "type": "string"
          },
          "body": {
            "items": {
              "refs": [
                "app.atmobb.richtext.block#text",
                "app.atmobb.richtext.block#quote",
                "app.atmobb.richtext.block#code",
                "app.atmobb.richtext.block#image"
              ],
              "type": "union"
            },
            "maxLength": 200,
            "type": "array"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "editedAt": {
            "description": "When the author last edited the body (or title). Absent means never edited.",
            "format": "datetime",
            "type": "string"
          },
          "poll": {
            "ref": "#poll",
            "type": "ref"
          },
          "tags": {
            "items": {
              "maxGraphemes": 64,
              "maxLength": 640,
              "type": "string"
            },
            "maxLength": 8,
            "type": "array"
          },
          "title": {
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          }
        },
        "required": [
          "board",
          "title"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "poll": {
      "description": "An embedded poll. Votes are app.atmobb.poll.vote records referencing this thread.",
      "properties": {
        "closesAt": {
          "format": "datetime",
          "type": "string"
        },
        "multipleChoice": {
          "type": "boolean"
        },
        "options": {
          "items": {
            "maxGraphemes": 100,
            "maxLength": 1000,
            "type": "string"
          },
          "maxLength": 10,
          "minLength": 2,
          "type": "array"
        },
        "question": {
          "maxGraphemes": 300,
          "maxLength": 3000,
          "type": "string"
        }
      },
      "required": [
        "options"
      ],
      "type": "object"
    }
  },
  "id": "app.atmobb.discussion.thread",
  "lexicon": 1
}

Validate Record

Validate a record against app.atmobb.discussion.thread

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:dqnwiguwsbb6uwrm7a2rsff2
CID
bafyreibdbxgrwyhy74oceoft2k5irsb7i24r7x7gfxuwgtpuskhevigqzi
Indexed At
2026-09-02 01:43 UTC
AT-URI
at://did:plc:dqnwiguwsbb6uwrm7a2rsff2/com.atproto.lexicon.schema/app.atmobb.discussion.thread

Version History (3 versions)

Referenced Schemas (4)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • fyi.opensocial.board.thread recordnot from the namespace authority

    A thread, written by a member into a board's space from their own repo. A thread with a subject is the discussion attached to that thing (an event, say) and belongs on it rather than in the board's own list.

  • A reply in a thread. Lives in the author's repo. Flat by default; parent enables quote-chain threading.

  • 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.

  • A vote in a thread's poll. Lives in the voter's repo. One record per selected option; deleting retracts the vote.

  • A record containing an imageboard thread. Commonly referred to as the OP.

Lexicon Garden

@