id.sifa.getProfileView

sifa.id

Schema Diff

+8 -0

From

CID
bafyreihycrrvkzt...
Indexed At
2026-09-25 08:17 UTC
View this version

To

CID
bafyreibiig5xeyw...
Indexed At
2026-09-25 18:15 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "id.sifa.defs#relatedIdentifier" }
  • AddedVertex AddedVertex { vertex_id: "id.sifa.getProfileView#publicationView.relatedIdentifiers" }
  • AddedVertex AddedVertex { vertex_id: "id.sifa.getProfileView#publicationView.relatedIdentifiers:items" }
  • AddedEdge AddedEdge { src: "id.sifa.getProfileView#publicationView", tgt: "id.sifa.getProfileView#publicationView.relatedIdentifiers", kind: "prop", name: Some("relatedIdentifiers") }
  • AddedEdge AddedEdge { src: "id.sifa.getProfileView#publicationView.relatedIdentifiers", tgt: "id.sifa.getProfileView#publicationView.relatedIdentifiers:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "id.sifa.getProfileView#publicationView.relatedIdentifiers:items", tgt: "id.sifa.defs#relatedIdentifier", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "id.sifa.defs#relatedIdentifier" }
  • AddedVertex { vertex_id: "id.sifa.getProfileView#publicationView.relatedIdentifiers" }
  • AddedVertex { vertex_id: "id.sifa.getProfileView#publicationView.relatedIdentifiers:items" }

Additional Notes

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

Compare Other Versions

Lexicon Garden

@