{
"id": "social.showcase.collection.collection",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"tags",
"type",
"items",
"visibility",
"createdAt"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"description": "Collection name"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 64
},
"maxLength": 10,
"description": "Tags for discovery (max 10)"
},
"type": {
"type": "string",
"maxLength": 20,
"description": "Collection type: 'custom' = regular collection (user's owned items only), 'bookmark' = bookmark collection (can include other users' items as references)",
"knownValues": [
"custom",
"bookmark"
]
},
"items": {
"type": "array",
"items": {
"ref": "social.showcase.defs#collectionItem",
"type": "ref"
},
"maxLength": 500,
"description": "Ordered list of items (max 500)"
},
"notes": {
"type": "string",
"maxLength": 2000,
"description": "Personal notes about the collection"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"updatedAt": {
"type": "string",
"format": "datetime"
},
"coverImage": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg",
"image/webp"
],
"maxSize": 5000000,
"description": "Optional custom cover image (1600x900px max, auto-generated if not provided)"
},
"visibility": {
"type": "string",
"maxLength": 10,
"knownValues": [
"public",
"private"
]
},
"description": {
"type": "string",
"maxLength": 1000,
"description": "Collection description"
},
"schemaVersion": {
"type": "integer",
"default": 1,
"description": "Schema version for migrations (defaults to 1 if missing)"
}
}
},
"description": "Collection record"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}