{
"id": "blog.brookie.vault.document",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"path",
"contentType",
"createdAt",
"updatedAt"
],
"properties": {
"path": {
"type": "string",
"maxLength": 2048,
"description": "Logical path, e.g. 'Books/The Dispossessed.md'. Looks like a file path but is not one: folder hierarchy is a projection of these strings, not a protocol concept."
},
"content": {
"type": "string",
"maxLength": 65536,
"description": "Document body, inlined when small enough. Exactly one of content or contentBlob is present."
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"updatedAt": {
"type": "string",
"format": "datetime"
},
"contentBlob": {
"type": "blob",
"accept": [
"*/*"
],
"description": "Document body as bytes: an attachment (image, audio, PDF), or a text document too large to inline."
},
"contentType": {
"type": "string",
"description": "Usually text/markdown."
}
}
},
"description": "A document in a vault. The record key is the document's permanent identity; the path is a mutable field, which is what makes a rename a one-field update rather than a delete and recreate."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}