id.sifa.profile.position

sifa.id

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Record representing a single work position or role.",
      "key": "tid",
      "record": {
        "properties": {
          "company": {
            "description": "Company or organization name.",
            "maxGraphemes": 100,
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          },
          "companyDid": {
            "description": "DID of the company's ATproto account, if one exists. Enables verified company linking.",
            "format": "did",
            "type": "string"
          },
          "createdAt": {
            "description": "Client-declared timestamp when this record was originally created.",
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "Description of responsibilities, achievements, and duties.",
            "maxGraphemes": 5000,
            "maxLength": 50000,
            "type": "string"
          },
          "employmentType": {
            "description": "Type of employment (full-time, part-time, contract, etc.).",
            "knownValues": [
              "id.sifa.defs#fullTime",
              "id.sifa.defs#partTime",
              "id.sifa.defs#contract",
              "id.sifa.defs#freelance",
              "id.sifa.defs#internship",
              "id.sifa.defs#apprenticeship",
              "id.sifa.defs#volunteer",
              "id.sifa.defs#selfEmployed"
            ],
            "type": "string"
          },
          "endedAt": {
            "description": "End date of the position. Omit if this is a current position.",
            "format": "datetime",
            "type": "string"
          },
          "isPrimary": {
            "description": "Whether this is the user's primary current position, displayed on the identity card.",
            "type": "boolean"
          },
          "labels": {
            "description": "Self-label values for this position record.",
            "refs": [
              "com.atproto.label.defs#selfLabels"
            ],
            "type": "union"
          },
          "location": {
            "description": "Work location. Uses community location lexicon.",
            "ref": "community.lexicon.location.address",
            "type": "ref"
          },
          "skills": {
            "description": "Skills used in this position. Each entry is a strongRef to an id.sifa.profile.skill record owned by the same DID.",
            "items": {
              "ref": "com.atproto.repo.strongRef",
              "type": "ref"
            },
            "maxLength": 50,
            "type": "array"
          },
          "startedAt": {
            "description": "Start date of the position. For month-precision imports, use first day of month at midnight UTC.",
            "format": "datetime",
            "type": "string"
          },
          "title": {
            "description": "Job title or role name.",
            "maxGraphemes": 100,
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          },
          "workplaceType": {
            "description": "Workplace arrangement (on-site, remote, hybrid).",
            "knownValues": [
              "id.sifa.defs#onSite",
              "id.sifa.defs#remote",
              "id.sifa.defs#hybrid"
            ],
            "type": "string"
          }
        },
        "required": [
          "company",
          "title",
          "startedAt",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A work experience entry in the user's professional profile.",
  "id": "id.sifa.profile.position",
  "lexicon": 1
}

Validate Record

Validate a record against id.sifa.profile.position

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2f2ahswozqy4v5lvu676375y
CID
bafyreiei6d5sb2w3qqqqcjgweqqwpw36lqhbys4olseqrk66r33nagpsdq
Indexed At
2026-03-27 23:46 UTC
AT-URI
at://did:plc:2f2ahswozqy4v5lvu676375y/com.atproto.lexicon.schema/id.sifa.profile.position

Version History (9 versions)

Referenced Schemas (2)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • id.sifa.org.employmentAttestation recordnot from the namespace authority

    An organization's attestation that a person is or was employed by it. Lives in the organization's PDS; the organization is whoever owns the repository. The organization attests employment at the entity, not a job title.…

  • A record of a work position held by the repo owner.

  • id.sifa.verification.employment recordnot from the namespace authority

    Sifa's own statement that it verified a person's employment. Written only by Sifa's published issuer account, about someone else, the way a trusted verifier writes app.bsky.graph.verification. Consumers trust the issuer…

  • A volunteer experience entry in the user's professional profile.

  • A job listing published on the AT Protocol.

Lexicon Garden

@