Get a curricula version
Returns a curricula version with all related data: study terms (including organization-term mappings), pathways, module clusters, and module items with planning units. Use this when you need the full curriculum structure for a cohort or program. Scoped to your integration’s institution via Basic Auth credentials.
GET
/curricula/{id}/versions/{versionId}Path parameters
idstringrequiredversionIdstringrequiredResponses
200Version detail
dataCurriculaVersionDetailrequiredFully expanded curricula version: terms, pathways, module clusters, module items, and parent curricula metadata.
Show propertiesHide properties
idstringrequiredversionstringrequirednamestringrequiredcreatedAtstring<date-time>requiredupdatedAtstring<date-time>requiredcurriculaIdstringrequiredelectionEndWeeksinteger | nullrequiredelectionModestring | nullrequiredAllowed:
ELECT_WHENEVERELECT_BEFORE_TERMELECT_AFTER_TERMelectionStartWeeksinteger | nullrequiredisCohortVersionbooleanrequiredsourceCohortIdstring | nullrequiredsourceCohortobject | nullrequiredShow propertiesHide properties
idstringnamestringcurriculaVersionTermsCurriculaVersionTermInDetail[]requiredShow propertiesHide properties
Array of
CurriculaVersionTermInDetailidstringrequiredpositionintegerrequirednamestringrequiredcurriculaVersionIdstringrequiredcohortCurriculaVersionTermCohortCurriculaVersionTermInDetail[]requiredShow propertiesHide properties
Array of
CohortCurriculaVersionTermInDetailidstringrequiredcurriculaVersionTermIdstringrequiredorganizationTermIdstringrequiredcohortIdstringrequiredinstitutionIdstringrequiredcohortobjectrequiredShow propertiesHide properties
idstringrequirednamestringrequiredorganizationTermOrganizationTermrequiredAcademic term (semester) with optional module election and reassessment registration windows.
Show propertiesHide properties
idstringrequirednamestringrequiredtermEndstring<date-time>requiredEnd of the academic term.
institutionIdstringrequiredtermStartstring<date-time>requiredStart of the academic term.
codestring | nullelectionEndstring<date-time> | nullDeadline for module elections for this term.
electionStartstring<date-time> | nullWhen students may begin electing modules for this term.
reassessmentRegistrationEndstring<date-time> | nullWhen reassessment registration closes.
reassessmentRegistrationStartstring<date-time> | nullWhen reassessment registration opens.
curriculaVersionTermCurriculaVersionTermrequiredShow propertiesHide properties
idstringrequiredpositionintegerrequirednamestringrequiredcurriculaVersionIdstringrequiredcohortStudyTimelineStatusobject | nullcurriculaVersionPathwaysCurriculaVersionPathway[]requiredShow propertiesHide properties
Array of
CurriculaVersionPathwayidstringrequiredpositionintegerrequirednamestringrequiredtypestringrequiredFIXED = mandatory pathway; SELECTABLE_FOCUS = student chooses one focus.
Allowed:
FIXEDSELECTABLE_FOCUScurriculaVersionIdstringrequireddescriptionstring | nullcurriculaVersionModuleClusterobject[]requiredElective module clusters in this version.
isDefaultbooleanrequiredcurriculaobjectrequiredParent curriculum summary (`institutionId` omitted on GET /versions/{versionId}).
Show propertiesHide properties
idstringrequirednamestringrequiredisCohortSpecificbooleanrequiredcurriculaVersionItemsCurriculaVersionItemDetail[]requiredModule items with planning units.
Show propertiesHide properties
Array of
CurriculaVersionItemDetailidstringrequiredcurriculaVersionIdstringrequiredcourseModuleIdstringrequiredcourseModuleVersionIdstring | nullcurriculaVersionTermIdstring | nullcurriculaVersionModuleClusterIdstring | nullcurriculaVersionPathwayIdstring | nullparentIdstring | nullupdatedAtstring<date-time>requiredisCoreModulebooleanrequiredcourseModuleobject | nullwith nested `courseModuleTags`.
Show propertiesHide properties
idstringnamestringinstitutionIdstringcodestring | nullisArchivedboolean | nullnameTranslationsobject | nullcourseModuleTagsModuleTag[]Show propertiesHide properties
Array of
ModuleTagidstringrequiredcourseModuleIdstringrequiredtagIdstringrequiredtagobjectrequiredShow propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredcolorstring | nulliconstring | nullcurriculaVersionTermCurriculaVersionTermInDetail | anyShow propertiesHide properties
One of:
CurriculaVersionTermInDetail
idstringrequiredpositionintegerrequirednamestringrequiredcurriculaVersionIdstringrequiredcohortCurriculaVersionTermCohortCurriculaVersionTermInDetail[]requiredShow propertiesHide properties
Array of
CohortCurriculaVersionTermInDetailidstringrequiredcurriculaVersionTermIdstringrequiredorganizationTermIdstringrequiredcohortIdstringrequiredinstitutionIdstringrequiredcohortobjectrequiredShow propertiesHide properties
idstringrequirednamestringrequiredorganizationTermOrganizationTermrequiredAcademic term (semester) with optional module election and reassessment registration windows.
Show propertiesHide properties
idstringrequirednamestringrequiredtermEndstring<date-time>requiredEnd of the academic term.
institutionIdstringrequiredtermStartstring<date-time>requiredStart of the academic term.
codestring | nullelectionEndstring<date-time> | nullDeadline for module elections for this term.
electionStartstring<date-time> | nullWhen students may begin electing modules for this term.
reassessmentRegistrationEndstring<date-time> | nullWhen reassessment registration closes.
reassessmentRegistrationStartstring<date-time> | nullWhen reassessment registration opens.
curriculaVersionTermCurriculaVersionTermrequiredShow propertiesHide properties
idstringrequiredpositionintegerrequirednamestringrequiredcurriculaVersionIdstringrequiredcohortStudyTimelineStatusobject | nullany
anycurriculaVersionPathwayCurriculaVersionPathway | anyShow propertiesHide properties
One of:
CurriculaVersionPathway
idstringrequiredpositionintegerrequirednamestringrequiredtypestringrequiredFIXED = mandatory pathway; SELECTABLE_FOCUS = student chooses one focus.
Allowed:
FIXEDSELECTABLE_FOCUScurriculaVersionIdstringrequireddescriptionstring | nullany
anycurriculaVersionModuleClusterobject | nullmoduleGroupIdstring | nullrequiredmoduleGroupobject | nullrequiredShow propertiesHide properties
idstringnamestringcodestring | nullcolorstring | nullcourseModuleVersionCurriculaVersionItemModuleVersion | anyShow propertiesHide properties
One of:
CurriculaVersionItemModuleVersion
examinationRequirementsobject[]requiredcourseModuleIdstringrequiredidstringrequiredparentConnectionsobject[]requiredNested `childModuleVersion` is the full
childConnectionsobject[]requiredNested `parentModuleVersion` may include the parent module.
namestringrequiredmoduleNamestring | nullversionstringrequiredectsPointsintegerrequiredunitAmountnumberrequiredTotal scheduled units from time plan items that require appointments.
unitNamestringrequiredLesson unit name (from the version time plan or institution default).
unitMinuteEquivalentnumberrequiredLesson unit length in minutes (from the version time plan or institution default).
any
anymetaResponseMetarequiredShow propertiesHide properties
requestIdstringrequiredtimestampstring<date-time>requiredversionstringrequiredAllowed:
v4401Unauthorized
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring404Not Found
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring422Unprocessable Entity — validation or business rule error
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring429Too Many Requests
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring500Internal Server Error
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestringRequest
curl -X GET "https://fuxam.app/api/v4/curricula/string/versions/string"const response = await fetch("https://fuxam.app/api/v4/curricula/string/versions/string", {
method: "GET"
});import requests
response = requests.get(
"https://fuxam.app/api/v4/curricula/string/versions/string",
)Response
{
"data": {
"id": "cv_001",
"version": "1.0",
"name": "Default",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-06-01T00:00:00.000Z",
"curriculaId": "cur_001",
"electionEndWeeks": null,
"electionMode": null,
"electionStartWeeks": null,
"isCohortVersion": false,
"sourceCohortId": null,
"sourceCohort": null,
"curriculaVersionTerms": [
{
"id": "cvt_001",
"position": 0,
"name": "Semester 1",
"curriculaVersionId": "cv_001",
"cohortCurriculaVersionTerm": [
{
"id": "ccvt_001",
"curriculaVersionTermId": "cvt_001",
"organizationTermId": "ot_001",
"cohortId": "coh_001",
"institutionId": "inst_123",
"cohort": {
"id": "coh_001",
"name": "WS 2024/25"
},
"organizationTerm": {
"id": "ot_001",
"name": "WS 2024/25",
"termEnd": "2025-03-31T23:59:59.000Z",
"institutionId": "inst_123",
"termStart": "2024-10-01T00:00:00.000Z",
"code": "WS24",
"electionEnd": null,
"electionStart": null,
"reassessmentRegistrationEnd": null,
"reassessmentRegistrationStart": null
},
"curriculaVersionTerm": {
"id": "cvt_001",
"position": 0,
"name": "Semester 1",
"curriculaVersionId": "cv_001"
},
"cohortStudyTimelineStatus": null
}
]
}
],
"curriculaVersionPathways": [
{
"id": "path_001",
"position": 0,
"name": "Software Engineering",
"type": "SELECTABLE_FOCUS",
"curriculaVersionId": "cv_001",
"description": "Focus on software development."
}
],
"curriculaVersionModuleCluster": [
{
"id": "cvmc_001",
"electiveBehavior": "SELECT_UNTIL_ECTS",
"electiveBehaviorAmount": 30,
"rule": null,
"ruleAmount": null,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-06-01T00:00:00.000Z",
"curriculaVersionId": "cv_001",
"name": "Elective Pool",
"unlockAfterCP": null,
"electAtOnce": false,
"overflowClusterId": null,
"isReElectable": false
}
],
"isDefault": true,
"curricula": {
"id": "cur_001",
"name": "Bachelor CS 2024",
"isCohortSpecific": false
},
"curriculaVersionItems": [
{
"id": "cvi_001",
"curriculaVersionId": "cv_001",
"courseModuleId": "cm_xyz789",
"courseModuleVersionId": "cmv_abc123",
"curriculaVersionTermId": "cvt_001",
"curriculaVersionModuleClusterId": null,
"curriculaVersionPathwayId": "path_001",
"parentId": null,
"updatedAt": "2026-06-01T00:00:00.000Z",
"isCoreModule": true,
"courseModule": {
"id": "cm_xyz789",
"name": "Economics",
"institutionId": "inst_123",
"code": "ECO-101",
"isArchived": false,
"nameTranslations": null,
"courseModuleTags": [
{
"id": "cmt_abc123",
"courseModuleId": "cm_xyz789",
"tagId": "tag_def456",
"tag": {
"id": "tag_def456",
"name": "Core Module",
"institutionId": "inst_123",
"color": "#0361fc",
"icon": "book"
}
}
]
},
"curriculaVersionTerm": {
"id": "cvt_001",
"position": 0,
"name": "Semester 1",
"curriculaVersionId": "cv_001",
"cohortCurriculaVersionTerm": [
{
"id": "ccvt_001",
"curriculaVersionTermId": "cvt_001",
"organizationTermId": "ot_001",
"cohortId": "coh_001",
"institutionId": "inst_123",
"cohort": {
"id": "coh_001",
"name": "WS 2024/25"
},
"organizationTerm": {
"id": "ot_001",
"name": "WS 2024/25",
"termEnd": "2025-03-31T23:59:59.000Z",
"institutionId": "inst_123",
"termStart": "2024-10-01T00:00:00.000Z",
"code": "WS24",
"electionEnd": null,
"electionStart": null,
"reassessmentRegistrationEnd": null,
"reassessmentRegistrationStart": null
},
"curriculaVersionTerm": {
"id": "cvt_001",
"position": 0,
"name": "Semester 1",
"curriculaVersionId": "cv_001"
},
"cohortStudyTimelineStatus": null
}
]
},
"curriculaVersionPathway": {
"id": "path_001",
"position": 0,
"name": "Software Engineering",
"type": "SELECTABLE_FOCUS",
"curriculaVersionId": "cv_001",
"description": "Focus on software development."
},
"curriculaVersionModuleCluster": null,
"moduleGroupId": null,
"moduleGroup": null,
"courseModuleVersion": {
"examinationRequirements": [],
"courseModuleId": "cm_xyz789",
"id": "cmv_abc123",
"parentConnections": [
{
"id": "conn_002",
"parentModuleVersionId": "cmv_abc123",
"childModuleVersionId": "cmv_child",
"studyPeriodId": "cvt_001",
"childModuleVersion": {
"id": "cmv_child",
"version": "2.0.0",
"name": "Follow-up Module",
"description": null,
"icon": null,
"iconType": "emoji",
"banner": null,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-06-01T08:30:00.000Z",
"requiredAttendancePercentage": 80,
"ectsPoints": 5,
"courseModuleId": "cm_followup",
"status": "ACTIVE",
"timePlanId": null,
"isDefault": false,
"earlyAssessmentEnabled": false,
"isCurrentlyElectable": true,
"capacity": null,
"color": null,
"courseChatFileAttachmentsDefault": true,
"courseChatReadOnlyDefault": false,
"courseFeatureDefaults": null,
"moduleName": null,
"attemptRules": null
}
}
],
"childConnections": [
{
"id": "conn_001",
"parentModuleVersionId": "cmv_parent",
"childModuleVersionId": "cmv_abc123",
"studyPeriodId": "cvt_001",
"parentModuleVersion": {
"id": "cmv_parent",
"version": "1.0.0",
"name": "Prerequisite Module",
"description": null,
"icon": null,
"iconType": "emoji",
"banner": null,
"createdAt": "2026-01-01T10:00:00.000Z",
"updatedAt": "2026-06-01T08:30:00.000Z",
"requiredAttendancePercentage": 80,
"ectsPoints": 5,
"courseModuleId": "cm_prereq",
"status": "ACTIVE",
"timePlanId": null,
"isDefault": true,
"earlyAssessmentEnabled": false,
"isCurrentlyElectable": true,
"capacity": null,
"color": null,
"courseChatFileAttachmentsDefault": true,
"courseChatReadOnlyDefault": false,
"courseFeatureDefaults": null,
"moduleName": null,
"attemptRules": null,
"courseModule": {
"id": "cm_prereq",
"name": "Prerequisite Module",
"institutionId": "inst_123",
"code": "PRE-101",
"isArchived": false,
"nameTranslations": null
}
}
}
],
"name": "Introduction to Economics",
"moduleName": "Economics 101",
"version": "1.0.0",
"ectsPoints": 5,
"unitAmount": 14,
"unitName": "UE",
"unitMinuteEquivalent": 45
}
}
]
},
"meta": {
"requestId": "req_1234567890_abc",
"timestamp": "2026-06-02T07:00:00.000Z",
"version": "v4"
}
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}