app.bsky.actor.defs

bsky-lexicons.bsky.social

Schema Diff

+10 -1

From

CID
bafyreielcp7ccfx...
Indexed At
2026-07-16 14:58 UTC
View this version

To

CID
bafyreiaxduxpwdp...
Indexed At
2026-08-05 15:08 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "app.bsky.actor.defs#viewerState.mutedOnlyQuoteposts" }
  • AddedVertex AddedVertex { vertex_id: "app.bsky.actor.defs#viewerState.mutedOnlyReposts" }
  • AddedEdge AddedEdge { src: "app.bsky.actor.defs#viewerState", tgt: "app.bsky.actor.defs#viewerState.mutedOnlyQuoteposts", kind: "prop", name: Some("mutedOnlyQuoteposts") }
  • AddedEdge AddedEdge { src: "app.bsky.actor.defs#viewerState", tgt: "app.bsky.actor.defs#viewerState.mutedOnlyReposts", kind: "prop", name: Some("mutedOnlyReposts") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.bsky.actor.defs#viewerState.mutedOnlyQuoteposts" }
  • AddedVertex { vertex_id: "app.bsky.actor.defs#viewerState.mutedOnlyReposts" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.bsky.actor.defs#viewerState", tgt: "app.bsky.actor.defs#viewerState.mutedOnlyQuoteposts", kind: "prop", name: Some("mutedOnlyQuoteposts") }
  • Non-breaking: AddedEdge { src: "app.bsky.actor.defs#viewerState", tgt: "app.bsky.actor.defs#viewerState.mutedOnlyReposts", kind: "prop", name: Some("mutedOnlyReposts") }
1 1
{
2 2
  "id": "app.bsky.actor.defs",
3 3
  "defs": {
4 4
    "nux": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "id",
8 8
        "completed"
9 9
      ],
10 10
      "properties": {
11 11
        "id": {
12 12
          "type": "string",
13 13
          "maxLength": 100
14 14
        },
15 15
        "data": {
16 16
          "type": "string",
17 17
          "maxLength": 3000,
18 18
          "description": "Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters.",
19 19
          "maxGraphemes": 300
20 20
        },
21 21
        "completed": {
22 22
          "type": "boolean",
23 23
          "default": false
24 24
        },
25 25
        "expiresAt": {
26 26
          "type": "string",
27 27
          "format": "datetime",
28 28
          "description": "The date and time at which the NUX will expire and should be considered completed."
29 29
        }
30 30
      },
31 31
      "description": "A new user experiences (NUX) storage object"
32 32
    },
33 33
    "mutedWord": {
34 34
      "type": "object",
35 35
      "required": [
36 36
        "value",
37 37
        "targets"
38 38
      ],
39 39
      "properties": {
40 40
        "id": {
41 41
          "type": "string"
42 42
        },
43 43
        "value": {
44 44
          "type": "string",
45 45
          "maxLength": 10000,
46 46
          "description": "The muted word itself.",
47 47
          "maxGraphemes": 1000
48 48
        },
49 49
        "targets": {
50 50
          "type": "array",
51 51
          "items": {
52 52
            "ref": "app.bsky.actor.defs#mutedWordTarget",
53 53
            "type": "ref"
54 54
          },
55 55
          "description": "The intended targets of the muted word."
56 56
        },
57 57
        "expiresAt": {
58 58
          "type": "string",
59 59
          "format": "datetime",
60 60
          "description": "The date and time at which the muted word will expire and no longer be applied."
61 61
        },
62 62
        "actorTarget": {
63 63
          "type": "string",
64 64
          "default": "all",
65 65
          "description": "Groups of users to apply the muted word to. If undefined, applies to all users.",
66 66
          "knownValues": [
67 67
            "all",
68 68
            "exclude-following"
69 69
          ]
70 70
        }
71 71
      },
72 72
      "description": "A word that the account owner has muted."
73 73
    },
74 74
    "savedFeed": {
75 75
      "type": "object",
76 76
      "required": [
77 77
        "id",
78 78
        "type",
79 79
        "value",
80 80
        "pinned"
81 81
      ],
82 82
      "properties": {
83 83
        "id": {
84 84
          "type": "string"
85 85
        },
86 86
        "type": {
87 87
          "type": "string",
88 88
          "knownValues": [
89 89
            "feed",
90 90
            "list",
91 91
            "timeline"
92 92
          ]
93 93
        },
94 94
        "value": {
95 95
          "type": "string"
96 96
        },
97 97
        "pinned": {
98 98
          "type": "boolean"
99 99
        }
100 100
      }
101 101
    },
102 102
    "statusView": {
103 103
      "type": "object",
104 104
      "required": [
105 105
        "status",
106 106
        "record"
107 107
      ],
108 108
      "properties": {
109 109
        "cid": {
110 110
          "type": "string",
111 111
          "format": "cid"
112 112
        },
113 113
        "uri": {
114 114
          "type": "string",
115 115
          "format": "at-uri"
116 116
        },
117 117
        "embed": {
118 118
          "refs": [
119 119
            "app.bsky.embed.external#view"
120 120
          ],
121 121
          "type": "union",
122 122
          "description": "An optional embed associated with the status."
123 123
        },
124 124
        "labels": {
125 125
          "type": "array",
126 126
          "items": {
127 127
            "ref": "com.atproto.label.defs#label",
128 128
            "type": "ref"
129 129
          }
130 130
        },
131 131
        "record": {
132 132
          "type": "unknown"
133 133
        },
134 134
        "status": {
135 135
          "type": "string",
136 136
          "description": "The status for the account.",
137 137
          "knownValues": [
138 138
            "app.bsky.actor.status#live"
139 139
          ]
140 140
        },
141 141
        "isActive": {
142 142
          "type": "boolean",
143 143
          "description": "True if the status is not expired, false if it is expired. Only present if expiration was set."
144 144
        },
145 145
        "expiresAt": {
146 146
          "type": "string",
147 147
          "format": "datetime",
148 148
          "description": "The date when this status will expire. The application might choose to no longer return the status after expiration."
149 149
        },
150 150
        "isDisabled": {
151 151
          "type": "boolean",
152 152
          "description": "True if the user's go-live access has been disabled by a moderator, false otherwise."
153 153
        }
154 154
      }
155 155
    },
156 156
    "preferences": {
157 157
      "type": "array",
158 158
      "items": {
159 159
        "refs": [
160 160
          "#adultContentPref",
161 161
          "#contentLabelPref",
162 162
          "#savedFeedsPref",
163 163
          "#savedFeedsPrefV2",
164 164
          "#personalDetailsPref",
165 165
          "#declaredAgePref",
166 166
          "#feedViewPref",
167 167
          "#threadViewPref",
168 168
          "#interestsPref",
169 169
          "#mutedWordsPref",
170 170
          "#hiddenPostsPref",
171 171
          "#bskyAppStatePref",
172 172
          "#labelersPref",
173 173
          "#postInteractionSettingsPref",
174 174
          "#verificationPrefs",
175 175
          "#liveEventPreferences"
176 176
        ],
177 177
        "type": "union"
178 178
      }
179 179
    },
180 180
    "profileView": {
181 181
      "type": "object",
182 182
      "required": [
183 183
        "did",
184 184
        "handle"
185 185
      ],
186 186
      "properties": {
187 187
        "did": {
188 188
          "type": "string",
189 189
          "format": "did"
190 190
        },
191 191
        "debug": {
192 192
          "type": "unknown",
193 193
          "description": "Debug information for internal development"
194 194
        },
195 195
        "avatar": {
196 196
          "type": "string",
197 197
          "format": "uri"
198 198
        },
199 199
        "handle": {
200 200
          "type": "string",
201 201
          "format": "handle"
202 202
        },
203 203
        "labels": {
204 204
          "type": "array",
205 205
          "items": {
206 206
            "ref": "com.atproto.label.defs#label",
207 207
            "type": "ref"
208 208
          }
209 209
        },
210 210
        "status": {
211 211
          "ref": "#statusView",
212 212
          "type": "ref"
213 213
        },
214 214
        "viewer": {
215 215
          "ref": "#viewerState",
216 216
          "type": "ref"
217 217
        },
218 218
        "pronouns": {
219 219
          "type": "string"
220 220
        },
221 221
        "createdAt": {
222 222
          "type": "string",
223 223
          "format": "datetime"
224 224
        },
225 225
        "indexedAt": {
226 226
          "type": "string",
227 227
          "format": "datetime"
228 228
        },
229 229
        "associated": {
230 230
          "ref": "#profileAssociated",
231 231
          "type": "ref"
232 232
        },
233 233
        "description": {
234 234
          "type": "string",
235 235
          "maxLength": 2560,
236 236
          "maxGraphemes": 256
237 237
        },
238 238
        "displayName": {
239 239
          "type": "string",
240 240
          "maxLength": 640,
241 241
          "maxGraphemes": 64
242 242
        },
243 243
        "verification": {
244 244
          "ref": "#verificationState",
245 245
          "type": "ref"
246 246
        }
247 247
      }
248 248
    },
249 249
    "viewerState": {
250 250
      "type": "object",
251 251
      "properties": {
252 252
        "muted": {
253 -
          "type": "boolean"
253 +
          "type": "boolean",
254 +
          "description": "Whether the account is fully muted, directly or via a mutelist. False when the mute is scoped to specific kinds; see mutedOnlyReposts and mutedOnlyQuoteposts."
254 255
        },
255 256
        "blocking": {
256 257
          "type": "string",
257 258
          "format": "at-uri"
258 259
        },
259 260
        "blockedBy": {
260 261
          "type": "boolean"
261 262
        },
262 263
        "following": {
263 264
          "type": "string",
264 265
          "format": "at-uri"
265 266
        },
266 267
        "followedBy": {
267 268
          "type": "string",
268 269
          "format": "at-uri"
269 270
        },
270 271
        "mutedByList": {
271 272
          "ref": "app.bsky.graph.defs#listViewBasic",
272 273
          "type": "ref"
273 274
        },
274 275
        "blockingByList": {
275 276
          "ref": "app.bsky.graph.defs#listViewBasic",
276 277
          "type": "ref"
277 278
        },
278 279
        "knownFollowers": {
279 280
          "ref": "#knownFollowers",
280 281
          "type": "ref",
281 282
          "description": "This property is present only in selected cases, as an optimization."
282 283
        },
284 +
        "mutedOnlyReposts": {
285 +
          "type": "boolean",
286 +
          "description": "Whether the account's reposts are muted. Scoped mutes are exclusive with muted: this can be true while muted is false. If muted is true, this will be false."
287 +
        },
288 +
        "mutedOnlyQuoteposts": {
289 +
          "type": "boolean",
290 +
          "description": "Whether the account's quote posts are muted. Scoped mutes are exclusive with muted: this can be true while muted is false. If muted is true, this will be false."
291 +
        },
283 292
        "activitySubscription": {
284 293
          "ref": "app.bsky.notification.defs#activitySubscription",
285 294
          "type": "ref",
286 295
          "description": "This property is present only in selected cases, as an optimization."
287 296
        }
288 297
      },
289 298
      "description": "Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests."
290 299
    },
291 300
    "feedViewPref": {
292 301
      "type": "object",
293 302
      "required": [
294 303
        "feed"
295 304
      ],
296 305
      "properties": {
297 306
        "feed": {
298 307
          "type": "string",
299 308
          "description": "The URI of the feed, or an identifier which describes the feed."
300 309
        },
301 310
        "hideReplies": {
302 311
          "type": "boolean",
303 312
          "description": "Hide replies in the feed."
304 313
        },
305 314
        "hideReposts": {
306 315
          "type": "boolean",
307 316
          "description": "Hide reposts in the feed."
308 317
        },
309 318
        "hideQuotePosts": {
310 319
          "type": "boolean",
311 320
          "description": "Hide quote posts in the feed."
312 321
        },
313 322
        "hideRepliesByLikeCount": {
314 323
          "type": "integer",
315 324
          "description": "Hide replies in the feed if they do not have this number of likes."
316 325
        },
317 326
        "hideRepliesByUnfollowed": {
318 327
          "type": "boolean",
319 328
          "default": true,
320 329
          "description": "Hide replies in the feed if they are not by followed users."
321 330
        }
322 331
      }
323 332
    },
324 333
    "labelersPref": {
325 334
      "type": "object",
326 335
      "required": [
327 336
        "labelers"
328 337
      ],
329 338
      "properties": {
330 339
        "labelers": {
331 340
          "type": "array",
332 341
          "items": {
333 342
            "ref": "#labelerPrefItem",
334 343
            "type": "ref"
335 344
          }
336 345
        }
337 346
      }
338 347
    },
339 348
    "interestsPref": {
340 349
      "type": "object",
341 350
      "required": [
342 351
        "tags"
343 352
      ],
344 353
      "properties": {
345 354
        "tags": {
346 355
          "type": "array",
347 356
          "items": {
348 357
            "type": "string",
349 358
            "maxLength": 640,
350 359
            "maxGraphemes": 64
351 360
          },
352 361
          "maxLength": 100,
353 362
          "description": "A list of tags which describe the account owner's interests gathered during onboarding."
354 363
        }
355 364
      }
356 365
    },
357 366
    "knownFollowers": {
358 367
      "type": "object",
359 368
      "required": [
360 369
        "count",
361 370
        "followers"
362 371
      ],
363 372
      "properties": {
364 373
        "count": {
365 374
          "type": "integer"
366 375
        },
367 376
        "followers": {
368 377
          "type": "array",
369 378
          "items": {
370 379
            "ref": "#profileViewBasic",
371 380
            "type": "ref"
372 381
          },
373 382
          "maxLength": 5,
374 383
          "minLength": 0
375 384
        }
376 385
      },
377 386
      "description": "The subject's followers whom you also follow"
378 387
    },
379 388
    "mutedWordsPref": {
380 389
      "type": "object",
381 390
      "required": [
382 391
        "items"
383 392
      ],
384 393
      "properties": {
385 394
        "items": {
386 395
          "type": "array",
387 396
          "items": {
388 397
            "ref": "app.bsky.actor.defs#mutedWord",
389 398
            "type": "ref"
390 399
          },
391 400
          "description": "A list of words the account owner has muted."
392 401
        }
393 402
      }
394 403
    },
395 404
    "savedFeedsPref": {
396 405
      "type": "object",
397 406
      "required": [
398 407
        "pinned",
399 408
        "saved"
400 409
      ],
401 410
      "properties": {
402 411
        "saved": {
403 412
          "type": "array",
404 413
          "items": {
405 414
            "type": "string",
406 415
            "format": "at-uri"
407 416
          }
408 417
        },
409 418
        "pinned": {
410 419
          "type": "array",
411 420
          "items": {
412 421
            "type": "string",
413 422
            "format": "at-uri"
414 423
          }
415 424
        },
416 425
        "timelineIndex": {
417 426
          "type": "integer"
418 427
        }
419 428
      }
420 429
    },
421 430
    "threadViewPref": {
422 431
      "type": "object",
423 432
      "properties": {
424 433
        "sort": {
425 434
          "type": "string",
426 435
          "description": "Sorting mode for threads.",
427 436
          "knownValues": [
428 437
            "oldest",
429 438
            "newest",
430 439
            "most-likes",
431 440
            "random",
432 441
            "hotness"
433 442
          ]
434 443
        }
435 444
      }
436 445
    },
437 446
    "declaredAgePref": {
438 447
      "type": "object",
439 448
      "properties": {
440 449
        "isOverAge13": {
441 450
          "type": "boolean",
442 451
          "description": "Indicates if the user has declared that they are over 13 years of age."
443 452
        },
444 453
        "isOverAge16": {
445 454
          "type": "boolean",
446 455
          "description": "Indicates if the user has declared that they are over 16 years of age."
447 456
        },
448 457
        "isOverAge18": {
449 458
          "type": "boolean",
450 459
          "description": "Indicates if the user has declared that they are over 18 years of age."
451 460
        }
452 461
      },
453 462
      "description": "Read-only preference containing value(s) inferred from the user's declared birthdate. Absence of this preference object in the response indicates that the user has not made a declaration."
454 463
    },
455 464
    "hiddenPostsPref": {
456 465
      "type": "object",
457 466
      "required": [
458 467
        "items"
459 468
      ],
460 469
      "properties": {
461 470
        "items": {
462 471
          "type": "array",
463 472
          "items": {
464 473
            "type": "string",
465 474
            "format": "at-uri"
466 475
          },
467 476
          "description": "A list of URIs of posts the account owner has hidden."
468 477
        }
469 478
      }
470 479
    },
471 480
    "labelerPrefItem": {
472 481
      "type": "object",
473 482
      "required": [
474 483
        "did"
475 484
      ],
476 485
      "properties": {
477 486
        "did": {
478 487
          "type": "string",
479 488
          "format": "did"
480 489
        }
481 490
      }
482 491
    },
483 492
    "mutedWordTarget": {
484 493
      "type": "string",
485 494
      "maxLength": 640,
486 495
      "knownValues": [
487 496
        "content",
488 497
        "tag"
489 498
      ],
490 499
      "maxGraphemes": 64
491 500
    },
492 501
    "adultContentPref": {
493 502
      "type": "object",
494 503
      "required": [
495 504
        "enabled"
496 505
      ],
497 506
      "properties": {
498 507
        "enabled": {
499 508
          "type": "boolean",
500 509
          "default": false
501 510
        }
502 511
      }
503 512
    },
504 513
    "bskyAppStatePref": {
505 514
      "type": "object",
506 515
      "properties": {
507 516
        "nuxs": {
508 517
          "type": "array",
509 518
          "items": {
510 519
            "ref": "app.bsky.actor.defs#nux",
511 520
            "type": "ref"
512 521
          },
513 522
          "maxLength": 100,
514 523
          "description": "Storage for NUXs the user has encountered."
515 524
        },
516 525
        "isBetaUser": {
517 526
          "type": "boolean",
518 527
          "description": "Indicates if the user is participating in the beta features program."
519 528
        },
520 529
        "queuedNudges": {
521 530
          "type": "array",
522 531
          "items": {
523 532
            "type": "string",
524 533
            "maxLength": 100
525 534
          },
526 535
          "maxLength": 1000,
527 536
          "description": "An array of tokens which identify nudges (modals, popups, tours, highlight dots) that should be shown to the user."
528 537
        },
529 538
        "activeProgressGuide": {
530 539
          "ref": "#bskyAppProgressGuide",
531 540
          "type": "ref"
532 541
        }
533 542
      },
534 543
      "description": "A grab bag of state that's specific to the bsky.app program. Third-party apps shouldn't use this."
535 544
    },
536 545
    "contentLabelPref": {
537 546
      "type": "object",
538 547
      "required": [
539 548
        "label",
540 549
        "visibility"
541 550
      ],
542 551
      "properties": {
543 552
        "label": {
544 553
          "type": "string"
545 554
        },
546 555
        "labelerDid": {
547 556
          "type": "string",
548 557
          "format": "did",
549 558
          "description": "Which labeler does this preference apply to? If undefined, applies globally."
550 559
        },
551 560
        "visibility": {
552 561
          "type": "string",
553 562
          "knownValues": [
554 563
            "ignore",
555 564
            "show",
556 565
            "warn",
557 566
            "hide"
558 567
          ]
559 568
        }
560 569
      }
561 570
    },
562 571
    "profileViewBasic": {
563 572
      "type": "object",
564 573
      "required": [
565 574
        "did",
566 575
        "handle"
567 576
      ],
568 577
      "properties": {
569 578
        "did": {
570 579
          "type": "string",
571 580
          "format": "did"
572 581
        },
573 582
        "debug": {
574 583
          "type": "unknown",
575 584
          "description": "Debug information for internal development"
576 585
        },
577 586
        "avatar": {
578 587
          "type": "string",
579 588
          "format": "uri"
580 589
        },
581 590
        "handle": {
582 591
          "type": "string",
583 592
          "format": "handle"
584 593
        },
585 594
        "labels": {
586 595
          "type": "array",
587 596
          "items": {
588 597
            "ref": "com.atproto.label.defs#label",
589 598
            "type": "ref"
590 599
          }
591 600
        },
592 601
        "status": {
593 602
          "ref": "#statusView",
594 603
          "type": "ref"
595 604
        },
596 605
        "viewer": {
597 606
          "ref": "#viewerState",
598 607
          "type": "ref"
599 608
        },
600 609
        "pronouns": {
601 610
          "type": "string"
602 611
        },
603 612
        "createdAt": {
604 613
          "type": "string",
605 614
          "format": "datetime"
606 615
        },
607 616
        "associated": {
608 617
          "ref": "#profileAssociated",
609 618
          "type": "ref"
610 619
        },
611 620
        "displayName": {
612 621
          "type": "string",
613 622
          "maxLength": 640,
614 623
          "maxGraphemes": 64
615 624
        },
616 625
        "verification": {
617 626
          "ref": "#verificationState",
618 627
          "type": "ref"
619 628
        }
620 629
      }
621 630
    },
622 631
    "savedFeedsPrefV2": {
623 632
      "type": "object",
624 633
      "required": [
625 634
        "items"
626 635
      ],
627 636
      "properties": {
628 637
        "items": {
629 638
          "type": "array",
630 639
          "items": {
631 640
            "ref": "app.bsky.actor.defs#savedFeed",
632 641
            "type": "ref"
633 642
          }
634 643
        }
635 644
      }
636 645
    },
637 646
    "verificationView": {
638 647
      "type": "object",
639 648
      "required": [
640 649
        "issuer",
641 650
        "uri",
642 651
        "isValid",
643 652
        "createdAt"
644 653
      ],
645 654
      "properties": {
646 655
        "uri": {
647 656
          "type": "string",
648 657
          "format": "at-uri",
649 658
          "description": "The AT-URI of the verification record."
650 659
        },
651 660
        "issuer": {
652 661
          "type": "string",
653 662
          "format": "did",
654 663
          "description": "The user who issued this verification."
655 664
        },
656 665
        "isValid": {
657 666
          "type": "boolean",
658 667
          "description": "True if the verification passes validation, otherwise false."
659 668
        },
660 669
        "createdAt": {
661 670
          "type": "string",
662 671
          "format": "datetime",
663 672
          "description": "Timestamp when the verification was created."
664 673
        },
665 674
        "issuerHandle": {
666 675
          "type": "string",
667 676
          "format": "handle",
668 677
          "description": "The handle of the issuer."
669 678
        },
670 679
        "issuerDisplayName": {
671 680
          "type": "string",
672 681
          "description": "The display name of the issuer."
673 682
        }
674 683
      },
675 684
      "description": "An individual verification for an associated subject."
676 685
    },
677 686
    "profileAssociated": {
678 687
      "type": "object",
679 688
      "properties": {
680 689
        "chat": {
681 690
          "ref": "#profileAssociatedChat",
682 691
          "type": "ref"
683 692
        },
684 693
        "germ": {
685 694
          "ref": "#profileAssociatedGerm",
686 695
          "type": "ref"
687 696
        },
688 697
        "lists": {
689 698
          "type": "integer"
690 699
        },
691 700
        "labeler": {
692 701
          "type": "boolean"
693 702
        },
694 703
        "feedgens": {
695 704
          "type": "integer"
696 705
        },
697 706
        "starterPacks": {
698 707
          "type": "integer"
699 708
        },
700 709
        "activitySubscription": {
701 710
          "ref": "#profileAssociatedActivitySubscription",
702 711
          "type": "ref"
703 712
        }
704 713
      }
705 714
    },
706 715
    "verificationPrefs": {
707 716
      "type": "object",
708 717
      "required": [],
709 718
      "properties": {
710 719
        "hideBadges": {
711 720
          "type": "boolean",
712 721
          "default": false,
713 722
          "description": "Hide the blue check badges for verified accounts and trusted verifiers."
714 723
        }
715 724
      },
716 725
      "description": "Preferences for how verified accounts appear in the app."
717 726
    },
718 727
    "verificationState": {
719 728
      "type": "object",
720 729
      "required": [
721 730
        "verifications",
722 731
        "verifiedStatus",
723 732
        "trustedVerifierStatus"
724 733
      ],
725 734
      "properties": {
726 735
        "verifications": {
727 736
          "type": "array",
728 737
          "items": {
729 738
            "ref": "#verificationView",
730 739
            "type": "ref"
731 740
          },
732 741
          "description": "All verifications issued by trusted verifiers on behalf of this user. Verifications by untrusted verifiers are not included."
733 742
        },
734 743
        "verifiedStatus": {
735 744
          "type": "string",
736 745
          "description": "The user's status as a verified account.",
737 746
          "knownValues": [
738 747
            "valid",
739 748
            "invalid",
740 749
            "none"
741 750
          ]
742 751
        },
743 752
        "trustedVerifierStatus": {
744 753
          "type": "string",
745 754
          "description": "The user's status as a trusted verifier.",
746 755
          "knownValues": [
747 756
            "valid",
748 757
            "invalid",
749 758
            "none"
750 759
          ]
751 760
        }
752 761
      },
753 762
      "description": "Represents the verification information about the user this object is attached to."
754 763
    },
755 764
    "personalDetailsPref": {
756 765
      "type": "object",
757 766
      "properties": {
758 767
        "birthDate": {
759 768
          "type": "string",
760 769
          "format": "datetime",
761 770
          "description": "The birth date of account owner."
762 771
        }
763 772
      }
764 773
    },
765 774
    "profileViewDetailed": {
766 775
      "type": "object",
767 776
      "required": [
768 777
        "did",
769 778
        "handle"
770 779
      ],
771 780
      "properties": {
772 781
        "did": {
773 782
          "type": "string",
774 783
          "format": "did"
775 784
        },
776 785
        "debug": {
777 786
          "type": "unknown",
778 787
          "description": "Debug information for internal development"
779 788
        },
780 789
        "avatar": {
781 790
          "type": "string",
782 791
          "format": "uri"
783 792
        },
784 793
        "banner": {
785 794
          "type": "string",
786 795
          "format": "uri"
787 796
        },
788 797
        "handle": {
789 798
          "type": "string",
790 799
          "format": "handle"
791 800
        },
792 801
        "labels": {
793 802
          "type": "array",
794 803
          "items": {
795 804
            "ref": "com.atproto.label.defs#label",
796 805
            "type": "ref"
797 806
          }
798 807
        },
799 808
        "status": {
800 809
          "ref": "#statusView",
801 810
          "type": "ref"
802 811
        },
803 812
        "viewer": {
804 813
          "ref": "#viewerState",
805 814
          "type": "ref"
806 815
        },
807 816
        "website": {
808 817
          "type": "string",
809 818
          "format": "uri"
810 819
        },
811 820
        "pronouns": {
812 821
          "type": "string"
813 822
        },
814 823
        "createdAt": {
815 824
          "type": "string",
816 825
          "format": "datetime"
817 826
        },
818 827
        "indexedAt": {
819 828
          "type": "string",
820 829
          "format": "datetime"
821 830
        },
822 831
        "associated": {
823 832
          "ref": "#profileAssociated",
824 833
          "type": "ref"
825 834
        },
826 835
        "pinnedPost": {
827 836
          "ref": "com.atproto.repo.strongRef",
828 837
          "type": "ref"
829 838
        },
830 839
        "postsCount": {
831 840
          "type": "integer"
832 841
        },
833 842
        "description": {
834 843
          "type": "string",
835 844
          "maxLength": 2560,
836 845
          "maxGraphemes": 256
837 846
        },
838 847
        "displayName": {
839 848
          "type": "string",
840 849
          "maxLength": 640,
841 850
          "maxGraphemes": 64
842 851
        },
843 852
        "followsCount": {
844 853
          "type": "integer"
845 854
        },
846 855
        "verification": {
847 856
          "ref": "#verificationState",
848 857
          "type": "ref"
849 858
        },
850 859
        "followersCount": {
851 860
          "type": "integer"
852 861
        },
853 862
        "joinedViaStarterPack": {
854 863
          "ref": "app.bsky.graph.defs#starterPackViewBasic",
855 864
          "type": "ref"
856 865
        }
857 866
      }
858 867
    },
859 868
    "bskyAppProgressGuide": {
860 869
      "type": "object",
861 870
      "required": [
862 871
        "guide"
863 872
      ],
864 873
      "properties": {
865 874
        "guide": {
866 875
          "type": "string",
867 876
          "maxLength": 100
868 877
        }
869 878
      },
870 879
      "description": "If set, an active progress guide. Once completed, can be set to undefined. Should have unspecced fields tracking progress."
871 880
    },
872 881
    "liveEventPreferences": {
873 882
      "type": "object",
874 883
      "properties": {
875 884
        "hideAllFeeds": {
876 885
          "type": "boolean",
877 886
          "default": false,
878 887
          "description": "Whether to hide all feeds from live events."
879 888
        },
880 889
        "hiddenFeedIds": {
881 890
          "type": "array",
882 891
          "items": {
883 892
            "type": "string"
884 893
          },
885 894
          "description": "A list of feed IDs that the user has hidden from live events."
886 895
        }
887 896
      },
888 897
      "description": "Preferences for live events."
889 898
    },
890 899
    "profileAssociatedChat": {
891 900
      "type": "object",
892 901
      "required": [
893 902
        "allowIncoming"
894 903
      ],
895 904
      "properties": {
896 905
        "allowIncoming": {
897 906
          "type": "string",
898 907
          "knownValues": [
899 908
            "all",
900 909
            "none",
901 910
            "following"
902 911
          ]
903 912
        },
904 913
        "allowGroupInvites": {
905 914
          "type": "string",
906 915
          "knownValues": [
907 916
            "all",
908 917
            "none",
909 918
            "following"
910 919
          ]
911 920
        }
912 921
      }
913 922
    },
914 923
    "profileAssociatedGerm": {
915 924
      "type": "object",
916 925
      "required": [
917 926
        "showButtonTo",
918 927
        "messageMeUrl"
919 928
      ],
920 929
      "properties": {
921 930
        "messageMeUrl": {
922 931
          "type": "string",
923 932
          "format": "uri"
924 933
        },
925 934
        "showButtonTo": {
926 935
          "type": "string",
927 936
          "knownValues": [
928 937
            "usersIFollow",
929 938
            "everyone"
930 939
          ]
931 940
        }
932 941
      }
933 942
    },
934 943
    "postInteractionSettingsPref": {
935 944
      "type": "object",
936 945
      "required": [],
937 946
      "properties": {
938 947
        "threadgateAllowRules": {
939 948
          "type": "array",
940 949
          "items": {
941 950
            "refs": [
942 951
              "app.bsky.feed.threadgate#mentionRule",
943 952
              "app.bsky.feed.threadgate#followerRule",
944 953
              "app.bsky.feed.threadgate#followingRule",
945 954
              "app.bsky.feed.threadgate#listRule"
946 955
            ],
947 956
            "type": "union"
948 957
          },
949 958
          "maxLength": 5,
950 959
          "description": "Matches threadgate record. List of rules defining who can reply to this users posts. If value is an empty array, no one can reply. If value is undefined, anyone can reply."
951 960
        },
952 961
        "postgateEmbeddingRules": {
953 962
          "type": "array",
954 963
          "items": {
955 964
            "refs": [
956 965
              "app.bsky.feed.postgate#disableRule"
957 966
            ],
958 967
            "type": "union"
959 968
          },
960 969
          "maxLength": 5,
961 970
          "description": "Matches postgate record. List of rules defining who can embed this users posts. If value is an empty array or is undefined, no particular rules apply and anyone can embed."
962 971
        }
963 972
      },
964 973
      "description": "Default post interaction settings for the account. These values should be applied as default values when creating new posts. These refs should mirror the threadgate and postgate records exactly."
965 974
    },
966 975
    "profileAssociatedActivitySubscription": {
967 976
      "type": "object",
968 977
      "required": [
969 978
        "allowSubscriptions"
970 979
      ],
971 980
      "properties": {
972 981
        "allowSubscriptions": {
973 982
          "type": "string",
974 983
          "knownValues": [
975 984
            "followers",
976 985
            "mutuals",
977 986
            "none"
978 987
          ]
979 988
        }
980 989
      }
981 990
    }
982 991
  },
983 992
  "$type": "com.atproto.lexicon.schema",
984 993
  "lexicon": 1
985 994
}

Compare Other Versions

Lexicon Garden

@