Record representing an endorsement of another user's claimed skill.
tid
Timestamp-based ID
Properties
comment
string
Optional
Optional brief comment explaining the endorsement.
maxLength: 3000 bytesmaxGraphemes: 300 graphemescreatedAt
string
datetime
Required
Client-declared timestamp when this endorsement was created.
credentialRef
ref
com.atproto.repo.strongRef
Optional
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.
positionRef
ref
com.atproto.repo.strongRef
Optional
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.
skill
ref
com.atproto.repo.strongRef
Optional
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.
skillName
string
Required
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.
maxLength: 640 bytesminLength: 1 bytesmaxGraphemes: 64 graphemessubject
string
did
Required
DID of the user whose skill is being endorsed.
View raw schema
{
"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"
}