id.sifa.org.employmentAttestation

sifa.id

Documentation

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.

main record

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.

Record Key tid Timestamp-based ID

Properties

comment string Optional

Optional brief comment from the organization.

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
companyDid string did Optional

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.

createdAt string datetime Required

Client-declared timestamp when this attestation was created.

endedAt string Optional

End date in YYYY-MM or YYYY-MM-DD format. Required context when status is past.

entityRef string uri Optional

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.

position ref com.atproto.repo.strongRef Optional

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.

startedAt string Optional

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.

subject string did Required

DID of the employee whose employment is being attested.

title string Optional

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.

maxLength: 2560 bytesminLength: 1 bytesmaxGraphemes: 256 graphemes
View raw schema
{
  "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.",
  "key": "tid",
  "record": {
    "properties": {
      "comment": {
        "description": "Optional brief comment from the organization.",
        "maxGraphemes": 300,
        "maxLength": 3000,
        "type": "string"
      },
      "companyDid": {
        "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.",
        "format": "did",
        "type": "string"
      },
      "createdAt": {
        "description": "Client-declared timestamp when this attestation was created.",
        "format": "datetime",
        "type": "string"
      },
      "endedAt": {
        "description": "End date in YYYY-MM or YYYY-MM-DD format. Required context when status is past.",
        "type": "string"
      },
      "entityRef": {
        "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.",
        "format": "uri",
        "type": "string"
      },
      "labels": {
        "description": "Self-label values for this attestation record.",
        "refs": [
          "com.atproto.label.defs#selfLabels"
        ],
        "type": "union"
      },
      "position": {
        "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.",
        "ref": "com.atproto.repo.strongRef",
        "type": "ref"
      },
      "source": {
        "description": "How the attestation was written. Absent means an account holder confirmed it by hand.",
        "ref": "id.sifa.defs#attestationSource",
        "type": "ref"
      },
      "startedAt": {
        "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.",
        "type": "string"
      },
      "status": {
        "description": "Whether the employment is current or past.",
        "ref": "id.sifa.defs#employmentStatus",
        "type": "ref"
      },
      "subject": {
        "description": "DID of the employee whose employment is being attested.",
        "format": "did",
        "type": "string"
      },
      "title": {
        "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.",
        "maxGraphemes": 256,
        "maxLength": 2560,
        "minLength": 1,
        "type": "string"
      }
    },
    "required": [
      "subject",
      "status",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}

Lexicon Garden

@