atproto blogging
1{
2 "lexicon": 1,
3 "id": "app.bsky.graph.defs",
4 "defs": {
5 "curatelist": {
6 "type": "token",
7 "description": "A list of actors used for curation purposes such as list feeds or interaction gating."
8 },
9 "listItemView": {
10 "type": "object",
11 "required": [
12 "uri",
13 "subject"
14 ],
15 "properties": {
16 "subject": {
17 "type": "ref",
18 "ref": "app.bsky.actor.defs#profileView"
19 },
20 "uri": {
21 "type": "string",
22 "format": "at-uri"
23 }
24 }
25 },
26 "listPurpose": {
27 "type": "string",
28 "knownValues": [
29 "app.bsky.graph.defs#modlist",
30 "app.bsky.graph.defs#curatelist",
31 "app.bsky.graph.defs#referencelist"
32 ]
33 },
34 "listView": {
35 "type": "object",
36 "required": [
37 "uri",
38 "cid",
39 "creator",
40 "name",
41 "purpose",
42 "indexedAt"
43 ],
44 "properties": {
45 "avatar": {
46 "type": "string",
47 "format": "uri"
48 },
49 "cid": {
50 "type": "string",
51 "format": "cid"
52 },
53 "creator": {
54 "type": "ref",
55 "ref": "app.bsky.actor.defs#profileView"
56 },
57 "description": {
58 "type": "string",
59 "maxLength": 3000,
60 "maxGraphemes": 300
61 },
62 "descriptionFacets": {
63 "type": "array",
64 "items": {
65 "type": "ref",
66 "ref": "app.bsky.richtext.facet"
67 }
68 },
69 "indexedAt": {
70 "type": "string",
71 "format": "datetime"
72 },
73 "labels": {
74 "type": "array",
75 "items": {
76 "type": "ref",
77 "ref": "com.atproto.label.defs#label"
78 }
79 },
80 "listItemCount": {
81 "type": "integer",
82 "minimum": 0
83 },
84 "name": {
85 "type": "string",
86 "minLength": 1,
87 "maxLength": 64
88 },
89 "purpose": {
90 "type": "ref",
91 "ref": "#listPurpose"
92 },
93 "uri": {
94 "type": "string",
95 "format": "at-uri"
96 },
97 "viewer": {
98 "type": "ref",
99 "ref": "#listViewerState"
100 }
101 }
102 },
103 "listViewBasic": {
104 "type": "object",
105 "required": [
106 "uri",
107 "cid",
108 "name",
109 "purpose"
110 ],
111 "properties": {
112 "avatar": {
113 "type": "string",
114 "format": "uri"
115 },
116 "cid": {
117 "type": "string",
118 "format": "cid"
119 },
120 "indexedAt": {
121 "type": "string",
122 "format": "datetime"
123 },
124 "labels": {
125 "type": "array",
126 "items": {
127 "type": "ref",
128 "ref": "com.atproto.label.defs#label"
129 }
130 },
131 "listItemCount": {
132 "type": "integer",
133 "minimum": 0
134 },
135 "name": {
136 "type": "string",
137 "minLength": 1,
138 "maxLength": 64
139 },
140 "purpose": {
141 "type": "ref",
142 "ref": "#listPurpose"
143 },
144 "uri": {
145 "type": "string",
146 "format": "at-uri"
147 },
148 "viewer": {
149 "type": "ref",
150 "ref": "#listViewerState"
151 }
152 }
153 },
154 "listViewerState": {
155 "type": "object",
156 "properties": {
157 "blocked": {
158 "type": "string",
159 "format": "at-uri"
160 },
161 "muted": {
162 "type": "boolean"
163 }
164 }
165 },
166 "modlist": {
167 "type": "token",
168 "description": "A list of actors to apply an aggregate moderation action (mute/block) on."
169 },
170 "notFoundActor": {
171 "type": "object",
172 "description": "indicates that a handle or DID could not be resolved",
173 "required": [
174 "actor",
175 "notFound"
176 ],
177 "properties": {
178 "actor": {
179 "type": "string",
180 "format": "at-identifier"
181 },
182 "notFound": {
183 "type": "boolean",
184 "const": true
185 }
186 }
187 },
188 "referencelist": {
189 "type": "token",
190 "description": "A list of actors used for only for reference purposes such as within a starter pack."
191 },
192 "relationship": {
193 "type": "object",
194 "description": "lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)",
195 "required": [
196 "did"
197 ],
198 "properties": {
199 "did": {
200 "type": "string",
201 "format": "did"
202 },
203 "followedBy": {
204 "type": "string",
205 "description": "if the actor is followed by this DID, contains the AT-URI of the follow record",
206 "format": "at-uri"
207 },
208 "following": {
209 "type": "string",
210 "description": "if the actor follows this DID, this is the AT-URI of the follow record",
211 "format": "at-uri"
212 }
213 }
214 },
215 "starterPackView": {
216 "type": "object",
217 "required": [
218 "uri",
219 "cid",
220 "record",
221 "creator",
222 "indexedAt"
223 ],
224 "properties": {
225 "cid": {
226 "type": "string",
227 "format": "cid"
228 },
229 "creator": {
230 "type": "ref",
231 "ref": "app.bsky.actor.defs#profileViewBasic"
232 },
233 "feeds": {
234 "type": "array",
235 "items": {
236 "type": "ref",
237 "ref": "app.bsky.feed.defs#generatorView"
238 },
239 "maxLength": 3
240 },
241 "indexedAt": {
242 "type": "string",
243 "format": "datetime"
244 },
245 "joinedAllTimeCount": {
246 "type": "integer",
247 "minimum": 0
248 },
249 "joinedWeekCount": {
250 "type": "integer",
251 "minimum": 0
252 },
253 "labels": {
254 "type": "array",
255 "items": {
256 "type": "ref",
257 "ref": "com.atproto.label.defs#label"
258 }
259 },
260 "list": {
261 "type": "ref",
262 "ref": "#listViewBasic"
263 },
264 "listItemsSample": {
265 "type": "array",
266 "items": {
267 "type": "ref",
268 "ref": "#listItemView"
269 },
270 "maxLength": 12
271 },
272 "record": {
273 "type": "unknown"
274 },
275 "uri": {
276 "type": "string",
277 "format": "at-uri"
278 }
279 }
280 },
281 "starterPackViewBasic": {
282 "type": "object",
283 "required": [
284 "uri",
285 "cid",
286 "record",
287 "creator",
288 "indexedAt"
289 ],
290 "properties": {
291 "cid": {
292 "type": "string",
293 "format": "cid"
294 },
295 "creator": {
296 "type": "ref",
297 "ref": "app.bsky.actor.defs#profileViewBasic"
298 },
299 "indexedAt": {
300 "type": "string",
301 "format": "datetime"
302 },
303 "joinedAllTimeCount": {
304 "type": "integer",
305 "minimum": 0
306 },
307 "joinedWeekCount": {
308 "type": "integer",
309 "minimum": 0
310 },
311 "labels": {
312 "type": "array",
313 "items": {
314 "type": "ref",
315 "ref": "com.atproto.label.defs#label"
316 }
317 },
318 "listItemCount": {
319 "type": "integer",
320 "minimum": 0
321 },
322 "record": {
323 "type": "unknown"
324 },
325 "uri": {
326 "type": "string",
327 "format": "at-uri"
328 }
329 }
330 }
331 }
332}