page.corvus.contentBlocks

corvus.page

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

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)

  • page.corvus.core#register
  • page.corvus.core#sequence
  • page.corvus.core#set

Similar Lexicons

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

Lexicon Garden

@