Record representing a single education credential.
tid
Timestamp-based ID
Properties
activities
string
Optional
Activities, societies, and extracurriculars.
maxLength: 10000 bytesmaxGraphemes: 1000 graphemesagentRef
ref
id.sifa.defs#agentRef
Optional
The educational institution, as a single nested reference mirroring the flat institution / institutionDid / entityRef fields. Additive dual-write: the flat fields remain the source of truth for existing consumers.
createdAt
string
datetime
Required
Client-declared timestamp when this record was originally created.
degree
string
Optional
Degree name (e.g., 'Bachelor of Science', 'Master of Arts').
maxLength: 2560 bytesmaxGraphemes: 256 graphemesdescription
string
Optional
Additional description or notes about the education.
maxLength: 50000 bytesmaxGraphemes: 5000 graphemesendedAt
string
Optional
End date (graduation or expected graduation) in YYYY-MM or YYYY-MM-DD format. Omit if currently enrolled.
entityRef
string
uri
Optional
Portable, app-neutral identifier for the educational institution the user selected from a resolver dropdown: a Wikidata Q-ID URI (http://www.wikidata.org/entity/Q...), a ROR URI, or an LEI URI. Enables deterministic resolution to a canonical entity even before the institution claims an ATproto account. Absent for free-text entries.
eqfLevel
integer
Optional
Level of the qualification on the European Qualifications Framework (EQF), 1 to 8. 6 is bachelor level, 7 is master level, 8 is doctoral level. Omit when unknown. The free-text degree stays the display name.
minimum: 1maximum: 8fieldOfStudy
string
Optional
Field of study or major.
maxLength: 2560 bytesmaxGraphemes: 256 graphemesgrade
string
Optional
Grade, GPA, or classification achieved.
maxLength: 500 bytesmaxGraphemes: 50 graphemesinstitution
string
Required
Name of the educational institution.
maxLength: 2560 bytesminLength: 1 bytesmaxGraphemes: 256 graphemesinstitutionDid
string
did
Optional
DID of the institution's ATproto account, if one exists.
isPrimary
boolean
Optional
Whether this is the user's primary education entry, surfaced in profile Highlights. Any entry may be primary.
labels
union
Optional
Self-label values for this education record.
location
ref
community.lexicon.location.address
Optional
Institution location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer.
startedAt
string
Optional
Start date in YYYY-MM or YYYY-MM-DD format.
View raw schema
{
"description": "Record representing a single education credential.",
"key": "tid",
"record": {
"properties": {
"activities": {
"description": "Activities, societies, and extracurriculars.",
"maxGraphemes": 1000,
"maxLength": 10000,
"type": "string"
},
"agentRef": {
"description": "The educational institution, as a single nested reference mirroring the flat institution / institutionDid / entityRef fields. Additive dual-write: the flat fields remain the source of truth for existing consumers.",
"ref": "id.sifa.defs#agentRef",
"type": "ref"
},
"createdAt": {
"description": "Client-declared timestamp when this record was originally created.",
"format": "datetime",
"type": "string"
},
"degree": {
"description": "Degree name (e.g., 'Bachelor of Science', 'Master of Arts').",
"maxGraphemes": 256,
"maxLength": 2560,
"type": "string",
"x-skos:closeMatch": [
"schema:hasCredential",
"bibo:degree"
]
},
"description": {
"description": "Additional description or notes about the education.",
"maxGraphemes": 5000,
"maxLength": 50000,
"type": "string"
},
"endedAt": {
"description": "End date (graduation or expected graduation) in YYYY-MM or YYYY-MM-DD format. Omit if currently enrolled.",
"type": "string"
},
"entityRef": {
"description": "Portable, app-neutral identifier for the educational institution the user selected from a resolver dropdown: a Wikidata Q-ID URI (http://www.wikidata.org/entity/Q...), a ROR URI, or an LEI URI. Enables deterministic resolution to a canonical entity even before the institution claims an ATproto account. Absent for free-text entries.",
"format": "uri",
"type": "string"
},
"eqfLevel": {
"description": "Level of the qualification on the European Qualifications Framework (EQF), 1 to 8. 6 is bachelor level, 7 is master level, 8 is doctoral level. Omit when unknown. The free-text degree stays the display name.",
"maximum": 8,
"minimum": 1,
"type": "integer",
"x-skos:closeMatch": [
"schema:educationalLevel"
],
"x-skos:note": "EQF is the value anchor."
},
"fieldOfStudy": {
"description": "Field of study or major.",
"maxGraphemes": 256,
"maxLength": 2560,
"type": "string",
"x-skos:closeMatch": [
"schema:educationalCredentialAwarded"
],
"x-skos:note": "ISCED-F is the value anchor."
},
"grade": {
"description": "Grade, GPA, or classification achieved.",
"maxGraphemes": 50,
"maxLength": 500,
"type": "string"
},
"institution": {
"description": "Name of the educational institution.",
"maxGraphemes": 256,
"maxLength": 2560,
"minLength": 1,
"type": "string",
"x-skos:exactMatch": [
"schema:alumniOf"
]
},
"institutionDid": {
"description": "DID of the institution's ATproto account, if one exists.",
"format": "did",
"type": "string"
},
"isPrimary": {
"description": "Whether this is the user's primary education entry, surfaced in profile Highlights. Any entry may be primary.",
"type": "boolean"
},
"labels": {
"description": "Self-label values for this education record.",
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union"
},
"location": {
"description": "Institution location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer.",
"ref": "community.lexicon.location.address",
"type": "ref"
},
"startedAt": {
"description": "Start date in YYYY-MM or YYYY-MM-DD format.",
"type": "string"
}
},
"required": [
"institution",
"createdAt"
],
"type": "object"
},
"type": "record",
"x-skos:closeMatch": [
"schema:EducationalOccupationalCredential"
],
"x-skos:note": "One record maps to two schema.org assertions: alumniOf for the institution and hasCredential for the degree."
}