id.sifa.profile.education
Schema Diff
+5 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "id.sifa.profile.education:body.entityRef" }
- AddedEdge AddedEdge { src: "id.sifa.profile.education:body", tgt: "id.sifa.profile.education:body.entityRef", kind: "prop", name: Some("entityRef") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "id.sifa.profile.education:body.entityRef" }
Additional Notes
- Non-breaking: AddedEdge { src: "id.sifa.profile.education:body", tgt: "id.sifa.profile.education:body.entityRef", kind: "prop", name: Some("entityRef") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Record representing a single education credential.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"activities": {
10
10
"description": "Activities, societies, and extracurriculars.",
11
11
"maxGraphemes": 1000,
12
12
"maxLength": 10000,
13
13
"type": "string"
14
14
},
15
15
"createdAt": {
16
16
"description": "Client-declared timestamp when this record was originally created.",
17
17
"format": "datetime",
18
18
"type": "string"
19
19
},
20
20
"degree": {
21
21
"description": "Degree name (e.g., 'Bachelor of Science', 'Master of Arts').",
22
22
"maxGraphemes": 256,
23
23
"maxLength": 2560,
24
24
"type": "string"
25
25
},
26
26
"description": {
27
27
"description": "Additional description or notes about the education.",
28
28
"maxGraphemes": 5000,
29
29
"maxLength": 50000,
30
30
"type": "string"
31
31
},
32
32
"endedAt": {
33
33
"description": "End date (graduation or expected graduation) in YYYY-MM or YYYY-MM-DD format. Omit if currently enrolled.",
34
34
"type": "string"
35
35
},
36
+
"entityRef": {
37
+
"description": "Portable, app-neutral identifier for the educational institution the user selected from a resolver dropdown: a Wikidata Q-ID URI (http://www.wikidata.org/entity/Q...), a ROR URI, or an LEI URI. Enables deterministic resolution to a canonical entity even before the institution claims an ATproto account. Absent for free-text entries.",
38
+
"format": "uri",
39
+
"type": "string"
40
+
},
36
41
"fieldOfStudy": {
37
42
"description": "Field of study or major.",
38
43
"maxGraphemes": 256,
39
44
"maxLength": 2560,
40
45
"type": "string"
41
46
},
42
47
"grade": {
43
48
"description": "Grade, GPA, or classification achieved.",
44
49
"maxGraphemes": 50,
45
50
"maxLength": 500,
46
51
"type": "string"
47
52
},
48
53
"institution": {
49
54
"description": "Name of the educational institution.",
50
55
"maxGraphemes": 256,
51
56
"maxLength": 2560,
52
57
"minLength": 1,
53
58
"type": "string"
54
59
},
55
60
"institutionDid": {
56
61
"description": "DID of the institution's ATproto account, if one exists.",
57
62
"format": "did",
58
63
"type": "string"
59
64
},
60
65
"labels": {
61
66
"description": "Self-label values for this education record.",
62
67
"refs": [
63
68
"com.atproto.label.defs#selfLabels"
64
69
],
65
70
"type": "union"
66
71
},
67
72
"location": {
68
73
"description": "Institution location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer.",
69
74
"ref": "community.lexicon.location.address",
70
75
"type": "ref"
71
76
},
72
77
"startedAt": {
73
78
"description": "Start date in YYYY-MM or YYYY-MM-DD format.",
74
79
"type": "string"
75
80
}
76
81
},
77
82
"required": [
78
83
"institution",
79
84
"createdAt"
80
85
],
81
86
"type": "object"
82
87
},
83
88
"type": "record"
84
89
}
85
90
},
86
91
"description": "An education entry in the user's professional profile.",
87
92
"id": "id.sifa.profile.education",
88
93
"lexicon": 1
89
94
}