full diff

id.sifa.profile.course

sifa.id +1 −1
From
bafyreic7vin6yfciymzwdrtyuwl23mr7ct4hpy2wycmwoa2cwck3u4frou indexed 2026-09-25 20:36 UTC View this version
To
bafyreidyt7n7x6r72rzugu3cqxxlfbxl3db2uyjja4o6qjdwnbe5wvb7ta indexed 2026-10-30 13:43 UTC View this version

Compatibility

backward compatible No changes detected.

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "Record representing a single completed course.",
66 "key": "tid",
77 "record": {
88 "properties": {
99 "agentRef": {
1010 "description": "The institution or platform offering the course, 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.",
1111 "ref": "id.sifa.defs#agentRef",
1212 "type": "ref"
1313 },
1414 "completedAt": {
15 "description": "Date the course was completed, in YYYY-MM or YYYY-MM-DD format. Omit if unknown. Applies to a course the user took.",
15 "description": "Date the course was completed, in YYYY, YYYY-MM or YYYY-MM-DD format. Omit if unknown. Applies to a course the user took.",
1616 "type": "string"
1717 },
1818 "createdAt": {
1919 "description": "Client-declared timestamp when this record was originally created.",
2020 "format": "datetime",
2121 "type": "string"
2222 },
2323 "credential": {
2424 "description": "AT-URI of the associated id.sifa.profile.certification record (the credential earned from this course), if applicable. A plain at-uri rather than a strongRef so the link tracks the live certification across edits.",
2525 "format": "at-uri",
2626 "type": "string"
2727 },
2828 "education": {
2929 "description": "AT-URI of the id.sifa.profile.education record the course was part of, such as a course within a degree. A plain at-uri rather than a strongRef so the link tracks the live education record across edits.",
3030 "format": "at-uri",
3131 "type": "string"
3232 },
3333 "endedAt": {
3434 "description": "When the user last taught the course, in YYYY, YYYY-MM or YYYY-MM-DD format. Omit if still teaching it.",
3535 "type": "string"
3636 },
3737 "entityRef": {
3838 "description": "Portable, app-neutral identifier for the institution or platform 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 organization claims an ATproto account. Absent for free-text entries.",
3939 "format": "uri",
4040 "type": "string"
4141 },
4242 "institution": {
4343 "description": "Institution or platform offering the course.",
4444 "maxGraphemes": 256,
4545 "maxLength": 2560,
4646 "type": "string"
4747 },
4848 "institutionDid": {
4949 "description": "DID of the institution or platform's ATproto account, if one exists.",
5050 "format": "did",
5151 "type": "string"
5252 },
5353 "name": {
5454 "description": "Course name.",
5555 "maxGraphemes": 200,
5656 "maxLength": 2000,
5757 "minLength": 1,
5858 "type": "string"
5959 },
6060 "number": {
6161 "description": "Course number or code (e.g., 'CS101').",
6262 "maxGraphemes": 50,
6363 "maxLength": 500,
6464 "type": "string",
6565 "x-skos:exactMatch": [
6666 "schema:courseCode"
6767 ]
6868 },
6969 "position": {
7070 "description": "AT-URI of the id.sifa.profile.position record the course was part of: taught under it, or taken as part of the job. A plain at-uri rather than a strongRef so the link tracks the live position across edits.",
7171 "format": "at-uri",
7272 "type": "string"
7373 },
7474 "role": {
7575 "description": "The user's role in the course. Absent means the user took it. A taught course renders under Teaching.",
7676 "knownValues": [
7777 "id.sifa.defs#courseTaken",
7878 "id.sifa.defs#courseTaught",
7979 "id.sifa.defs#courseTeachingAssistant"
8080 ],
8181 "maxGraphemes": 64,
8282 "maxLength": 640,
8383 "type": "string"
8484 },
8585 "startedAt": {
8686 "description": "When the user started teaching the course, in YYYY, YYYY-MM or YYYY-MM-DD format. Applies to a taught or assisted course.",
8787 "type": "string"
8888 }
8989 },
9090 "required": [
9191 "name",
9292 "createdAt"
9393 ],
9494 "type": "object"
9595 },
9696 "type": "record",
9797 "x-skos:exactMatch": [
9898 "schema:Course"
9999 ]
100100 }
101101 },
102102 "description": "A course completed by the user.",
103103 "id": "id.sifa.profile.course",
104104 "lexicon": 1
105105}

Compare other versions