From
bafyreig6hzxn6bsm4aw3syqecxwomceo77k4qxc5jsaerukwz3ehfcc4xi
indexed 2026-09-30 20:06 UTC
View this version
To
bafyreifn6cn7rkqgubdh3czc72ihdd2augt6vetvjdxtsix5u7at2zuzoy
indexed 2026-10-30 13:43 UTC
View this version
Compatibility
backward compatible No changes detected.
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "Record representing an organization's attestation that a person is or was employed at its entity. Deleting the record is a revocation. Updating status from current to past with an end date is offboarding, which keeps the history.",66
"key": "tid",77
"record": {88
"properties": {99
"comment": {1010
"description": "Optional brief comment from the organization.",1111
"maxGraphemes": 300,1212
"maxLength": 3000,1313
"type": "string"1414
},1515
"companyDid": {1616
"description": "Deprecated. The attesting organization is the repository owner, so this field carries no information; readers ignore it. Kept so existing schema readers do not break.",1717
"format": "did",1818
"type": "string"1919
},2020
"createdAt": {2121
"description": "Client-declared timestamp when this attestation was created.",2222
"format": "datetime",2323
"type": "string"2424
},2525
"endedAt": {26
"description": "End date in YYYY-MM or YYYY-MM-DD format. Required context when status is past.",26
"description": "End date in YYYY, YYYY-MM or YYYY-MM-DD format. Required context when status is past.",2727
"type": "string"2828
},2929
"entityRef": {3030
"description": "Portable entity identifier (Wikidata Q-ID URI, ROR URI, or LEI URI) of the employing legal entity. Omit it when the organization account itself is the anchor. Never the free-text company name.",3131
"format": "uri",3232
"type": "string"3333
},3434
"labels": {3535
"description": "Self-label values for this attestation record.",3636
"refs": [3737
"com.atproto.label.defs#selfLabels"3838
],3939
"type": "union"4040
},4141
"position": {4242
"description": "StrongRef to the id.sifa.profile.position record being attested. It must belong to subject. Resolve by AT-URI: the CID is the version the organization saw and must not be used as a join key, because the subject editing the position changes its CID. Omit it to attest employment at the entity as a whole, which then matches every position of the subject at that entity with an overlapping period.",4343
"ref": "com.atproto.repo.strongRef",4444
"type": "ref"4545
},4646
"source": {4747
"description": "How the attestation was written. Absent means an account holder confirmed it by hand.",4848
"ref": "id.sifa.defs#attestationSource",4949
"type": "ref"5050
},5151
"startedAt": {52
"description": "Optional start date snapshot in YYYY-MM or YYYY-MM-DD format, mirroring the position lexicon's freeform date shape. Compared at month precision; a later difference makes the attestation stale.",52
"description": "Optional start date snapshot in YYYY, YYYY-MM or YYYY-MM-DD format, mirroring the position lexicon's freeform date shape. Compared at month precision; a later difference makes the attestation stale.",5353
"type": "string"5454
},5555
"status": {5656
"description": "Whether the employment is current or past.",5757
"ref": "id.sifa.defs#employmentStatus",5858
"type": "ref"5959
},6060
"subject": {6161
"description": "DID of the employee whose employment is being attested.",6262
"format": "did",6363
"type": "string"6464
},6565
"title": {6666
"description": "Optional job title snapshot from the position at attestation time. If the position's title later differs, the attestation is stale until the organization re-attests.",6767
"maxGraphemes": 256,6868
"maxLength": 2560,6969
"minLength": 1,7070
"type": "string"7171
}7272
},7373
"required": [7474
"subject",7575
"status",7676
"createdAt"7777
],7878
"type": "object"7979
},8080
"type": "record"8181
}8282
},8383
"description": "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. The optional title and start-date snapshots let a consumer notice when the referenced position was edited afterwards: a mismatch makes the attestation stale, never void. Never pins the free-text company name, which can change in a rebrand without affecting the attestation.",8484
"id": "id.sifa.org.employmentAttestation",8585
"lexicon": 18686
}