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