Skip to content
Docs
English
Esc
navigateopen⌘Jpreview

Create a module version

Creates a new version for an existing module. Pass versionName in the body (e.g. 1.0, 2.0). The default course title is copied from the parent module; optionally pass moduleDisplayName to override how the module is displayed for this version. Returns summary fields — use GET /modules/{id}/versions/{versionId} for full detail. Scoped to your integration’s institution via Basic Auth credentials.

POST/modules/{id}/versions
Path parameters
idstringrequired
Header parameters
Idempotency-Keystringrequired
Request body
requiredapplication/json
versionNamestringrequired
Version label displayed in the UI (e.g. `1.0`, `2.0`). Stored in `CourseModuleVersion.version`.
descriptionstring
Optional version description.
moduleDisplayNamestring
Optional per-version module display name override (`CourseModuleVersion.moduleName`). When omitted, the parent module name is used.
Responses
201Version created
dataModuleVersionrequired
Module version summary. List and create endpoints return these fields; GET by ID includes nested relations.
Show properties
idstringrequired
versionstringrequired
namestringrequired
descriptionstring | nullrequired
May be an empty string when not set.
iconstring | nullrequired
iconTypestring | nullrequired
bannerstring | nullrequired
createdAtstring<date-time>required
updatedAtstring<date-time>required
requiredAttendancePercentageintegerrequired
ectsPointsintegerrequired
courseModuleIdstringrequired
statusstringrequired
Allowed:DRAFTACTIVEARCHIVED
timePlanIdstring | nullrequired
isDefaultbooleanrequired
earlyAssessmentEnabledbooleanrequired
isCurrentlyElectablebooleanrequired
capacityinteger | nullrequired
colorinteger | nullrequired
courseChatFileAttachmentsDefaultbooleanrequired
courseChatReadOnlyDefaultbooleanrequired
courseFeatureDefaultsobject | nullrequired
moduleNamestring | nullrequired
attemptRulesobject | nullrequired
metaResponseMetarequired
Show properties
requestIdstringrequired
timestampstring<date-time>required
versionstringrequired
Allowed:v4
400Bad Request
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
401Unauthorized
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
404Not Found
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
409Conflict
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
429Too Many Requests
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
500Internal Server Error
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
Request
curl -X POST "https://fuxam.app/api/v4/modules/string/versions" \
  -H "Idempotency-Key: string" \
  -H "Content-Type: application/json" \
  -d '{
  "versionName": "string",
  "description": "string",
  "moduleDisplayName": "string"
}'
Response
{
  "data": {
    "id": "cmqevazu005pb4pi9zp2zthd1",
    "version": "2.0.0",
    "name": "Business Administration Basics",
    "description": "",
    "icon": null,
    "iconType": "emoji",
    "banner": null,
    "createdAt": "2026-06-15T07:04:18.408Z",
    "updatedAt": "2026-06-15T07:04:18.408Z",
    "requiredAttendancePercentage": 80,
    "ectsPoints": 5,
    "courseModuleId": "cmqevazrw05p34pi9wv9w3mks",
    "status": "ACTIVE",
    "timePlanId": "cmqevazr905p14pi9st41ex1w",
    "isDefault": false,
    "earlyAssessmentEnabled": false,
    "isCurrentlyElectable": true,
    "capacity": null,
    "color": null,
    "courseChatFileAttachmentsDefault": true,
    "courseChatReadOnlyDefault": false,
    "courseFeatureDefaults": null,
    "moduleName": null,
    "attemptRules": null
  },
  "meta": {
    "requestId": "req_1234567890_abc",
    "timestamp": "2026-06-02T07:00:00.000Z",
    "version": "v4"
  }
}