id.sifa.profile.position

sifa.id

Schema Diff

+5 -0

From

CID
bafyreieqdk3mqa5...
Indexed At
2026-06-09 15:54 UTC
View this version

To

CID
bafyreiag2sjil76...
Indexed At
2026-07-26 20:04 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "id.sifa.profile.position:body.entityRef" }
  • AddedEdge AddedEdge { src: "id.sifa.profile.position:body", tgt: "id.sifa.profile.position:body.entityRef", kind: "prop", name: Some("entityRef") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "id.sifa.profile.position:body.entityRef" }

Additional Notes

  • Non-breaking: AddedEdge { src: "id.sifa.profile.position:body", tgt: "id.sifa.profile.position:body.entityRef", kind: "prop", name: Some("entityRef") }
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
          },
22 22
          "labels": {
23 23
            "refs": [
24 24
              "com.atproto.label.defs#selfLabels"
25 25
            ],
26 26
            "type": "union",
27 27
            "description": "Self-label values for this position record."
28 28
          },
29 29
          "skills": {
30 30
            "type": "array",
31 31
            "items": {
32 32
              "ref": "id.sifa.defs#skillRef",
33 33
              "type": "ref"
34 34
            },
35 35
            "maxLength": 50,
36 36
            "description": "Skills used in this position. Each entry is a URI reference to an id.sifa.profile.skill record owned by the same DID."
37 37
          },
38 38
          "company": {
39 39
            "type": "string",
40 40
            "maxLength": 2560,
41 41
            "minLength": 1,
42 42
            "description": "Company or organization name. Optional: omit for self-employed, freelance, contract, or independent work that has no separately named or registered entity.",
43 43
            "maxGraphemes": 256
44 44
          },
45 45
          "endedAt": {
46 46
            "type": "string",
47 47
            "description": "End date of the position in YYYY-MM or YYYY-MM-DD format. Omit if this is a current position."
48 48
          },
49 49
          "location": {
50 50
            "ref": "community.lexicon.location.address",
51 51
            "type": "ref",
52 52
            "description": "Work location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer."
53 53
          },
54 54
          "createdAt": {
55 55
            "type": "string",
56 56
            "format": "datetime",
57 57
            "description": "Client-declared timestamp when this record was originally created."
58 58
          },
59 +
          "entityRef": {
60 +
            "type": "string",
61 +
            "format": "uri",
62 +
            "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."
63 +
          },
59 64
          "isPrimary": {
60 65
            "type": "boolean",
61 66
            "description": "Whether this is the user's primary current position, displayed on the identity card."
62 67
          },
63 68
          "startedAt": {
64 69
            "type": "string",
65 70
            "description": "Start date of the position in YYYY-MM or YYYY-MM-DD format."
66 71
          },
67 72
          "companyDid": {
68 73
            "type": "string",
69 74
            "format": "did",
70 75
            "description": "DID of the company's ATproto account, if one exists. Enables verified company linking."
71 76
          },
72 77
          "description": {
73 78
            "type": "string",
74 79
            "maxLength": 50000,
75 80
            "description": "Description of responsibilities, achievements, and duties.",
76 81
            "maxGraphemes": 5000
77 82
          },
78 83
          "workplaceType": {
79 84
            "type": "string",
80 85
            "description": "Workplace arrangement (on-site, remote, hybrid).",
81 86
            "knownValues": [
82 87
              "id.sifa.defs#onSite",
83 88
              "id.sifa.defs#remote",
84 89
              "id.sifa.defs#hybrid"
85 90
            ]
86 91
          },
87 92
          "employmentType": {
88 93
            "type": "string",
89 94
            "description": "Type of employment (full-time, part-time, contract, etc.).",
90 95
            "knownValues": [
91 96
              "id.sifa.defs#fullTime",
92 97
              "id.sifa.defs#partTime",
93 98
              "id.sifa.defs#temporary",
94 99
              "id.sifa.defs#seasonal",
95 100
              "id.sifa.defs#contract",
96 101
              "id.sifa.defs#freelance",
97 102
              "id.sifa.defs#selfEmployed",
98 103
              "id.sifa.defs#independentWork",
99 104
              "id.sifa.defs#internship",
100 105
              "id.sifa.defs#apprenticeship",
101 106
              "id.sifa.defs#fellowship",
102 107
              "id.sifa.defs#trainee",
103 108
              "id.sifa.defs#volunteer"
104 109
            ]
105 110
          }
106 111
        }
107 112
      },
108 113
      "description": "Record representing a single work position or role."
109 114
    }
110 115
  },
111 116
  "$type": "com.atproto.lexicon.schema",
112 117
  "lexicon": 1,
113 118
  "description": "A work experience entry in the user's professional profile."
114 119
}

Compare Other Versions

Lexicon Garden

@