app.bsky.actor.defs
Schema Diff
+10 -1
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
}