id.sifa.profile.position
{
"$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. Optional: omit for self-employed, freelance, contract, or independent work that has no separately named or registered entity.",
"maxGraphemes": 256,
"maxLength": 2560,
"minLength": 1,
"type": "string",
"x-skos:exactMatch": [
"org:organization",
"schema:worksFor"
]
},
"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",
"x-skos:exactMatch": [
"dcterms:description"
]
},
"employmentType": {
"description": "Type of employment (full-time, part-time, contract, etc.).",
"knownValues": [
"id.sifa.defs#fullTime",
"id.sifa.defs#partTime",
"id.sifa.defs#temporary",
"id.sifa.defs#seasonal",
"id.sifa.defs#contract",
"id.sifa.defs#freelance",
"id.sifa.defs#selfEmployed",
"id.sifa.defs#independentWork",
"id.sifa.defs#internship",
"id.sifa.defs#apprenticeship",
"id.sifa.defs#fellowship",
"id.sifa.defs#trainee",
"id.sifa.defs#volunteer",
"id.sifa.defs#boardMember",
"id.sifa.defs#boardObserver",
"id.sifa.defs#advisor"
],
"type": "string",
"x-skos:closeMatch": [
"schema:employmentType"
]
},
"endedAt": {
"description": "End date of the position in YYYY-MM or YYYY-MM-DD format. Omit if this is a current position.",
"type": "string",
"x-skos:exactMatch": [
"schema:endDate"
]
},
"entityRef": {
"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.",
"format": "uri",
"type": "string",
"x-skos:closeMatch": [
"schema:sameAs"
]
},
"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. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer.",
"ref": "community.lexicon.location.address",
"type": "ref",
"x-skos:exactMatch": [
"schema:jobLocation"
]
},
"onBehalfOf": {
"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.",
"maxGraphemes": 256,
"maxLength": 2560,
"type": "string"
},
"onBehalfOfDid": {
"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).",
"format": "did",
"type": "string"
},
"onBehalfOfEntityRef": {
"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.",
"format": "uri",
"type": "string"
},
"skills": {
"description": "Skills used in this position. Each entry is a URI reference to an id.sifa.profile.skill record owned by the same DID.",
"items": {
"ref": "id.sifa.defs#skillRef",
"type": "ref"
},
"maxLength": 50,
"type": "array"
},
"startedAt": {
"description": "Start date of the position in YYYY-MM or YYYY-MM-DD format.",
"type": "string",
"x-skos:exactMatch": [
"schema:startDate"
]
},
"title": {
"description": "Job title or role name.",
"maxGraphemes": 256,
"maxLength": 2560,
"minLength": 1,
"type": "string",
"x-skos:exactMatch": [
"org:role",
"schema:roleName"
]
},
"workplaceType": {
"description": "Workplace arrangement (on-site, remote, hybrid).",
"knownValues": [
"id.sifa.defs#onSite",
"id.sifa.defs#remote",
"id.sifa.defs#hybrid"
],
"type": "string",
"x-skos:narrowMatch": [
"schema:jobLocationType"
]
}
},
"required": [
"title",
"startedAt",
"createdAt"
],
"type": "object"
},
"type": "record",
"x-skos:closeMatch": [
"org:Membership",
"schema:OrganizationRole"
]
}
},
"description": "A work experience entry in the user's professional profile.",
"id": "id.sifa.profile.position",
"lexicon": 1
}
Metadata
- DID
-
did:plc:2f2ahswozqy4v5lvu676375y - CID
-
bafyreib3b7d3exo6tnvo3sxrqezlkqugwlax3ckgncsjiy3vrprdbqhtny - Indexed At
- 2026-08-06 14:52 UTC
- AT-URI
-
at://did:plc:2f2ahswozqy4v5lvu676375y/com.atproto.lexicon.schema/id.sifa.profile.position
Version History (9 versions)
Referenced Schemas (3)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
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.…
-
work.nectvia.career.position record
A record of a work position held by the repo owner.
-
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…
-
id.sifa.profile.volunteering record
A volunteer experience entry in the user's professional profile.
-
app.xptracker.job.listing record
A job listing published on the AT Protocol.