document.json
1{
2 "defs": {
3 "contributor": {
4 "properties": {
5 "did": {
6 "format": "did",
7 "type": "string"
8 },
9 "displayName": {
10 "maxGraphemes": 100,
11 "maxLength": 1000,
12 "type": "string"
13 },
14 "role": {
15 "maxGraphemes": 100,
16 "maxLength": 1000,
17 "type": "string"
18 }
19 },
20 "required": [
21 "did"
22 ],
23 "type": "object"
24 },
25 "main": {
26 "description": "A document record representing a published article, blog post, or other content. Documents can belong to a publication or exist independently.",
27 "key": "tid",
28 "record": {
29 "properties": {
30 "bskyPostRef": {
31 "description": "Strong reference to a Bluesky post. Useful to keep track of comments off-platform.",
32 "ref": "com.atproto.repo.strongRef",
33 "type": "ref"
34 },
35 "content": {
36 "closed": false,
37 "description": "Open union used to define the record's content. Each entry must specify a $type and may be extended with other lexicons to support additional content formats.",
38 "refs": [],
39 "type": "union"
40 },
41 "contributors": {
42 "items": {
43 "ref": "#contributor",
44 "type": "ref"
45 },
46 "type": "array"
47 },
48 "coverImage": {
49 "accept": [
50 "image/*"
51 ],
52 "description": "Image to used for thumbnail or cover image. Less than 1MB is size.",
53 "maxSize": 1000000,
54 "type": "blob"
55 },
56 "description": {
57 "description": "A brief description or excerpt from the document.",
58 "maxGraphemes": 3000,
59 "maxLength": 30000,
60 "type": "string"
61 },
62 "labels": {
63 "description": "Self-label values for this post. Effectively content warnings.",
64 "refs": [
65 "com.atproto.label.defs#selfLabels"
66 ],
67 "type": "union"
68 },
69 "links": {
70 "description": "Array of values describing relationships between this document and external resources",
71 "refs": [],
72 "type": "union"
73 },
74 "path": {
75 "description": "Combine with site or publication url to construct a canonical URL to the document. Prepend with a leading slash.",
76 "type": "string"
77 },
78 "publishedAt": {
79 "description": "Timestamp of the documents publish time.",
80 "format": "datetime",
81 "type": "string"
82 },
83 "site": {
84 "description": "Points to a publication record (at://) or a publication url (https://) for loose documents. Avoid trailing slashes.",
85 "format": "uri",
86 "type": "string"
87 },
88 "tags": {
89 "description": "Array of strings used to tag or categorize the document. Avoid prepending tags with hashtags.",
90 "items": {
91 "maxGraphemes": 128,
92 "maxLength": 1280,
93 "type": "string"
94 },
95 "type": "array"
96 },
97 "textContent": {
98 "description": "Plaintext representation of the documents contents. Should not contain markdown or other formatting.",
99 "type": "string"
100 },
101 "title": {
102 "description": "Title of the document.",
103 "maxGraphemes": 500,
104 "maxLength": 5000,
105 "type": "string"
106 },
107 "updatedAt": {
108 "description": "Timestamp of the documents last edit.",
109 "format": "datetime",
110 "type": "string"
111 }
112 },
113 "required": [
114 "site",
115 "title",
116 "publishedAt"
117 ],
118 "type": "object"
119 },
120 "type": "record"
121 }
122 },
123 "id": "site.standard.document",
124 "lexicon": 1
125}