Get a module version
Returns the requested module version fully expanded: examination requirements, time plan, files, course connections, and the parent module with all sibling versions. Scoped to your integration’s institution via Basic Auth credentials.
/modules/{id}/versions/{versionId}AuthorizationBasic auth · headerrequiredBasic Auth with clientId as username and clientSecret as password
idstringrequiredversionIdstringrequiredVersion detail
dataModuleVersionWithModulerequiredModule version from GET /modules/{id}/versions/{versionId}, including nested parent module with all sibling versions.
Show propertiesHide properties
idstringversionstringnamestringdescriptionstring | nulliconstring | nulliconTypestring | nullbannerstring | nullcreatedAtstring<date-time>updatedAtstring<date-time>requiredAttendancePercentageintegerectsPointsnumberECTS credit points. Halves only (0, 0.5, 1, 1.5, …). Breaking change: previously integer-only.
courseModuleIdstringstatusstringtimePlanIdstring | nullisDefaultbooleanearlyAssessmentEnabledbooleanisCurrentlyElectablebooleancapacityinteger | nullcolorinteger | nullcourseChatFileAttachmentsDefaultbooleancourseChatReadOnlyDefaultbooleancourseFeatureDefaultsobject | nullmoduleNamestring | nullattemptRulesobject | nullcreatedCoursesobject[]rows created from this version.
timePlanInstitutionLessonUnit | nullrelation.
Show propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredminutesintegerrequiredisDefaultbooleanrequirednullparentConnectionsobject[]Nested childModuleVersion is the full
childConnectionsobject[]Nested parentModuleVersion is the full
examinationRequirementsModuleVersionExaminationRequirement[]Examination requirement with template defaults applied.
Show propertiesHide properties
ModuleVersionExaminationRequirementidstringrequiredcourseModuleVersionIdstringnamestringrequirednameEnglishstring | nulltypestringrequiredlengthinteger | nullratingModestringschedulingModestringisFinalExambooleanweightPercentageinteger | nullattemptWorkflowstringexaminationRequirementTemplateIdstring | nulltemplateIdstring | nullAlias of examinationRequirementTemplateId after merge.
allowAlternativeRequestbooleanneedsTopicConfirmationbooleantopicSubmissionDaysBeforeDeadlineinteger | nullexamineeAssignmentModestringcustomExamFormIdstring | nullnameTranslationsobject | nullexaminationRequirementTemplateobject | nulltimePlanItemsModuleVersionTimePlanItem[]Time plan item (id, name, needsAppointment, amount).
Show propertiesHide properties
ModuleVersionTimePlanItemidstringrequirednamestringrequiredneedsAppointmentbooleanrequiredamountintegerrequiredadditionalDescriptionsModuleVersionAdditionalDescription[]Additional description blocks, sorted by position.
Show propertiesHide properties
ModuleVersionAdditionalDescriptionidstringrequirednamestringrequireddescriptionstring | nullpositionintegerrequiredcourseModuleModuleInVersionDetailParent module on GET /modules/{id}/versions/{versionId}, including all sibling versions (fully expanded).
Show propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredcodestring | nullisArchivedboolean | nullnameTranslationsobject | nullcourseModuleTagsModuleTag[]requiredShow propertiesHide properties
ModuleTagidstringrequiredcourseModuleIdstringrequiredtagIdstringrequiredtagobjectrequiredShow propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredcolorstring | nulliconstring | nullversionsModuleVersionDetail[]requiredAll sibling versions, each fully expanded (same shape as the top-level version, without nested parent module).
Show propertiesHide properties
ModuleVersionDetailidstringversionstringnamestringdescriptionstring | nulliconstring | nulliconTypestring | nullbannerstring | nullcreatedAtstring<date-time>updatedAtstring<date-time>requiredAttendancePercentageintegerectsPointsnumberECTS credit points. Halves only (0, 0.5, 1, 1.5, …). Breaking change: previously integer-only.
courseModuleIdstringstatusstringtimePlanIdstring | nullisDefaultbooleanearlyAssessmentEnabledbooleanisCurrentlyElectablebooleancapacityinteger | nullcolorinteger | nullcourseChatFileAttachmentsDefaultbooleancourseChatReadOnlyDefaultbooleancourseFeatureDefaultsobject | nullmoduleNamestring | nullattemptRulesobject | nullcreatedCoursesobject[]rows created from this version.
timePlanInstitutionLessonUnit | nullrelation.
Show propertiesHide properties
InstitutionLessonUnitnullparentConnectionsobject[]Nested childModuleVersion is the full
childConnectionsobject[]Nested parentModuleVersion is the full
examinationRequirementsModuleVersionExaminationRequirement[]Examination requirement with template defaults applied.
timePlanItemsModuleVersionTimePlanItem[]Time plan item (id, name, needsAppointment, amount).
additionalDescriptionsModuleVersionAdditionalDescription[]Additional description blocks, sorted by position.
filesModuleVersionFile[]Files attached to this version (id, fileUrl).
filesModuleVersionFile[]Files attached to this version (id, fileUrl).
Show propertiesHide properties
ModuleVersionFileidstringrequiredfileUrlstringrequiredmetaResponseMetarequiredShow 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