id.sifa.profile.position

sifa.id

Schema Diff

+2 -0

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

Compare Other Versions

Lexicon Garden

@