app.bsky.actor.defs
Schema Diff
+31 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 12 non-breaking changes.
Non-Breaking Changes (12)
- AddedVertex AddedVertex { vertex_id: "app.bsky.actor.defs#bskyAppStatePref.isBetaUser" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.actor.defs#profileAssociatedChat.allowGroupInvites" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.actor.defs#verificationView.issuerDisplayName" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.actor.defs#verificationView.issuerHandle" }
- 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#bskyAppStatePref", tgt: "app.bsky.actor.defs#bskyAppStatePref.isBetaUser", kind: "prop", name: Some("isBetaUser") }
- AddedEdge AddedEdge { src: "app.bsky.actor.defs#profileAssociatedChat", tgt: "app.bsky.actor.defs#profileAssociatedChat.allowGroupInvites", kind: "prop", name: Some("allowGroupInvites") }
- AddedEdge AddedEdge { src: "app.bsky.actor.defs#verificationView", tgt: "app.bsky.actor.defs#verificationView.issuerDisplayName", kind: "prop", name: Some("issuerDisplayName") }
- AddedEdge AddedEdge { src: "app.bsky.actor.defs#verificationView", tgt: "app.bsky.actor.defs#verificationView.issuerHandle", kind: "prop", name: Some("issuerHandle") }
- 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#bskyAppStatePref.isBetaUser" }AddedVertex { vertex_id: "app.bsky.actor.defs#profileAssociatedChat.allowGroupInvites" }AddedVertex { vertex_id: "app.bsky.actor.defs#verificationView.issuerDisplayName" }AddedVertex { vertex_id: "app.bsky.actor.defs#verificationView.issuerHandle" }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#bskyAppStatePref", tgt: "app.bsky.actor.defs#bskyAppStatePref.isBetaUser", kind: "prop", name: Some("isBetaUser") }
- Non-breaking: AddedEdge { src: "app.bsky.actor.defs#profileAssociatedChat", tgt: "app.bsky.actor.defs#profileAssociatedChat.allowGroupInvites", kind: "prop", name: Some("allowGroupInvites") }
- Non-breaking: AddedEdge { src: "app.bsky.actor.defs#verificationView", tgt: "app.bsky.actor.defs#verificationView.issuerDisplayName", kind: "prop", name: Some("issuerDisplayName") }
- Non-breaking: AddedEdge { src: "app.bsky.actor.defs#verificationView", tgt: "app.bsky.actor.defs#verificationView.issuerHandle", kind: "prop", name: Some("issuerHandle") }
- 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
},
525
+
"isBetaUser": {
526
+
"type": "boolean",
527
+
"description": "Indicates if the user is participating in the beta features program."
528
+
},
516
529
"queuedNudges": {
517
530
"type": "array",
518
531
"items": {
519
532
"type": "string",
520
533
"maxLength": 100
521
534
},
522
535
"maxLength": 1000,
523
536
"description": "An array of tokens which identify nudges (modals, popups, tours, highlight dots) that should be shown to the user."
524
537
},
525
538
"activeProgressGuide": {
526
539
"ref": "#bskyAppProgressGuide",
527
540
"type": "ref"
528
541
}
529
542
},
530
543
"description": "A grab bag of state that's specific to the bsky.app program. Third-party apps shouldn't use this."
531
544
},
532
545
"contentLabelPref": {
533
546
"type": "object",
534
547
"required": [
535
548
"label",
536
549
"visibility"
537
550
],
538
551
"properties": {
539
552
"label": {
540
553
"type": "string"
541
554
},
542
555
"labelerDid": {
543
556
"type": "string",
544
557
"format": "did",
545
558
"description": "Which labeler does this preference apply to? If undefined, applies globally."
546
559
},
547
560
"visibility": {
548
561
"type": "string",
549
562
"knownValues": [
550
563
"ignore",
551
564
"show",
552
565
"warn",
553
566
"hide"
554
567
]
555
568
}
556
569
}
557
570
},
558
571
"profileViewBasic": {
559
572
"type": "object",
560
573
"required": [
561
574
"did",
562
575
"handle"
563
576
],
564
577
"properties": {
565
578
"did": {
566
579
"type": "string",
567
580
"format": "did"
568
581
},
569
582
"debug": {
570
583
"type": "unknown",
571
584
"description": "Debug information for internal development"
572
585
},
573
586
"avatar": {
574
587
"type": "string",
575
588
"format": "uri"
576
589
},
577
590
"handle": {
578
591
"type": "string",
579
592
"format": "handle"
580
593
},
581
594
"labels": {
582
595
"type": "array",
583
596
"items": {
584
597
"ref": "com.atproto.label.defs#label",
585
598
"type": "ref"
586
599
}
587
600
},
588
601
"status": {
589
602
"ref": "#statusView",
590
603
"type": "ref"
591
604
},
592
605
"viewer": {
593
606
"ref": "#viewerState",
594
607
"type": "ref"
595
608
},
596
609
"pronouns": {
597
610
"type": "string"
598
611
},
599
612
"createdAt": {
600
613
"type": "string",
601
614
"format": "datetime"
602
615
},
603
616
"associated": {
604
617
"ref": "#profileAssociated",
605
618
"type": "ref"
606
619
},
607
620
"displayName": {
608
621
"type": "string",
609
622
"maxLength": 640,
610
623
"maxGraphemes": 64
611
624
},
612
625
"verification": {
613
626
"ref": "#verificationState",
614
627
"type": "ref"
615
628
}
616
629
}
617
630
},
618
631
"savedFeedsPrefV2": {
619
632
"type": "object",
620
633
"required": [
621
634
"items"
622
635
],
623
636
"properties": {
624
637
"items": {
625
638
"type": "array",
626
639
"items": {
627
640
"ref": "app.bsky.actor.defs#savedFeed",
628
641
"type": "ref"
629
642
}
630
643
}
631
644
}
632
645
},
633
646
"verificationView": {
634
647
"type": "object",
635
648
"required": [
636
649
"issuer",
637
650
"uri",
638
651
"isValid",
639
652
"createdAt"
640
653
],
641
654
"properties": {
642
655
"uri": {
643
656
"type": "string",
644
657
"format": "at-uri",
645
658
"description": "The AT-URI of the verification record."
646
659
},
647
660
"issuer": {
648
661
"type": "string",
649
662
"format": "did",
650
663
"description": "The user who issued this verification."
651
664
},
652
665
"isValid": {
653
666
"type": "boolean",
654
667
"description": "True if the verification passes validation, otherwise false."
655
668
},
656
669
"createdAt": {
657
670
"type": "string",
658
671
"format": "datetime",
659
672
"description": "Timestamp when the verification was created."
673
+
},
674
+
"issuerHandle": {
675
+
"type": "string",
676
+
"format": "handle",
677
+
"description": "The handle of the issuer."
678
+
},
679
+
"issuerDisplayName": {
680
+
"type": "string",
681
+
"description": "The display name of the issuer."
660
682
}
661
683
},
662
684
"description": "An individual verification for an associated subject."
663
685
},
664
686
"profileAssociated": {
665
687
"type": "object",
666
688
"properties": {
667
689
"chat": {
668
690
"ref": "#profileAssociatedChat",
669
691
"type": "ref"
670
692
},
671
693
"germ": {
672
694
"ref": "#profileAssociatedGerm",
673
695
"type": "ref"
674
696
},
675
697
"lists": {
676
698
"type": "integer"
677
699
},
678
700
"labeler": {
679
701
"type": "boolean"
680
702
},
681
703
"feedgens": {
682
704
"type": "integer"
683
705
},
684
706
"starterPacks": {
685
707
"type": "integer"
686
708
},
687
709
"activitySubscription": {
688
710
"ref": "#profileAssociatedActivitySubscription",
689
711
"type": "ref"
690
712
}
691
713
}
692
714
},
693
715
"verificationPrefs": {
694
716
"type": "object",
695
717
"required": [],
696
718
"properties": {
697
719
"hideBadges": {
698
720
"type": "boolean",
699
721
"default": false,
700
722
"description": "Hide the blue check badges for verified accounts and trusted verifiers."
701
723
}
702
724
},
703
725
"description": "Preferences for how verified accounts appear in the app."
704
726
},
705
727
"verificationState": {
706
728
"type": "object",
707
729
"required": [
708
730
"verifications",
709
731
"verifiedStatus",
710
732
"trustedVerifierStatus"
711
733
],
712
734
"properties": {
713
735
"verifications": {
714
736
"type": "array",
715
737
"items": {
716
738
"ref": "#verificationView",
717
739
"type": "ref"
718
740
},
719
741
"description": "All verifications issued by trusted verifiers on behalf of this user. Verifications by untrusted verifiers are not included."
720
742
},
721
743
"verifiedStatus": {
722
744
"type": "string",
723
745
"description": "The user's status as a verified account.",
724
746
"knownValues": [
725
747
"valid",
726
748
"invalid",
727
749
"none"
728
750
]
729
751
},
730
752
"trustedVerifierStatus": {
731
753
"type": "string",
732
754
"description": "The user's status as a trusted verifier.",
733
755
"knownValues": [
734
756
"valid",
735
757
"invalid",
736
758
"none"
737
759
]
738
760
}
739
761
},
740
762
"description": "Represents the verification information about the user this object is attached to."
741
763
},
742
764
"personalDetailsPref": {
743
765
"type": "object",
744
766
"properties": {
745
767
"birthDate": {
746
768
"type": "string",
747
769
"format": "datetime",
748
770
"description": "The birth date of account owner."
749
771
}
750
772
}
751
773
},
752
774
"profileViewDetailed": {
753
775
"type": "object",
754
776
"required": [
755
777
"did",
756
778
"handle"
757
779
],
758
780
"properties": {
759
781
"did": {
760
782
"type": "string",
761
783
"format": "did"
762
784
},
763
785
"debug": {
764
786
"type": "unknown",
765
787
"description": "Debug information for internal development"
766
788
},
767
789
"avatar": {
768
790
"type": "string",
769
791
"format": "uri"
770
792
},
771
793
"banner": {
772
794
"type": "string",
773
795
"format": "uri"
774
796
},
775
797
"handle": {
776
798
"type": "string",
777
799
"format": "handle"
778
800
},
779
801
"labels": {
780
802
"type": "array",
781
803
"items": {
782
804
"ref": "com.atproto.label.defs#label",
783
805
"type": "ref"
784
806
}
785
807
},
786
808
"status": {
787
809
"ref": "#statusView",
788
810
"type": "ref"
789
811
},
790
812
"viewer": {
791
813
"ref": "#viewerState",
792
814
"type": "ref"
793
815
},
794
816
"website": {
795
817
"type": "string",
796
818
"format": "uri"
797
819
},
798
820
"pronouns": {
799
821
"type": "string"
800
822
},
801
823
"createdAt": {
802
824
"type": "string",
803
825
"format": "datetime"
804
826
},
805
827
"indexedAt": {
806
828
"type": "string",
807
829
"format": "datetime"
808
830
},
809
831
"associated": {
810
832
"ref": "#profileAssociated",
811
833
"type": "ref"
812
834
},
813
835
"pinnedPost": {
814
836
"ref": "com.atproto.repo.strongRef",
815
837
"type": "ref"
816
838
},
817
839
"postsCount": {
818
840
"type": "integer"
819
841
},
820
842
"description": {
821
843
"type": "string",
822
844
"maxLength": 2560,
823
845
"maxGraphemes": 256
824
846
},
825
847
"displayName": {
826
848
"type": "string",
827
849
"maxLength": 640,
828
850
"maxGraphemes": 64
829
851
},
830
852
"followsCount": {
831
853
"type": "integer"
832
854
},
833
855
"verification": {
834
856
"ref": "#verificationState",
835
857
"type": "ref"
836
858
},
837
859
"followersCount": {
838
860
"type": "integer"
839
861
},
840
862
"joinedViaStarterPack": {
841
863
"ref": "app.bsky.graph.defs#starterPackViewBasic",
842
864
"type": "ref"
843
865
}
844
866
}
845
867
},
846
868
"bskyAppProgressGuide": {
847
869
"type": "object",
848
870
"required": [
849
871
"guide"
850
872
],
851
873
"properties": {
852
874
"guide": {
853
875
"type": "string",
854
876
"maxLength": 100
855
877
}
856
878
},
857
879
"description": "If set, an active progress guide. Once completed, can be set to undefined. Should have unspecced fields tracking progress."
858
880
},
859
881
"liveEventPreferences": {
860
882
"type": "object",
861
883
"properties": {
862
884
"hideAllFeeds": {
863
885
"type": "boolean",
864
886
"default": false,
865
887
"description": "Whether to hide all feeds from live events."
866
888
},
867
889
"hiddenFeedIds": {
868
890
"type": "array",
869
891
"items": {
870
892
"type": "string"
871
893
},
872
894
"description": "A list of feed IDs that the user has hidden from live events."
873
895
}
874
896
},
875
897
"description": "Preferences for live events."
876
898
},
877
899
"profileAssociatedChat": {
878
900
"type": "object",
879
901
"required": [
880
902
"allowIncoming"
881
903
],
882
904
"properties": {
883
905
"allowIncoming": {
884
906
"type": "string",
885
907
"knownValues": [
886
908
"all",
887
909
"none",
888
910
"following"
889
911
]
912
+
},
913
+
"allowGroupInvites": {
914
+
"type": "string",
915
+
"knownValues": [
916
+
"all",
917
+
"none",
918
+
"following"
919
+
]
890
920
}
891
921
}
892
922
},
893
923
"profileAssociatedGerm": {
894
924
"type": "object",
895
925
"required": [
896
926
"showButtonTo",
897
927
"messageMeUrl"
898
928
],
899
929
"properties": {
900
930
"messageMeUrl": {
901
931
"type": "string",
902
932
"format": "uri"
903
933
},
904
934
"showButtonTo": {
905
935
"type": "string",
906
936
"knownValues": [
907
937
"usersIFollow",
908
938
"everyone"
909
939
]
910
940
}
911
941
}
912
942
},
913
943
"postInteractionSettingsPref": {
914
944
"type": "object",
915
945
"required": [],
916
946
"properties": {
917
947
"threadgateAllowRules": {
918
948
"type": "array",
919
949
"items": {
920
950
"refs": [
921
951
"app.bsky.feed.threadgate#mentionRule",
922
952
"app.bsky.feed.threadgate#followerRule",
923
953
"app.bsky.feed.threadgate#followingRule",
924
954
"app.bsky.feed.threadgate#listRule"
925
955
],
926
956
"type": "union"
927
957
},
928
958
"maxLength": 5,
929
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."
930
960
},
931
961
"postgateEmbeddingRules": {
932
962
"type": "array",
933
963
"items": {
934
964
"refs": [
935
965
"app.bsky.feed.postgate#disableRule"
936
966
],
937
967
"type": "union"
938
968
},
939
969
"maxLength": 5,
940
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."
941
971
}
942
972
},
943
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."
944
974
},
945
975
"profileAssociatedActivitySubscription": {
946
976
"type": "object",
947
977
"required": [
948
978
"allowSubscriptions"
949
979
],
950
980
"properties": {
951
981
"allowSubscriptions": {
952
982
"type": "string",
953
983
"knownValues": [
954
984
"followers",
955
985
"mutuals",
956
986
"none"
957
987
]
958
988
}
959
989
}
960
990
}
961
991
},
962
992
"$type": "com.atproto.lexicon.schema",
963
993
"lexicon": 1
964
994
}