page.corvus.contentBlocks

corvus.page

{
  "id": "page.corvus.contentBlocks",
  "defs": {
    "code": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "text": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The code content as a text sequence"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "language": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "Language identifier for syntax highlighting (string register, known values: javascript, typescript, python, rust, java, c, c++, c#, go)"
        },
        "syntaxHighlightingTheme": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "Optional theme hint (string register)"
        }
      },
      "description": "A code block"
    },
    "image": {
      "type": "object",
      "required": [
        "blockId",
        "image"
      ],
      "properties": {
        "alt": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "Accessibility text describing the image (string register)"
        },
        "image": {
          "type": "blob",
          "mimeType": "image/*",
          "description": "The image blob"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "aspectRatio": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "The aspect ratio of the image (register of #aspectRatio)"
        }
      },
      "description": "An image block"
    },
    "option": {
      "type": "object",
      "required": [
        "blockId",
        "label"
      ],
      "properties": {
        "color": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "Optional color hint (string register)"
        },
        "label": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "Display name of the option as a text sequence"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        }
      },
      "description": "An option for a select block"
    },
    "select": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "options": {
          "ref": "page.corvus.core#set",
          "type": "ref",
          "description": "The set of option block ids (set of #option)"
        },
        "selected": {
          "ref": "page.corvus.core#set",
          "type": "ref",
          "description": "The set of selected option block ids"
        },
        "allowMultiple": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "True if multiple options can be selected (boolean register, defaults to false)"
        }
      },
      "description": "A select block — a set of options with one or more selected"
    },
    "tagged": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "values": {
          "ref": "page.corvus.core#set",
          "type": "ref",
          "description": "The set of tag strings"
        },
        "allowed": {
          "ref": "page.corvus.core#set",
          "type": "ref",
          "description": "Optional allowlist of permitted tag strings"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        }
      },
      "description": "A tagged block — a set of string tags with an optional allowlist"
    },
    "comment": {
      "type": "object",
      "required": [
        "blockId",
        "author"
      ],
      "properties": {
        "body": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "Comment body as a child block id"
        },
        "author": {
          "type": "string",
          "format": "did",
          "description": "The DID of the comment author"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "resolved": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "True if the comment is resolved (boolean register, defaults to false)"
        },
        "reactions": {
          "ref": "page.corvus.core#set",
          "type": "ref",
          "description": "Emoji reactions on the comment (set of #reaction)"
        },
        "responseTo": {
          "refs": [
            "#commentBlockReference",
            "#commentSequenceReference",
            "#commentRegisterReference",
            "#commentOrSetReference"
          ],
          "type": "union",
          "closed": true,
          "description": "The content this comment is a response to"
        }
      },
      "description": "A comment block"
    },
    "checkbox": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "checked": {
          "ref": "page.corvus.core#register",
          "type": "ref",
          "description": "True if the checkbox is checked (boolean register, defaults to false)"
        }
      },
      "description": "A checkbox block — label content plus a checked flag"
    },
    "reaction": {
      "type": "object",
      "required": [
        "emoji",
        "author"
      ],
      "properties": {
        "emoji": {
          "type": "string",
          "description": "The emoji or short string of the reaction"
        },
        "author": {
          "type": "string",
          "format": "did",
          "description": "The DID of the reaction author"
        }
      },
      "description": "An emoji reaction with its author"
    },
    "plainText": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "text": {
          "ref": "page.corvus.core#sequence",
          "type": "ref",
          "description": "The text content as a text sequence"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        }
      },
      "description": "A plain text block"
    },
    "aspectRatio": {
      "type": "object",
      "required": [
        "width",
        "height"
      ],
      "properties": {
        "width": {
          "type": "integer",
          "minimum": 1,
          "description": "Width component of the ratio"
        },
        "height": {
          "type": "integer",
          "minimum": 1,
          "description": "Height component of the ratio"
        }
      },
      "description": "A width:height aspect ratio"
    },
    "commentBlockReference": {
      "type": "object",
      "required": [
        "blockId"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        }
      },
      "description": "A reference to a comment block"
    },
    "commentOrSetReference": {
      "type": "object",
      "required": [
        "blockId",
        "orSet",
        "valueOp"
      ],
      "properties": {
        "orSet": {
          "type": "string",
          "description": "The OR-set of the comment reference"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "valueOp": {
          "type": "string",
          "description": "The operation id of the referenced value"
        }
      },
      "description": "A reference to a comment OR-set"
    },
    "commentRegisterReference": {
      "type": "object",
      "required": [
        "blockId",
        "register",
        "valueOp"
      ],
      "properties": {
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "valueOp": {
          "type": "string",
          "description": "The operation id of the referenced value"
        },
        "register": {
          "type": "string",
          "description": "The register of the comment reference"
        }
      },
      "description": "A reference to a comment register"
    },
    "commentSequenceReference": {
      "type": "object",
      "required": [
        "blockId",
        "sequence",
        "atomStart",
        "atomEnd"
      ],
      "properties": {
        "atomEnd": {
          "type": "string",
          "description": "The end atom id of the comment reference (inclusive) - formatted as `operationId.atomIdx`"
        },
        "blockId": {
          "type": "string",
          "format": "at-uri",
          "description": "The AT-URI of this block record"
        },
        "sequence": {
          "type": "string",
          "description": "The sequence of the comment reference"
        },
        "atomStart": {
          "type": "string",
          "description": "The start atom id of the comment reference (inclusive) - formatted as `operationId.atomIdx`"
        }
      },
      "description": "A reference to a comment sequence"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Content block variants — atomic content types that compose into documents and database cells. Each sub-def is a block content shape selected by `page.corvus.block.blockType`."
}

Validate Record

Validate a record against page.corvus.contentBlocks

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

Metadata

DID
did:plc:3qc4cbzcriye72qqqodeda26
CID
bafyreifftwru3noavgdijn3hm3ocokiii36bt3mnvl6tymls52g3ybgx2q
Indexed At
2026-05-21 03:27 UTC
AT-URI
at://did:plc:3qc4cbzcriye72qqqodeda26/com.atproto.lexicon.schema/page.corvus.contentBlocks

Referenced Schemas (3)

Lexicon Garden

@