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