Get a curriculum
Returns a curriculum with version summaries and module items (planning units included). For full term, pathway, and cluster detail on one version, use GET /curricula/{id}/versions/{versionId}. Scoped to your integration’s institution via Basic Auth credentials.
GET
/curricula/{id}Path parameters
idstringrequiredResponses
200Curriculum detail
dataCurriculaDetailrequiredCurriculum with version summaries and module items. Use GET /curricula/{id}/versions/{versionId} for full term, pathway, and cluster detail.
Show propertiesHide properties
idstringrequirednamestringrequiredcodestring | nullrequiredisCohortSpecificbooleanrequiredWhether this curriculum is tied to a specific cohort.
institutionIdstringrequiredversionsCurriculaVersionInCurriculumDetail[]requiredVersion summaries (subset of the full version detail; omits some metadata such as election settings).
Show propertiesHide properties
Array of
CurriculaVersionInCurriculumDetailidstringrequirednamestringrequiredversionstringrequiredisDefaultbooleanrequiredisCohortVersionbooleanrequiredsourceCohortobject | nullShow propertiesHide properties
idstringnamestringcurriculaobjectrequiredParent curriculum summary (includes `institutionId`; omitted on GET /versions/{versionId}).
Show propertiesHide properties
idstringrequirednamestringrequiredisCohortSpecificbooleanrequiredinstitutionIdstringrequiredcurriculaVersionModuleClusterobject[]requiredcurriculaVersionPathwaysCurriculaVersionPathway[]requiredShow propertiesHide properties
Array of
CurriculaVersionPathwayidstringrequiredpositionintegerrequirednamestringrequiredtypestringrequiredFIXED = mandatory pathway; SELECTABLE_FOCUS = student chooses one focus.
Allowed:
FIXEDSELECTABLE_FOCUScurriculaVersionIdstringrequireddescriptionstring | nullcurriculaVersionTermsCurriculaVersionTermInDetail[]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 | nullcurriculaVersionItemsCurriculaVersionItemDetail[]requiredShow 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"const response = await fetch("https://fuxam.app/api/v4/curricula/string", {
method: "GET"
});import requests
response = requests.get(
"https://fuxam.app/api/v4/curricula/string",
)Response
{
"data": {
"id": "cur_001",
"name": "Bachelor CS 2024",
"code": "CS-2024",
"isCohortSpecific": false,
"institutionId": "inst_123",
"versions": [
{
"id": "cv_001",
"name": "Default",
"version": "1.0",
"isDefault": true,
"isCohortVersion": false,
"sourceCohort": null,
"curricula": {
"id": "cur_001",
"name": "Bachelor CS 2024",
"isCohortSpecific": false,
"institutionId": "inst_123"
},
"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
}
],
"curriculaVersionPathways": [
{
"id": "path_001",
"position": 0,
"name": "Software Engineering",
"type": "SELECTABLE_FOCUS",
"curriculaVersionId": "cv_001",
"description": "Focus on software development."
}
],
"curriculaVersionTerms": [
{
"id": "cvt_001",
"position": 0,
"name": "Semester 1",
"curriculaVersionId": "cv_001",
"cohortCurriculaVersionTerm": []
}
],
"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"
}
]
}