id.sifa.profile.position

sifa.id

Schema Diff

+1 -2

From

CID
bafyreiblguoexne...
Indexed At
2026-05-27 12:05 UTC
View this version

To

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

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 0 non-breaking changes.

Breaking Changes (1)
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "id.sifa.profile.position:body", src: "id.sifa.profile.position:body", tgt: "id.sifa.profile.position:body.company", kind: "prop", name: Some("company") }

Migration Guidance

Additional Notes

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

Compare Other Versions

Lexicon Garden

@