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.
/curricula/{id}AuthorizationBasic auth · headerrequiredBasic Auth with clientId as username and clientSecret as password
idstringrequiredCurriculum 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
CurriculaVersionInCurriculumDetailidstringrequirednamestringrequiredversionstringrequiredisDefaultbooleanrequiredisCohortVersionbooleanrequiredsourceCohortobject | nullShow propertiesHide properties
idstringnamestringcurriculaobjectrequiredParent curriculum summary (includes institutionId; omitted on GET /versions/{versionId}).
Show propertiesHide properties
idstringrequirednamestringrequiredisCohortSpecificbooleanrequiredinstitutionIdstringrequiredcurriculaVersionModuleClusterobject[]requiredcurriculaVersionPathwaysCurriculaVersionPathway[]requiredShow propertiesHide properties
CurriculaVersionPathwayidstringrequiredpositionintegerrequirednamestringrequiredtypestringrequiredFIXED = mandatory pathway; SELECTABLE_FOCUS = student chooses one focus.
FIXEDSELECTABLE_FOCUScurriculaVersionIdstringrequireddescriptionstring | nullcurriculaVersionTermsCurriculaVersionTermInDetail[]requiredShow propertiesHide properties
CurriculaVersionTermInDetailidstringrequiredpositionintegerrequirednamestringrequiredcurriculaVersionIdstringrequiredcohortCurriculaVersionTermCohortCurriculaVersionTermInDetail[]requiredShow propertiesHide properties
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
CurriculaVersionItemDetailidstringrequiredcurriculaVersionIdstringrequiredcourseModuleIdstringrequiredcourseModuleVersionIdstring | nullcurriculaVersionTermIdstring | nullcurriculaVersionModuleClusterIdstring | nullcurriculaVersionPathwayIdstring | nullparentIdstring | nullupdatedAtstring<date-time>requiredisCoreModulebooleanrequiredcourseModuleobject | nullwith nested courseModuleTags.
Show propertiesHide properties
idstringnamestringinstitutionIdstringcodestring | nullisArchivedboolean | nullnameTranslationsobject | nullcourseModuleTagsModuleTag[]Show propertiesHide properties
ModuleTagidstringrequiredcourseModuleIdstringrequiredtagIdstringrequiredtagobjectrequiredShow propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredcolorstring | nulliconstring | nullcurriculaVersionTermCurriculaVersionTermInDetail | nullShow propertiesHide properties
CurriculaVersionTermInDetailnullcurriculaVersionPathwayCurriculaVersionPathway | nullShow propertiesHide properties
CurriculaVersionPathwaynullcurriculaVersionModuleClusterobject | nullmoduleGroupIdstring | nullrequiredmoduleGroupobject | nullrequiredShow propertiesHide properties
idstringnamestringcodestring | nullcolorstring | nullcourseModuleVersionCurriculaVersionItemModuleVersion | nullShow propertiesHide properties
examinationRequirementsobject[]requiredcourseModuleIdstringrequiredidstringrequiredparentConnectionsobject[]requiredNested childModuleVersion is the full
childConnectionsobject[]requiredNested parentModuleVersion may include the parent module.
namestringrequiredmoduleNamestring | nullversionstringrequiredectsPointsnumberrequiredECTS credit points. Halves only (0, 0.5, 1, 1.5, …). Breaking change: previously integer-only.
unitAmountnumberrequiredTotal 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).
nullmetaResponseMetarequiredShow propertiesHide properties
requestIdstringrequiredtimestampstring<date-time>requiredversionstringrequiredv4watermarkstring<date-time>Present on GET /users?updatedSince= pages. Taken at the first page minus a 60s overlap. Bound into pagination.next_cursor. Use it as the next updatedSince after deduping by user id. Delivery is inclusive >= and at-least-once.
Unauthorized
typestringrequirederrorcodestringrequiredbad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
objectfieldstringmessagestringexistingUserIdstringPresent on 409 email or membership-code conflicts. The user id that already holds the email or code.
activeSessionobjectPresent on time-tracking start 409 when a session is already running. Stop this session, then retry start.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredconflictingLogobjectPresent on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredendTimestring<date-time> | nullrequiredNot Found
typestringrequirederrorcodestringrequiredbad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
objectfieldstringmessagestringexistingUserIdstringPresent on 409 email or membership-code conflicts. The user id that already holds the email or code.
activeSessionobjectPresent on time-tracking start 409 when a session is already running. Stop this session, then retry start.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredconflictingLogobjectPresent on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredendTimestring<date-time> | nullrequiredUnprocessable Entity — validation or business rule error
typestringrequirederrorcodestringrequiredbad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
objectfieldstringmessagestringexistingUserIdstringPresent on 409 email or membership-code conflicts. The user id that already holds the email or code.
activeSessionobjectPresent on time-tracking start 409 when a session is already running. Stop this session, then retry start.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredconflictingLogobjectPresent on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredendTimestring<date-time> | nullrequiredToo Many Requests — 1000 requests per minute per institution. Includes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (ISO-8601), and Retry-After (seconds).
typestringrequirederrorcodestringrequiredbad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
objectfieldstringmessagestringexistingUserIdstringPresent on 409 email or membership-code conflicts. The user id that already holds the email or code.
activeSessionobjectPresent on time-tracking start 409 when a session is already running. Stop this session, then retry start.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredconflictingLogobjectPresent on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredendTimestring<date-time> | nullrequiredInternal Server Error
typestringrequirederrorcodestringrequiredbad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
objectfieldstringmessagestringexistingUserIdstringPresent on 409 email or membership-code conflicts. The user id that already holds the email or code.
activeSessionobjectPresent on time-tracking start 409 when a session is already running. Stop this session, then retry start.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredconflictingLogobjectPresent on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.
Show propertiesHide properties
idstringrequiredstartTimestring<date-time>requiredendTimestring<date-time> | nullrequired