A document record representing a published article, blog post, or other content. Documents can belong to a publication or exist independently.
tid
Timestamp-based ID
Properties
bskyPostRef
ref
com.atproto.repo.strongRef
Optional
Strong reference to a Bluesky post.
content
union
Optional
Open union used to define the record's content. Each entry must specify a $type.
coverImage
blob
Optional
Cover image. Less than 1MB.
maxSize: 1.0 MBdescription
string
Optional
A brief description or excerpt from the document.
maxLength: 30000 bytesmaxGraphemes: 3000 graphemespath
string
Optional
Combine with site URL to construct a canonical URL to the document.
publishedAt
string
datetime
Required
Timestamp of the document's publish time.
site
string
uri
Required
Points to a publication record (at://) or a publication url (https://) for loose documents.
tags
array
of
string
Optional
Array of strings used to tag or categorize the document.
textContent
string
Optional
Plaintext representation of the document's contents. Should not contain markdown or other formatting.
title
string
Required
Title of the document.
maxLength: 5000 bytesmaxGraphemes: 500 graphemesupdatedAt
string
datetime
Optional
Timestamp of the document's last edit.
View raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"site",
"title",
"publishedAt"
],
"properties": {
"path": {
"type": "string",
"description": "Combine with site URL to construct a canonical URL to the document."
},
"site": {
"type": "string",
"format": "uri",
"description": "Points to a publication record (at://) or a publication url (https://) for loose documents."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1280,
"maxGraphemes": 128
},
"description": "Array of strings used to tag or categorize the document."
},
"title": {
"type": "string",
"maxLength": 5000,
"description": "Title of the document.",
"maxGraphemes": 500
},
"content": {
"refs": [],
"type": "union",
"closed": false,
"description": "Open union used to define the record's content. Each entry must specify a $type."
},
"updatedAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp of the document's last edit."
},
"coverImage": {
"type": "blob",
"accept": [
"image/*"
],
"maxSize": 1000000,
"description": "Cover image. Less than 1MB."
},
"bskyPostRef": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "Strong reference to a Bluesky post."
},
"description": {
"type": "string",
"maxLength": 30000,
"description": "A brief description or excerpt from the document.",
"maxGraphemes": 3000
},
"publishedAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp of the document's publish time."
},
"textContent": {
"type": "string",
"description": "Plaintext representation of the document's contents. Should not contain markdown or other formatting."
}
}
},
"description": "A document record representing a published article, blog post, or other content. Documents can belong to a publication or exist independently."
}