id.sifa.getProfileView

sifa.id

Schema Diff

+18 -0

From

CID
bafyreifj2fdxyod...
Indexed At
2026-07-17 13:09 UTC
View this version

To

CID
bafyreicuu66a6ps...
Indexed At
2026-08-06 14:12 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@