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