Get a module
Returns a module with all versions fully expanded (examination requirements, time plan items, files, course connections, tags). Scoped to your integration’s institution via Basic Auth credentials.
GET
/modules/{id}Path parameters
idstringrequiredResponses
200Module
dataModuleDetailrequiredFull module detail with tags and all versions expanded (examination requirements, files, connections).
Show propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredcodestring | nullisArchivedboolean | nullnameTranslationsobject | nullcourseModuleTagsModuleTag[]Show propertiesHide properties
Array of
ModuleTagidstringrequiredcourseModuleIdstringrequiredtagIdstringrequiredtagobjectrequiredShow propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredcolorstring | nulliconstring | nullversionsModuleVersionDetail[]requiredAll versions, each fully expanded with nested relations.
Show propertiesHide properties
Array of
ModuleVersionDetailidstringversionstringnamestringdescriptionstring | nulliconstring | nulliconTypestring | nullbannerstring | nullcreatedAtstring<date-time>updatedAtstring<date-time>requiredAttendancePercentageintegerectsPointsintegercourseModuleIdstringstatusstringtimePlanIdstring | nullisDefaultbooleanearlyAssessmentEnabledbooleanisCurrentlyElectablebooleancapacityinteger | nullcolorinteger | nullcourseChatFileAttachmentsDefaultbooleancourseChatReadOnlyDefaultbooleancourseFeatureDefaultsobject | nullmoduleNamestring | nullattemptRulesobject | nullcreatedCoursesobject[]rows created from this version.
timePlanInstitutionLessonUnit | anyrelation.
Show propertiesHide properties
One of:
InstitutionLessonUnit
idstringrequirednamestringrequiredinstitutionIdstringrequiredminutesintegerrequiredisDefaultbooleanrequiredany
anyparentConnectionsobject[]Nested `childModuleVersion` is the full
childConnectionsobject[]Nested `parentModuleVersion` is the full
examinationRequirementsModuleVersionExaminationRequirement[]Examination requirement with template defaults applied.
Show propertiesHide properties
Array of
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
Array of
ModuleVersionTimePlanItemidstringrequirednamestringrequiredneedsAppointmentbooleanrequiredamountintegerrequiredadditionalDescriptionsModuleVersionAdditionalDescription[]Additional description blocks, sorted by position.
Show propertiesHide properties
Array of
ModuleVersionAdditionalDescriptionidstringrequirednamestringrequireddescriptionstring | nullpositionintegerrequiredfilesModuleVersionFile[]Files attached to this version (`id`, `fileUrl`).
Show propertiesHide properties
Array of
ModuleVersionFileidstringrequiredfileUrlstringrequiredmetaResponseMetarequiredShow 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/modules/string"const response = await fetch("https://fuxam.app/api/v4/modules/string", {
method: "GET"
});import requests
response = requests.get(
"https://fuxam.app/api/v4/modules/string",
)Response
{
"data": {
"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"
}
}
],
"versions": [
{
"id": "cmv_abc123",
"version": "1.0.0",
"name": "Introduction to Economics",
"description": "Introductory economics module.",
"icon": "📚",
"iconType": "emoji",
"banner": null,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-06-01T08:30:00.000Z",
"requiredAttendancePercentage": 80,
"ectsPoints": 5,
"courseModuleId": "cm_xyz789",
"status": "ACTIVE",
"timePlanId": "ilu_001",
"isDefault": true,
"earlyAssessmentEnabled": false,
"isCurrentlyElectable": true,
"capacity": 30,
"color": null,
"courseChatFileAttachmentsDefault": true,
"courseChatReadOnlyDefault": false,
"courseFeatureDefaults": null,
"moduleName": "Economics 101",
"attemptRules": null,
"createdCourses": [
{
"id": "course_001",
"layer_id": "layer_001",
"name": "Introduction to Economics",
"icon": "/illustrations/course-icon-library/book-worm.webp",
"color": 5,
"dynamicBanner": null,
"institution_id": "inst_123",
"description": null,
"bannerImage": null,
"iconType": "image",
"courseModuleVersionId": "cmv_abc123",
"curriculaId": null,
"code": "ECO-101",
"capacity": null,
"status": "ACTIVE",
"isDatabase": false,
"settings": null,
"learningJourneyMode": "DEFAULT",
"scormFileUrl": null,
"scormR2FileUrl": null,
"scormProcessingProgress": null,
"scormProcessingStage": null,
"scormProcessingStatus": null
}
],
"timePlan": {
"id": "ilu_001",
"name": "UE",
"institutionId": "inst_123",
"minutes": 45,
"isDefault": false
},
"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
}
}
],
"examinationRequirements": [
{
"id": "req_001",
"courseModuleVersionId": "cmv_abc123",
"name": "Final Exam",
"nameEnglish": null,
"type": "exam",
"length": 120,
"ratingMode": "PASSED_OR_FAILED",
"schedulingMode": "DEADLINE",
"isFinalExam": true,
"weightPercentage": 100,
"attemptWorkflow": "AUTO_REATTEMPT",
"examinationRequirementTemplateId": "ert_001",
"templateId": "ert_001",
"allowAlternativeRequest": false,
"needsTopicConfirmation": false,
"topicSubmissionDaysBeforeDeadline": null,
"examineeAssignmentMode": "STANDARD",
"customExamFormId": null,
"nameTranslations": null,
"examinationRequirementTemplate": null
}
],
"timePlanItems": [
{
"id": "tpi_001",
"name": "Lecture",
"needsAppointment": true,
"amount": 14
}
],
"additionalDescriptions": [
{
"id": "desc_001",
"name": "Learning Outcomes",
"description": "Students will understand basic economics.",
"position": 0
}
],
"files": [
{
"id": "file_001",
"fileUrl": "https://storage.example.com/module.pdf"
}
]
}
]
},
"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"
}
]
}