id.sifa.endorsement

sifa.id

Documentation

Record representing an endorsement of another user's claimed skill.

main record

Record representing an endorsement of another user's claimed skill.

Record Key tid Timestamp-based ID

Properties

comment string Optional

Optional brief comment explaining the endorsement.

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
createdAt string datetime Required

Client-declared timestamp when this endorsement was created.

skill ref com.atproto.repo.strongRef Required

StrongRef to the id.sifa.profile.skill record being endorsed. The AT-URI identifies the skill, and the CID pins the version.

skillName string Required

Skill name at endorsement time, captured from the endorsed record. This is the anchor field: if the skill is later renamed, this value lets the AppView detect that the endorsed claim may no longer match the current record. Stored in the endorser's PDS, so the endorsee cannot modify it.

maxLength: 640 bytesminLength: 1 bytesmaxGraphemes: 64 graphemes
subject string did Required

DID of the user whose skill is being endorsed.

View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "subject",
      "skill",
      "skillName",
      "createdAt"
    ],
    "properties": {
      "skill": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "StrongRef to the id.sifa.profile.skill record being endorsed. The AT-URI identifies the skill, and the CID pins the version."
      },
      "comment": {
        "type": "string",
        "maxLength": 3000,
        "description": "Optional brief comment explaining the endorsement.",
        "maxGraphemes": 300
      },
      "subject": {
        "type": "string",
        "format": "did",
        "description": "DID of the user whose skill is being endorsed."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Client-declared timestamp when this endorsement was created."
      },
      "skillName": {
        "type": "string",
        "maxLength": 640,
        "minLength": 1,
        "description": "Skill name at endorsement time, captured from the endorsed record. This is the anchor field: if the skill is later renamed, this value lets the AppView detect that the endorsed claim may no longer match the current record. Stored in the endorser's PDS, so the endorsee cannot modify it.",
        "maxGraphemes": 64
      }
    }
  },
  "description": "Record representing an endorsement of another user's claimed skill."
}

Lexicon Garden

@