id.sifa.getProfileView
Schema Diff
+18 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 8 non-breaking changes.
Non-Breaking Changes (8)
- AddedVertex AddedVertex { vertex_id: "id.sifa.getProfileView#positionView.onBehalfOf" }
- AddedVertex AddedVertex { vertex_id: "id.sifa.getProfileView#positionView.onBehalfOfDid" }
- AddedVertex AddedVertex { vertex_id: "id.sifa.getProfileView#positionView.onBehalfOfEntityName" }
- AddedVertex AddedVertex { vertex_id: "id.sifa.getProfileView#positionView.onBehalfOfEntityRef" }
- AddedEdge AddedEdge { src: "id.sifa.getProfileView#positionView", tgt: "id.sifa.getProfileView#positionView.onBehalfOf", kind: "prop", name: Some("onBehalfOf") }
- AddedEdge AddedEdge { src: "id.sifa.getProfileView#positionView", tgt: "id.sifa.getProfileView#positionView.onBehalfOfDid", kind: "prop", name: Some("onBehalfOfDid") }
- AddedEdge AddedEdge { src: "id.sifa.getProfileView#positionView", tgt: "id.sifa.getProfileView#positionView.onBehalfOfEntityName", kind: "prop", name: Some("onBehalfOfEntityName") }
- AddedEdge AddedEdge { src: "id.sifa.getProfileView#positionView", tgt: "id.sifa.getProfileView#positionView.onBehalfOfEntityRef", kind: "prop", name: Some("onBehalfOfEntityRef") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "id.sifa.getProfileView#positionView.onBehalfOf" }AddedVertex { vertex_id: "id.sifa.getProfileView#positionView.onBehalfOfDid" }AddedVertex { vertex_id: "id.sifa.getProfileView#positionView.onBehalfOfEntityName" }AddedVertex { vertex_id: "id.sifa.getProfileView#positionView.onBehalfOfEntityRef" }
Additional Notes
- Non-breaking: AddedEdge { src: "id.sifa.getProfileView#positionView", tgt: "id.sifa.getProfileView#positionView.onBehalfOf", kind: "prop", name: Some("onBehalfOf") }
- Non-breaking: AddedEdge { src: "id.sifa.getProfileView#positionView", tgt: "id.sifa.getProfileView#positionView.onBehalfOfDid", kind: "prop", name: Some("onBehalfOfDid") }
- Non-breaking: AddedEdge { src: "id.sifa.getProfileView#positionView", tgt: "id.sifa.getProfileView#positionView.onBehalfOfEntityName", kind: "prop", name: Some("onBehalfOfEntityName") }
- Non-breaking: AddedEdge { src: "id.sifa.getProfileView#positionView", tgt: "id.sifa.getProfileView#positionView.onBehalfOfEntityRef", kind: "prop", name: Some("onBehalfOfEntityRef") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"activeAppView": {
5
5
"description": "An AT Protocol app the account has recently created records in.",
6
6
"properties": {
7
7
"category": {
8
8
"description": "App category.",
9
9
"type": "string"
10
10
},
11
11
"id": {
12
12
"description": "App identifier.",
13
13
"type": "string"
14
14
},
15
15
"latestRecordAt": {
16
16
"description": "Timestamp of the latest record.",
17
17
"format": "datetime",
18
18
"type": "string"
19
19
},
20
20
"name": {
21
21
"description": "App display name.",
22
22
"type": "string"
23
23
},
24
24
"recentCount": {
25
25
"description": "Recent record count.",
26
26
"type": "integer"
27
27
}
28
28
},
29
29
"required": [
30
30
"id",
31
31
"name"
32
32
],
33
33
"type": "object"
34
34
},
35
35
"atfundLink": {
36
36
"description": "A contribution or funding link.",
37
37
"properties": {
38
38
"label": {
39
39
"description": "Optional display label.",
40
40
"type": "string"
41
41
},
42
42
"url": {
43
43
"description": "Contribution URL.",
44
44
"format": "uri",
45
45
"type": "string"
46
46
}
47
47
},
48
48
"required": [
49
49
"url"
50
50
],
51
51
"type": "object"
52
52
},
53
53
"certificationView": {
54
54
"description": "A certification or license.",
55
55
"properties": {
56
56
"credentialUrl": {
57
57
"description": "URL of the credential.",
58
58
"format": "uri",
59
59
"type": "string"
60
60
},
61
61
"entityRef": {
62
62
"description": "Pointer URI to the resolved issuer entity.",
63
63
"format": "uri",
64
64
"type": "string"
65
65
},
66
66
"expiryDate": {
67
67
"description": "Expiry date. Partial date.",
68
68
"type": "string"
69
69
},
70
70
"issueDate": {
71
71
"description": "Issue date. Partial date.",
72
72
"type": "string"
73
73
},
74
74
"issuingOrg": {
75
75
"description": "Issuing organization.",
76
76
"type": "string"
77
77
},
78
78
"name": {
79
79
"description": "Certification name.",
80
80
"type": "string"
81
81
},
82
82
"rkey": {
83
83
"description": "Record key of the certification record.",
84
84
"type": "string"
85
85
}
86
86
},
87
87
"required": [
88
88
"rkey",
89
89
"name"
90
90
],
91
91
"type": "object"
92
92
},
93
93
"coSpeakerView": {
94
94
"description": "A co-speaker on a presentation delivery.",
95
95
"properties": {
96
96
"avatar": {
97
97
"description": "Avatar URL, when linked.",
98
98
"format": "uri",
99
99
"type": "string"
100
100
},
101
101
"did": {
102
102
"description": "DID of the co-speaker, when linked to a Sifa profile.",
103
103
"format": "did",
104
104
"type": "string"
105
105
},
106
106
"displayName": {
107
107
"description": "Display name, when linked.",
108
108
"type": "string"
109
109
},
110
110
"handle": {
111
111
"description": "Handle, when linked.",
112
112
"format": "handle",
113
113
"type": "string"
114
114
},
115
115
"name": {
116
116
"description": "Free-text co-speaker name, when not linked.",
117
117
"type": "string"
118
118
}
119
119
},
120
120
"type": "object"
121
121
},
122
122
"contributorView": {
123
123
"description": "A linked publication contributor.",
124
124
"properties": {
125
125
"did": {
126
126
"description": "Sifa/AT Protocol DID, when linked.",
127
127
"format": "did",
128
128
"type": "string"
129
129
},
130
130
"handle": {
131
131
"description": "Handle, when linked.",
132
132
"format": "handle",
133
133
"type": "string"
134
134
},
135
135
"name": {
136
136
"description": "Contributor name.",
137
137
"type": "string"
138
138
},
139
139
"orcidId": {
140
140
"description": "ORCID identifier.",
141
141
"type": "string"
142
142
}
143
143
},
144
144
"required": [
145
145
"name"
146
146
],
147
147
"type": "object"
148
148
},
149
149
"courseView": {
150
150
"description": "A course entry.",
151
151
"properties": {
152
152
"credentialRkey": {
153
153
"description": "Record key of a linked certification, when present.",
154
154
"type": "string"
155
155
},
156
156
"entityRef": {
157
157
"description": "Pointer URI to the resolved institution entity.",
158
158
"format": "uri",
159
159
"type": "string"
160
160
},
161
161
"institution": {
162
162
"description": "Institution name.",
163
163
"type": "string"
164
164
},
165
165
"name": {
166
166
"description": "Course name.",
167
167
"type": "string"
168
168
},
169
169
"number": {
170
170
"description": "Course number or code.",
171
171
"type": "string"
172
172
},
173
173
"rkey": {
174
174
"description": "Record key of the course record.",
175
175
"type": "string"
176
176
}
177
177
},
178
178
"required": [
179
179
"rkey",
180
180
"name"
181
181
],
182
182
"type": "object"
183
183
},
184
184
"durationView": {
185
185
"description": "A duration range in minutes.",
186
186
"properties": {
187
187
"maxMinutes": {
188
188
"description": "Maximum duration in minutes.",
189
189
"type": "integer"
190
190
},
191
191
"minMinutes": {
192
192
"description": "Minimum duration in minutes.",
193
193
"type": "integer"
194
194
}
195
195
},
196
196
"required": [
197
197
"minMinutes"
198
198
],
199
199
"type": "object"
200
200
},
201
201
"educationView": {
202
202
"description": "An education-history entry.",
203
203
"properties": {
204
204
"activities": {
205
205
"description": "Activities and societies.",
206
206
"type": "string"
207
207
},
208
208
"degree": {
209
209
"description": "Degree earned.",
210
210
"type": "string"
211
211
},
212
212
"description": {
213
213
"description": "Additional description.",
214
214
"type": "string"
215
215
},
216
216
"endedAt": {
217
217
"description": "End date. Partial date.",
218
218
"type": "string"
219
219
},
220
220
"entityRef": {
221
221
"description": "Pointer URI to the resolved institution entity.",
222
222
"format": "uri",
223
223
"type": "string"
224
224
},
225
225
"fieldOfStudy": {
226
226
"description": "Field of study.",
227
227
"type": "string"
228
228
},
229
229
"institution": {
230
230
"description": "Institution name.",
231
231
"type": "string"
232
232
},
233
233
"institutionDid": {
234
234
"description": "DID of the institution, when known.",
235
235
"format": "did",
236
236
"type": "string"
237
237
},
238
238
"rkey": {
239
239
"description": "Record key of the education record.",
240
240
"type": "string"
241
241
},
242
242
"startedAt": {
243
243
"description": "Start date. Partial date.",
244
244
"type": "string"
245
245
}
246
246
},
247
247
"required": [
248
248
"rkey"
249
249
],
250
250
"type": "object"
251
251
},
252
252
"externalAccountView": {
253
253
"description": "A linked external account with verification state.",
254
254
"properties": {
255
255
"feedUrl": {
256
256
"description": "Feed URL (RSS/Atom), when applicable.",
257
257
"format": "uri",
258
258
"type": "string"
259
259
},
260
260
"label": {
261
261
"description": "Optional custom label.",
262
262
"type": "string"
263
263
},
264
264
"platform": {
265
265
"description": "Platform type.",
266
266
"ref": "id.sifa.defs#externalPlatform",
267
267
"type": "ref"
268
268
},
269
269
"primary": {
270
270
"description": "Whether this is the primary external account.",
271
271
"type": "boolean"
272
272
},
273
273
"rkey": {
274
274
"description": "Record key of the external account record.",
275
275
"type": "string"
276
276
},
277
277
"url": {
278
278
"description": "Account URL.",
279
279
"format": "uri",
280
280
"type": "string"
281
281
},
282
282
"verifiable": {
283
283
"description": "Whether the account can be verified.",
284
284
"type": "boolean"
285
285
},
286
286
"verified": {
287
287
"description": "Whether the account is verified.",
288
288
"type": "boolean"
289
289
},
290
290
"verifiedVia": {
291
291
"description": "Verification method, when verified.",
292
292
"type": "string"
293
293
}
294
294
},
295
295
"required": [
296
296
"rkey",
297
297
"url"
298
298
],
299
299
"type": "object"
300
300
},
301
301
"honorView": {
302
302
"description": "An honor or award.",
303
303
"properties": {
304
304
"date": {
305
305
"description": "Date received. Partial date.",
306
306
"type": "string"
307
307
},
308
308
"description": {
309
309
"description": "Description.",
310
310
"type": "string"
311
311
},
312
312
"entityRef": {
313
313
"description": "Pointer URI to the resolved issuer entity.",
314
314
"format": "uri",
315
315
"type": "string"
316
316
},
317
317
"issuer": {
318
318
"description": "Issuing organization.",
319
319
"type": "string"
320
320
},
321
321
"rkey": {
322
322
"description": "Record key of the honor record.",
323
323
"type": "string"
324
324
},
325
325
"title": {
326
326
"description": "Honor or award title.",
327
327
"type": "string"
328
328
}
329
329
},
330
330
"required": [
331
331
"rkey",
332
332
"title"
333
333
],
334
334
"type": "object"
335
335
},
336
336
"involvementLinkView": {
337
337
"description": "A proof link on an involvement.",
338
338
"properties": {
339
339
"kind": {
340
340
"description": "What the link points to (e.g. pull-request, talk, article).",
341
341
"type": "string"
342
342
},
343
343
"label": {
344
344
"description": "Optional human-readable label.",
345
345
"type": "string"
346
346
},
347
347
"url": {
348
348
"description": "Artifact URL.",
349
349
"format": "uri",
350
350
"type": "string"
351
351
},
352
352
"verified": {
353
353
"description": "True if the link host matches a verified external account.",
354
354
"type": "boolean"
355
355
},
356
356
"verifiedPlatform": {
357
357
"description": "Platform token of the verified host, when verified.",
358
358
"type": "string"
359
359
}
360
360
},
361
361
"required": [
362
362
"url"
363
363
],
364
364
"type": "object"
365
365
},
366
366
"involvementView": {
367
367
"description": "A community, open-source, charity, or civic involvement.",
368
368
"properties": {
369
369
"description": {
370
370
"description": "Description.",
371
371
"type": "string"
372
372
},
373
373
"endedAt": {
374
374
"description": "End date. Partial date.",
375
375
"type": "string"
376
376
},
377
377
"kind": {
378
378
"description": "The nature of the involvement.",
379
379
"ref": "id.sifa.defs#involvementKind",
380
380
"type": "ref"
381
381
},
382
382
"legacy": {
383
383
"description": "True if mapped from a legacy volunteering record.",
384
384
"type": "boolean"
385
385
},
386
386
"links": {
387
387
"description": "Public artifact links proving the work.",
388
388
"items": {
389
389
"ref": "#involvementLinkView",
390
390
"type": "ref"
391
391
},
392
392
"type": "array"
393
393
},
394
394
"rkey": {
395
395
"description": "Record key of the involvement (or legacy volunteering) record.",
396
396
"type": "string"
397
397
},
398
398
"role": {
399
399
"description": "Role in the involvement.",
400
400
"type": "string"
401
401
},
402
402
"startedAt": {
403
403
"description": "Start date. Partial date.",
404
404
"type": "string"
405
405
},
406
406
"upstream": {
407
407
"description": "Name of the community, org, or person the involvement is with.",
408
408
"type": "string"
409
409
},
410
410
"upstreamDid": {
411
411
"description": "DID of the upstream, when known.",
412
412
"format": "did",
413
413
"type": "string"
414
414
},
415
415
"upstreamUrl": {
416
416
"description": "URL of the upstream, when provided.",
417
417
"format": "uri",
418
418
"type": "string"
419
419
}
420
420
},
421
421
"required": [
422
422
"rkey",
423
423
"kind",
424
424
"links",
425
425
"legacy"
426
426
],
427
427
"type": "object"
428
428
},
429
429
"languageView": {
430
430
"description": "A language with proficiency.",
431
431
"properties": {
432
432
"language": {
433
433
"description": "Language name or BCP-47 tag.",
434
434
"type": "string"
435
435
},
436
436
"proficiency": {
437
437
"description": "Proficiency level.",
438
438
"ref": "id.sifa.defs#proficiency",
439
439
"type": "ref"
440
440
},
441
441
"rkey": {
442
442
"description": "Record key of the language record.",
443
443
"type": "string"
444
444
}
445
445
},
446
446
"required": [
447
447
"rkey",
448
448
"language"
449
449
],
450
450
"type": "object"
451
451
},
452
452
"locationView": {
453
453
"description": "A professional location on the profile.",
454
454
"properties": {
455
455
"countryCode": {
456
456
"description": "ISO 3166-1 alpha-2 country code.",
457
457
"type": "string"
458
458
},
459
459
"isPrimary": {
460
460
"description": "Whether this is the primary location.",
461
461
"type": "boolean"
462
462
},
463
463
"label": {
464
464
"description": "Optional custom label.",
465
465
"type": "string"
466
466
},
467
467
"location": {
468
468
"description": "Assembled human-readable location string.",
469
469
"type": "string"
470
470
},
471
471
"locationCountry": {
472
472
"description": "Country name.",
473
473
"type": "string"
474
474
},
475
475
"locationLocality": {
476
476
"description": "City or locality.",
477
477
"type": "string"
478
478
},
479
479
"locationRegion": {
480
480
"description": "Region, state, or province.",
481
481
"type": "string"
482
482
},
483
483
"rkey": {
484
484
"description": "Record key of the location record.",
485
485
"type": "string"
486
486
},
487
487
"type": {
488
488
"description": "The role this location plays.",
489
489
"ref": "id.sifa.defs#locationType",
490
490
"type": "ref"
491
491
}
492
492
},
493
493
"required": [
494
494
"rkey"
495
495
],
496
496
"type": "object"
497
497
},
498
498
"main": {
499
499
"description": "Get the aggregated public profile view for an actor.",
500
500
"errors": [
501
501
{
502
502
"description": "No profile exists for the given actor, or the actor could not be resolved.",
503
503
"name": "ProfileNotFound"
504
504
}
505
505
],
506
506
"output": {
507
507
"encoding": "application/json",
508
508
"schema": {
509
509
"ref": "#profileView",
510
510
"type": "ref"
511
511
}
512
512
},
513
513
"parameters": {
514
514
"properties": {
515
515
"actor": {
516
516
"description": "The handle or DID of the profile to fetch.",
517
517
"format": "at-identifier",
518
518
"type": "string"
519
519
}
520
520
},
521
521
"required": [
522
522
"actor"
523
523
],
524
524
"type": "params"
525
525
},
526
526
"type": "query"
527
527
},
528
528
"pdsProviderView": {
529
529
"description": "A PDS provider descriptor.",
530
530
"properties": {
531
531
"host": {
532
532
"description": "PDS hostname.",
533
533
"type": "string"
534
534
},
535
535
"name": {
536
536
"description": "Human-readable provider name.",
537
537
"type": "string"
538
538
}
539
539
},
540
540
"required": [
541
541
"name"
542
542
],
543
543
"type": "object"
544
544
},
545
545
"positionView": {
546
546
"description": "A work-history entry.",
547
547
"properties": {
548
548
"company": {
549
549
"description": "Company or organization name.",
550
550
"type": "string"
551
551
},
552
552
"companyDid": {
553
553
"description": "DID of the company, when known.",
554
554
"format": "did",
555
555
"type": "string"
556
556
},
557
557
"countryCode": {
558
558
"description": "ISO 3166-1 alpha-2 country code.",
559
559
"type": "string"
560
560
},
561
561
"description": {
562
562
"description": "Role description.",
563
563
"type": "string"
564
564
},
565
565
"employmentType": {
566
566
"description": "Employment arrangement.",
567
567
"ref": "id.sifa.defs#employmentType",
568
568
"type": "ref"
569
569
},
570
570
"endedAt": {
571
571
"description": "End date. Partial date, absent if current.",
572
572
"type": "string"
573
573
},
574
574
"entityName": {
575
575
"description": "Resolved canonical company name.",
576
576
"type": "string"
577
577
},
578
578
"entityRef": {
579
579
"description": "Pointer URI to the resolved company entity.",
580
580
"format": "uri",
581
581
"type": "string"
582
582
},
583
583
"location": {
584
584
"description": "Assembled human-readable location string.",
585
585
"type": "string"
586
586
},
587
587
"locationCountry": {
588
588
"description": "Country name.",
589
589
"type": "string"
590
590
},
591
591
"locationLocality": {
592
592
"description": "City or locality.",
593
593
"type": "string"
594
594
},
595
595
"locationRegion": {
596
596
"description": "Region, state, or province.",
597
597
"type": "string"
598
598
},
599
+
"onBehalfOf": {
600
+
"description": "Party this role is held on behalf of, when the person represents someone else — most often a fund whose board seat this is. A disclosure, not a role type. Absent for independent roles.",
601
+
"type": "string"
602
+
},
603
+
"onBehalfOfDid": {
604
+
"description": "DID of the represented party, when known. May be an organization or a person.",
605
+
"format": "did",
606
+
"type": "string"
607
+
},
608
+
"onBehalfOfEntityName": {
609
+
"description": "Resolved canonical name for the represented party. Present only when the reference resolves; clients render onBehalfOf otherwise, never the raw URI.",
610
+
"type": "string"
611
+
},
612
+
"onBehalfOfEntityRef": {
613
+
"description": "Pointer URI to the resolved entity for the represented party.",
614
+
"format": "uri",
615
+
"type": "string"
616
+
},
599
617
"primary": {
600
618
"description": "Whether this is the user's primary current position.",
601
619
"type": "boolean"
602
620
},
603
621
"rkey": {
604
622
"description": "Record key of the position record.",
605
623
"type": "string"
606
624
},
607
625
"skillRkeys": {
608
626
"description": "Record keys of skills linked to this position.",
609
627
"items": {
610
628
"type": "string"
611
629
},
612
630
"type": "array"
613
631
},
614
632
"startedAt": {
615
633
"description": "Start date. Partial date (YYYY, YYYY-MM, or YYYY-MM-DD).",
616
634
"type": "string"
617
635
},
618
636
"title": {
619
637
"description": "Job title or role.",
620
638
"type": "string"
621
639
},
622
640
"workplaceType": {
623
641
"description": "Workplace arrangement.",
624
642
"ref": "id.sifa.defs#workplaceType",
625
643
"type": "ref"
626
644
}
627
645
},
628
646
"required": [
629
647
"rkey",
630
648
"title"
631
649
],
632
650
"type": "object"
633
651
},
634
652
"presentationDeliveryView": {
635
653
"description": "A single delivery of a presentation at an occasion.",
636
654
"properties": {
637
655
"coSpeakers": {
638
656
"description": "Co-speakers on this delivery.",
639
657
"items": {
640
658
"ref": "#coSpeakerView",
641
659
"type": "ref"
642
660
},
643
661
"type": "array"
644
662
},
645
663
"date": {
646
664
"description": "Delivery date. Partial date.",
647
665
"type": "string"
648
666
},
649
667
"eventName": {
650
668
"description": "Name of the event or occasion.",
651
669
"type": "string"
652
670
},
653
671
"eventUri": {
654
672
"description": "AT-URI of a linked event record.",
655
673
"format": "at-uri",
656
674
"type": "string"
657
675
},
658
676
"links": {
659
677
"description": "Related links for this delivery.",
660
678
"items": {
661
679
"ref": "id.sifa.defs#presentationLink",
662
680
"type": "ref"
663
681
},
664
682
"type": "array"
665
683
},
666
684
"location": {
667
685
"description": "Event location.",
668
686
"type": "string"
669
687
},
670
688
"mode": {
671
689
"description": "Delivery mode (e.g. in-person, remote, hybrid).",
672
690
"type": "string"
673
691
},
674
692
"presentationRkey": {
675
693
"description": "Record key of the parent presentation, when grouped.",
676
694
"type": "string"
677
695
},
678
696
"rkey": {
679
697
"description": "Record key of the delivery record.",
680
698
"type": "string"
681
699
},
682
700
"role": {
683
701
"description": "The user's role in the delivery.",
684
702
"ref": "id.sifa.defs#presentationRole",
685
703
"type": "ref"
686
704
},
687
705
"status": {
688
706
"description": "Delivery status.",
689
707
"type": "string"
690
708
},
691
709
"title": {
692
710
"description": "Delivery title (may differ from the presentation title).",
693
711
"type": "string"
694
712
}
695
713
},
696
714
"required": [
697
715
"rkey"
698
716
],
699
717
"type": "object"
700
718
},
701
719
"presentationView": {
702
720
"description": "A talk or session (content), with its deliveries grouped underneath.",
703
721
"properties": {
704
722
"deliveries": {
705
723
"description": "Deliveries of this presentation.",
706
724
"items": {
707
725
"ref": "#presentationDeliveryView",
708
726
"type": "ref"
709
727
},
710
728
"type": "array"
711
729
},
712
730
"description": {
713
731
"description": "Presentation description.",
714
732
"type": "string"
715
733
},
716
734
"duration": {
717
735
"description": "Duration range in minutes.",
718
736
"ref": "#durationView",
719
737
"type": "ref"
720
738
},
721
739
"intendedAudiences": {
722
740
"description": "Intended audiences.",
723
741
"items": {
724
742
"type": "string"
725
743
},
726
744
"type": "array"
727
745
},
728
746
"links": {
729
747
"description": "Related links (slides, recording, etc.).",
730
748
"items": {
731
749
"ref": "id.sifa.defs#presentationLink",
732
750
"type": "ref"
733
751
},
734
752
"type": "array"
735
753
},
736
754
"rkey": {
737
755
"description": "Record key of the presentation record.",
738
756
"type": "string"
739
757
},
740
758
"title": {
741
759
"description": "Presentation title.",
742
760
"type": "string"
743
761
},
744
762
"writeupUri": {
745
763
"description": "AT-URI of a linked write-up record.",
746
764
"format": "at-uri",
747
765
"type": "string"
748
766
}
749
767
},
750
768
"required": [
751
769
"rkey",
752
770
"title",
753
771
"deliveries"
754
772
],
755
773
"type": "object"
756
774
},
757
775
"profileView": {
758
776
"description": "The aggregated public professional profile view.",
759
777
"properties": {
760
778
"about": {
761
779
"description": "Longer professional summary or bio.",
762
780
"maxGraphemes": 5000,
763
781
"maxLength": 50000,
764
782
"type": "string"
765
783
},
766
784
"activeApps": {
767
785
"description": "AT Protocol apps this account has recently created records in.",
768
786
"items": {
769
787
"ref": "#activeAppView",
770
788
"type": "ref"
771
789
},
772
790
"type": "array"
773
791
},
774
792
"atfundContribute": {
775
793
"description": "Optional contribution/funding link.",
776
794
"ref": "#atfundLink",
777
795
"type": "ref"
778
796
},
779
797
"atprotoFollowersCount": {
780
798
"description": "Number of app.bsky.graph followers.",
781
799
"type": "integer"
782
800
},
783
801
"availableFromUtc": {
784
802
"description": "Start of an availability window, as a UTC offset, if set.",
785
803
"type": "integer"
786
804
},
787
805
"availableToUtc": {
788
806
"description": "End of an availability window, as a UTC offset, if set.",
789
807
"type": "integer"
790
808
},
791
809
"avatar": {
792
810
"description": "URL of the profile avatar image.",
793
811
"format": "uri",
794
812
"type": "string"
795
813
},
796
814
"blueskyVerified": {
797
815
"description": "Whether the account holds a Bluesky verification.",
798
816
"type": "boolean"
799
817
},
800
818
"blueskyVerifiedAt": {
801
819
"description": "When the Bluesky verification was issued.",
802
820
"format": "datetime",
803
821
"type": "string"
804
822
},
805
823
"certifications": {
806
824
"description": "Certifications and licenses.",
807
825
"items": {
808
826
"ref": "#certificationView",
809
827
"type": "ref"
810
828
},
811
829
"type": "array"
812
830
},
813
831
"claimed": {
814
832
"description": "Whether the profile has been claimed by its owner on Sifa.",
815
833
"type": "boolean"
816
834
},
817
835
"connectionsCount": {
818
836
"description": "Number of confirmed professional connections.",
819
837
"type": "integer"
820
838
},
821
839
"countryCode": {
822
840
"description": "ISO 3166-1 alpha-2 country code for the primary location.",
823
841
"type": "string"
824
842
},
825
843
"courses": {
826
844
"description": "Courses, optionally linked to a credential.",
827
845
"items": {
828
846
"ref": "#courseView",
829
847
"type": "ref"
830
848
},
831
849
"type": "array"
832
850
},
833
851
"createdAt": {
834
852
"description": "When the profile record was created.",
835
853
"format": "datetime",
836
854
"type": "string"
837
855
},
838
856
"did": {
839
857
"description": "The account DID. Stable identifier for the profile.",
840
858
"format": "did",
841
859
"type": "string"
842
860
},
843
861
"displayName": {
844
862
"description": "Display name shown on the profile.",
845
863
"maxGraphemes": 128,
846
864
"maxLength": 1280,
847
865
"type": "string"
848
866
},
849
867
"education": {
850
868
"description": "Education history entries.",
851
869
"items": {
852
870
"ref": "#educationView",
853
871
"type": "ref"
854
872
},
855
873
"type": "array"
856
874
},
857
875
"externalAccounts": {
858
876
"description": "Linked external accounts, with verification state.",
859
877
"items": {
860
878
"ref": "#externalAccountView",
861
879
"type": "ref"
862
880
},
863
881
"type": "array"
864
882
},
865
883
"familyName": {
866
884
"description": "Family (last) name, when provided.",
867
885
"maxGraphemes": 128,
868
886
"maxLength": 1280,
869
887
"type": "string"
870
888
},
871
889
"followersCount": {
872
890
"description": "Number of Sifa graph followers.",
873
891
"type": "integer"
874
892
},
875
893
"followingCount": {
876
894
"description": "Number of accounts this profile follows on the Sifa graph.",
877
895
"type": "integer"
878
896
},
879
897
"givenName": {
880
898
"description": "Given (first) name, when provided.",
881
899
"maxGraphemes": 128,
882
900
"maxLength": 1280,
883
901
"type": "string"
884
902
},
885
903
"handle": {
886
904
"description": "The current handle for the account.",
887
905
"format": "handle",
888
906
"type": "string"
889
907
},
890
908
"headline": {
891
909
"description": "Short professional headline.",
892
910
"maxGraphemes": 300,
893
911
"maxLength": 3000,
894
912
"type": "string"
895
913
},
896
914
"honors": {
897
915
"description": "Honors and awards.",
898
916
"items": {
899
917
"ref": "#honorView",
900
918
"type": "ref"
901
919
},
902
920
"type": "array"
903
921
},
904
922
"industries": {
905
923
"description": "Industry/domain pairs the user works in.",
906
924
"items": {
907
925
"ref": "id.sifa.defs#industryDomain",
908
926
"type": "ref"
909
927
},
910
928
"type": "array"
911
929
},
912
930
"involvement": {
913
931
"description": "Community, open-source, charity, and civic involvement.",
914
932
"items": {
915
933
"ref": "#involvementView",
916
934
"type": "ref"
917
935
},
918
936
"type": "array"
919
937
},
920
938
"langs": {
921
939
"description": "BCP-47 language tags the user has indicated.",
922
940
"items": {
923
941
"type": "string"
924
942
},
925
943
"type": "array"
926
944
},
927
945
"languages": {
928
946
"description": "Spoken/written languages with proficiency.",
929
947
"items": {
930
948
"ref": "#languageView",
931
949
"type": "ref"
932
950
},
933
951
"type": "array"
934
952
},
935
953
"location": {
936
954
"description": "Assembled human-readable primary location string.",
937
955
"type": "string"
938
956
},
939
957
"locationCountry": {
940
958
"description": "Primary location country name.",
941
959
"type": "string"
942
960
},
943
961
"locationLocality": {
944
962
"description": "Primary location city or locality.",
945
963
"type": "string"
946
964
},
947
965
"locationRegion": {
948
966
"description": "Primary location region, state, or province.",
949
967
"type": "string"
950
968
},
951
969
"locations": {
952
970
"description": "All professional locations on the profile.",
953
971
"items": {
954
972
"ref": "#locationView",
955
973
"type": "ref"
956
974
},
957
975
"type": "array"
958
976
},
959
977
"metInPersonCount": {
960
978
"description": "Number of confirmed in-person meetings.",
961
979
"type": "integer"
962
980
},
963
981
"openTo": {
964
982
"description": "The kinds of opportunities the user is open to.",
965
983
"items": {
966
984
"ref": "id.sifa.defs#openToWorkStatus",
967
985
"type": "ref"
968
986
},
969
987
"type": "array"
970
988
},
971
989
"pdsProvider": {
972
990
"description": "The account PDS provider.",
973
991
"ref": "#pdsProviderView",
974
992
"type": "ref"
975
993
},
976
994
"positions": {
977
995
"description": "Work history entries.",
978
996
"items": {
979
997
"ref": "#positionView",
980
998
"type": "ref"
981
999
},
982
1000
"type": "array"
983
1001
},
984
1002
"preferredWorkplace": {
985
1003
"description": "Preferred workplace arrangements.",
986
1004
"items": {
987
1005
"ref": "id.sifa.defs#workplaceType",
988
1006
"type": "ref"
989
1007
},
990
1008
"type": "array"
991
1009
},
992
1010
"presentationDeliveries": {
993
1011
"description": "Standalone deliveries that reference no owned presentation.",
994
1012
"items": {
995
1013
"ref": "#presentationDeliveryView",
996
1014
"type": "ref"
997
1015
},
998
1016
"type": "array"
999
1017
},
1000
1018
"presentations": {
1001
1019
"description": "Talks and sessions (content), each with its deliveries grouped underneath.",
1002
1020
"items": {
1003
1021
"ref": "#presentationView",
1004
1022
"type": "ref"
1005
1023
},
1006
1024
"type": "array"
1007
1025
},
1008
1026
"projects": {
1009
1027
"description": "Personal or professional projects.",
1010
1028
"items": {
1011
1029
"ref": "#projectView",
1012
1030
"type": "ref"
1013
1031
},
1014
1032
"type": "array"
1015
1033
},
1016
1034
"pronouns": {
1017
1035
"description": "Self-described pronouns.",
1018
1036
"maxGraphemes": 64,
1019
1037
"maxLength": 640,
1020
1038
"type": "string"
1021
1039
},
1022
1040
"publications": {
1023
1041
"description": "Publications, merged from Sifa records and linked ORCID works.",
1024
1042
"items": {
1025
1043
"ref": "#publicationView",
1026
1044
"type": "ref"
1027
1045
},
1028
1046
"type": "array"
1029
1047
},
1030
1048
"skills": {
1031
1049
"description": "Skills, optionally linked to positions.",
1032
1050
"items": {
1033
1051
"ref": "#skillView",
1034
1052
"type": "ref"
1035
1053
},
1036
1054
"type": "array"
1037
1055
},
1038
1056
"volunteering": {
1039
1057
"description": "Legacy volunteering entries. New entries are surfaced under involvement.",
1040
1058
"items": {
1041
1059
"ref": "#volunteeringView",
1042
1060
"type": "ref"
1043
1061
},
1044
1062
"type": "array"
1045
1063
},
1046
1064
"website": {
1047
1065
"description": "Primary personal or professional website.",
1048
1066
"format": "uri",
1049
1067
"type": "string"
1050
1068
}
1051
1069
},
1052
1070
"required": [
1053
1071
"did",
1054
1072
"handle"
1055
1073
],
1056
1074
"type": "object"
1057
1075
},
1058
1076
"projectView": {
1059
1077
"description": "A project entry.",
1060
1078
"properties": {
1061
1079
"description": {
1062
1080
"description": "Project description.",
1063
1081
"type": "string"
1064
1082
},
1065
1083
"endDate": {
1066
1084
"description": "End date. Partial date.",
1067
1085
"type": "string"
1068
1086
},
1069
1087
"name": {
1070
1088
"description": "Project name.",
1071
1089
"type": "string"
1072
1090
},
1073
1091
"rkey": {
1074
1092
"description": "Record key of the project record.",
1075
1093
"type": "string"
1076
1094
},
1077
1095
"startDate": {
1078
1096
"description": "Start date. Partial date.",
1079
1097
"type": "string"
1080
1098
},
1081
1099
"url": {
1082
1100
"description": "Project URL.",
1083
1101
"format": "uri",
1084
1102
"type": "string"
1085
1103
}
1086
1104
},
1087
1105
"required": [
1088
1106
"rkey",
1089
1107
"name"
1090
1108
],
1091
1109
"type": "object"
1092
1110
},
1093
1111
"publicationView": {
1094
1112
"description": "A publication, merged from Sifa and linked ORCID works.",
1095
1113
"properties": {
1096
1114
"contributors": {
1097
1115
"description": "Linked contributors (co-authors).",
1098
1116
"items": {
1099
1117
"ref": "#contributorView",
1100
1118
"type": "ref"
1101
1119
},
1102
1120
"type": "array"
1103
1121
},
1104
1122
"date": {
1105
1123
"description": "Publication date. Partial date.",
1106
1124
"type": "string"
1107
1125
},
1108
1126
"description": {
1109
1127
"description": "Description or abstract.",
1110
1128
"type": "string"
1111
1129
},
1112
1130
"doi": {
1113
1131
"description": "Digital Object Identifier.",
1114
1132
"type": "string"
1115
1133
},
1116
1134
"image": {
1117
1135
"description": "Cover or preview image URL.",
1118
1136
"format": "uri",
1119
1137
"type": "string"
1120
1138
},
1121
1139
"orcidCorroborated": {
1122
1140
"description": "Whether an ORCID work corroborates a Sifa record.",
1123
1141
"type": "boolean"
1124
1142
},
1125
1143
"publicationName": {
1126
1144
"description": "Name of the source publication venue, when present.",
1127
1145
"type": "string"
1128
1146
},
1129
1147
"publicationUri": {
1130
1148
"description": "AT-URI of the source publication record, when present.",
1131
1149
"format": "at-uri",
1132
1150
"type": "string"
1133
1151
},
1134
1152
"publicationUrl": {
1135
1153
"description": "Canonical publication URL, when present.",
1136
1154
"format": "uri",
1137
1155
"type": "string"
1138
1156
},
1139
1157
"publisher": {
1140
1158
"description": "Publisher or journal.",
1141
1159
"type": "string"
1142
1160
},
1143
1161
"rkey": {
1144
1162
"description": "Record key, or a synthetic key for ORCID-only works.",
1145
1163
"type": "string"
1146
1164
},
1147
1165
"subtitle": {
1148
1166
"description": "Subtitle.",
1149
1167
"type": "string"
1150
1168
},
1151
1169
"title": {
1152
1170
"description": "Publication title.",
1153
1171
"type": "string"
1154
1172
},
1155
1173
"type": {
1156
1174
"description": "Publication type token.",
1157
1175
"type": "string"
1158
1176
},
1159
1177
"typeLabel": {
1160
1178
"description": "Human-readable publication type.",
1161
1179
"type": "string"
1162
1180
},
1163
1181
"url": {
1164
1182
"description": "Publication URL.",
1165
1183
"format": "uri",
1166
1184
"type": "string"
1167
1185
},
1168
1186
"verified": {
1169
1187
"description": "Whether the publication is verified (e.g. via ORCID).",
1170
1188
"type": "boolean"
1171
1189
},
1172
1190
"verifiedVia": {
1173
1191
"description": "Verification source, when verified.",
1174
1192
"type": "string"
1175
1193
}
1176
1194
},
1177
1195
"required": [
1178
1196
"rkey",
1179
1197
"title",
1180
1198
"verified"
1181
1199
],
1182
1200
"type": "object"
1183
1201
},
1184
1202
"skillView": {
1185
1203
"description": "A skill entry.",
1186
1204
"properties": {
1187
1205
"category": {
1188
1206
"description": "Broad category.",
1189
1207
"ref": "id.sifa.defs#skillCategory",
1190
1208
"type": "ref"
1191
1209
},
1192
1210
"name": {
1193
1211
"description": "Skill name.",
1194
1212
"type": "string"
1195
1213
},
1196
1214
"positionRkeys": {
1197
1215
"description": "Record keys of positions this skill is linked to.",
1198
1216
"items": {
1199
1217
"type": "string"
1200
1218
},
1201
1219
"type": "array"
1202
1220
},
1203
1221
"rkey": {
1204
1222
"description": "Record key of the skill record.",
1205
1223
"type": "string"
1206
1224
}
1207
1225
},
1208
1226
"required": [
1209
1227
"rkey",
1210
1228
"name"
1211
1229
],
1212
1230
"type": "object"
1213
1231
},
1214
1232
"volunteeringView": {
1215
1233
"description": "A legacy volunteering entry.",
1216
1234
"properties": {
1217
1235
"cause": {
1218
1236
"description": "Cause supported.",
1219
1237
"type": "string"
1220
1238
},
1221
1239
"description": {
1222
1240
"description": "Description.",
1223
1241
"type": "string"
1224
1242
},
1225
1243
"endDate": {
1226
1244
"description": "End date. Partial date.",
1227
1245
"type": "string"
1228
1246
},
1229
1247
"entityRef": {
1230
1248
"description": "Pointer URI to the resolved organization entity.",
1231
1249
"format": "uri",
1232
1250
"type": "string"
1233
1251
},
1234
1252
"organization": {
1235
1253
"description": "Organization name.",
1236
1254
"type": "string"
1237
1255
},
1238
1256
"rkey": {
1239
1257
"description": "Record key of the volunteering record.",
1240
1258
"type": "string"
1241
1259
},
1242
1260
"role": {
1243
1261
"description": "Role held.",
1244
1262
"type": "string"
1245
1263
},
1246
1264
"startDate": {
1247
1265
"description": "Start date. Partial date.",
1248
1266
"type": "string"
1249
1267
}
1250
1268
},
1251
1269
"required": [
1252
1270
"rkey",
1253
1271
"organization"
1254
1272
],
1255
1273
"type": "object"
1256
1274
}
1257
1275
},
1258
1276
"description": "Get the aggregated public professional profile for an actor, as computed by a Sifa AppView. This view joins a user's id.sifa.* records across all sections (positions, education, skills, endorsements received, and more) plus AppView-computed aggregates (follower/connection counts, active apps, verification state). Raw records remain readable directly from the user's PDS; this method exposes the enriched, joined view that only exists in the AppView. Public projection: viewer-specific and internal fields are not included.",
1259
1277
"id": "id.sifa.getProfileView",
1260
1278
"lexicon": 1
1261
1279
}