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