{
"id": "org.designtxt.tokenCollection",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 512,
"description": "Human-readable name for this token collection (e.g. 'Brand Tokens', 'My Design System Q3').",
"maxGraphemes": 256
},
"createdAt": {
"type": "string",
"format": "datetime",
"maxLength": 64,
"description": "Timestamp when this collection was created."
},
"description": {
"type": "string",
"maxLength": 4096,
"description": "Optional description of this token collection's purpose or scope.",
"maxGraphemes": 1024
}
},
"description": "Root object of a token collection. Metadata fields are explicitly defined. Any additional keys are treated as tokens or groups per the DTCG 2025.10 Format specification."
},
"description": "A design tokens document following DTCG 2025.10 format. Metadata fields (name, description, createdAt) are provided for human identification. The token tree coexists at the same object level -- each remaining key is a token (has $value) or group (no $value, may contain nested tokens/groups)."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "A record containing a collection of design tokens in DTCG 2025.10 format. The record has typed metadata fields (name, description, createdAt) alongside the token tree. Token/group keys sit at the same level as metadata; atproto ignores unexpected fields, so the token tree passes through without schema-level validation."
}