id.sifa.getProfileView

sifa.id

Schema Diff

+20 -0

From

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

To

CID
bafyreiagvuxmqrl...
Indexed At
2026-09-05 16:00 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@