id.sifa.endorsement

sifa.id

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Record representing an endorsement of another user's claimed skill.",
      "key": "tid",
      "record": {
        "properties": {
          "comment": {
            "description": "Optional brief comment explaining the endorsement.",
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          },
          "createdAt": {
            "description": "Client-declared timestamp when this endorsement was created.",
            "format": "datetime",
            "type": "string"
          },
          "credentialRef": {
            "description": "Optional reference to an education or credential record this endorsement confirms. May be set alongside positionRef when the endorsement relates to both a role and a credential.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "positionRef": {
            "description": "Optional reference to the id.sifa.position record this endorsement relates to. When present, indicates the endorsement is contextualised to a specific role rather than a general skill.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "skill": {
            "description": "StrongRef to the id.sifa.profile.skill record being endorsed. The AT-URI identifies the skill, and the CID pins the version. Optional: when absent, the endorser is proposing a skill the subject has not listed, named by skillName. The subject materialises the skill record on acceptance and links it from their id.sifa.endorsement.confirmation, since only they can write to their own repository.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "skillName": {
            "description": "Skill name at endorsement time. When skill is present this is captured from the endorsed record and acts as the anchor: if the skill is later renamed, this value lets the AppView detect that the endorsed claim may no longer match the current record. When skill is absent this is the proposed name for a skill the subject does not yet have. Stored in the endorser's PDS, so the endorsee cannot modify it.",
            "maxGraphemes": 64,
            "maxLength": 640,
            "minLength": 1,
            "type": "string"
          },
          "subject": {
            "description": "DID of the user whose skill is being endorsed.",
            "format": "did",
            "type": "string"
          }
        },
        "required": [
          "subject",
          "skillName",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "An endorsement of another user's skill. Lives in the endorser's PDS; the endorser is implicit (whoever owns the repository). May endorse a skill the subject already lists, or propose one they do not.",
  "id": "id.sifa.endorsement",
  "lexicon": 1
}

Validate Record

Validate a record against id.sifa.endorsement

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2f2ahswozqy4v5lvu676375y
CID
bafyreianfj4w3amu5tmxdltinfe46n56rysxkggbux4qre4bsfp3y5w4ay
Indexed At
2026-07-31 21:36 UTC
AT-URI
at://did:plc:2f2ahswozqy4v5lvu676375y/com.atproto.lexicon.schema/id.sifa.endorsement

Version History (3 versions)

Similar Lexicons

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

  • Confirmation that a skill endorsement should be displayed on the subject's profile. Lives in the subject's PDS. Without this record, the endorsement exists but is not shown on the profile. When the endorsement proposed …

  • An endorsement of a skill that the repo owner RECEIVED from another person. The repo owner is the endorsee (their identity is the repo's own DID); the endorser is referenced by DID when they are a known AT Protocol iden…

  • A cryptographically-verified professional endorsement between two identities.

  • A skill claimed by the user. Can be endorsed by other users via id.sifa.endorsement.

  • An endorsement entry. The author publicly signals they use or value the referenced entity.

Lexicon Garden

@