id.sifa.profile.position

sifa.id

Schema Diff

+4 -2

From

CID
bafyreib3b7d3exo...
Indexed At
2026-08-06 14:52 UTC
View this version

To

CID
bafyreibdrpq3ag4...
Indexed At
2026-08-07 11:35 UTC
View this version

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

Compare Other Versions

Lexicon Garden

@