id.sifa.profile.position
Schema Diff
+2 -2
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Record representing a single work position or role.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"agentRef": {
10
10
"description": "The employer, as a single nested reference mirroring the flat company / companyDid / entityRef fields. Additive dual-write: the flat fields remain the source of truth for existing consumers.",
11
11
"ref": "id.sifa.defs#agentRef",
12
12
"type": "ref"
13
13
},
14
14
"company": {
15
-
"description": "Company or organization name. Optional: omit for self-employed, freelance, contract, or independent work that has no separately named or registered entity.",
15
+
"description": "Organization name. Optional: omit for self-employed, freelance, contract, or independent work that has no separately named or registered entity.",
16
16
"maxGraphemes": 256,
17
17
"maxLength": 2560,
18
18
"minLength": 1,
19
19
"type": "string",
20
20
"x-skos:exactMatch": [
21
21
"org:organization",
22
22
"schema:worksFor"
23
23
]
24
24
},
25
25
"companyDid": {
26
-
"description": "DID of the company's ATproto account, if one exists. Enables verified company linking.",
26
+
"description": "DID of the organization's ATproto account, if one exists. Enables verified organization linking.",
27
27
"format": "did",
28
28
"type": "string"
29
29
},
30
30
"createdAt": {
31
31
"description": "Client-declared timestamp when this record was originally created.",
32
32
"format": "datetime",
33
33
"type": "string"
34
34
},
35
35
"description": {
36
36
"description": "Description of responsibilities, achievements, and duties.",
37
37
"maxGraphemes": 5000,
38
38
"maxLength": 50000,
39
39
"type": "string",
40
40
"x-skos:exactMatch": [
41
41
"dcterms:description"
42
42
]
43
43
},
44
44
"employmentType": {
45
45
"description": "Type of employment (full-time, part-time, contract, etc.).",
46
46
"knownValues": [
47
47
"id.sifa.defs#fullTime",
48
48
"id.sifa.defs#partTime",
49
49
"id.sifa.defs#temporary",
50
50
"id.sifa.defs#seasonal",
51
51
"id.sifa.defs#contract",
52
52
"id.sifa.defs#freelance",
53
53
"id.sifa.defs#selfEmployed",
54
54
"id.sifa.defs#independentWork",
55
55
"id.sifa.defs#internship",
56
56
"id.sifa.defs#apprenticeship",
57
57
"id.sifa.defs#fellowship",
58
58
"id.sifa.defs#trainee",
59
59
"id.sifa.defs#volunteer",
60
60
"id.sifa.defs#boardMember",
61
61
"id.sifa.defs#boardObserver",
62
62
"id.sifa.defs#advisor"
63
63
],
64
64
"type": "string",
65
65
"x-skos:closeMatch": [
66
66
"schema:employmentType"
67
67
],
68
68
"x-skos:note": "schema:employmentType is free text. ESCO is the better value anchor."
69
69
},
70
70
"endedAt": {
71
71
"description": "End date of the position in YYYY-MM or YYYY-MM-DD format. Omit if this is a current position.",
72
72
"type": "string",
73
73
"x-skos:exactMatch": [
74
74
"schema:endDate"
75
75
]
76
76
},
77
77
"entityRef": {
78
78
"description": "Portable, app-neutral identifier for the organization 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 org claims an ATproto account. Absent for free-text or independent/self-employed positions.",
79
79
"format": "uri",
80
80
"type": "string",
81
81
"x-skos:closeMatch": [
82
82
"schema:sameAs"
83
83
]
84
84
},
85
85
"isPrimary": {
86
86
"description": "Whether this is the user's primary current position, displayed on the identity card.",
87
87
"type": "boolean"
88
88
},
89
89
"labels": {
90
90
"description": "Self-label values for this position record.",
91
91
"refs": [
92
92
"com.atproto.label.defs#selfLabels"
93
93
],
94
94
"type": "union"
95
95
},
96
96
"location": {
97
97
"description": "Work location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer.",
98
98
"ref": "community.lexicon.location.address",
99
99
"type": "ref",
100
100
"x-skos:exactMatch": [
101
101
"schema:jobLocation"
102
102
]
103
103
},
104
104
"onBehalfOf": {
105
105
"description": "Name of the 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. Omit for independent seats.",
106
106
"maxGraphemes": 256,
107
107
"maxLength": 2560,
108
108
"type": "string"
109
109
},
110
110
"onBehalfOfDid": {
111
111
"description": "DID of the represented party's ATproto account, if one exists. May resolve to an organization or to a person (e.g. a family-office principal).",
112
112
"format": "did",
113
113
"type": "string"
114
114
},
115
115
"onBehalfOfEntityRef": {
116
116
"description": "Portable, app-neutral identifier for the represented party selected from a resolver dropdown: a Wikidata Q-ID URI, a ROR URI, or an LEI URI. Absent for free-text entries.",
117
117
"format": "uri",
118
118
"type": "string"
119
119
},
120
120
"skills": {
121
121
"description": "Skills used in this position. Each entry is a URI reference to an id.sifa.profile.skill record owned by the same DID.",
122
122
"items": {
123
123
"ref": "id.sifa.defs#skillRef",
124
124
"type": "ref"
125
125
},
126
126
"maxLength": 50,
127
127
"type": "array"
128
128
},
129
129
"startedAt": {
130
130
"description": "Start date of the position in YYYY-MM or YYYY-MM-DD format.",
131
131
"type": "string",
132
132
"x-skos:exactMatch": [
133
133
"schema:startDate"
134
134
]
135
135
},
136
136
"title": {
137
137
"description": "Job title or role name.",
138
138
"maxGraphemes": 256,
139
139
"maxLength": 2560,
140
140
"minLength": 1,
141
141
"type": "string",
142
142
"x-skos:exactMatch": [
143
143
"org:role",
144
144
"schema:roleName"
145
145
]
146
146
},
147
147
"workplaceType": {
148
148
"description": "Workplace arrangement (on-site, remote, hybrid).",
149
149
"knownValues": [
150
150
"id.sifa.defs#onSite",
151
151
"id.sifa.defs#remote",
152
152
"id.sifa.defs#hybrid"
153
153
],
154
154
"type": "string",
155
155
"x-skos:narrowMatch": [
156
156
"schema:jobLocationType"
157
157
],
158
158
"x-skos:note": "schema.org models only a remote flag; Sifa distinguishes onSite, remote, and hybrid."
159
159
}
160
160
},
161
161
"required": [
162
162
"title",
163
163
"startedAt",
164
164
"createdAt"
165
165
],
166
166
"type": "object"
167
167
},
168
168
"type": "record",
169
169
"x-skos:closeMatch": [
170
170
"org:Membership",
171
171
"schema:OrganizationRole"
172
172
]
173
173
}
174
174
},
175
175
"description": "A work experience entry in the user's professional profile.",
176
176
"id": "id.sifa.profile.position",
177
177
"lexicon": 1
178
178
}