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