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