Create a course
Creates a course. Requires Idempotency-Key header. Scoped to your integration’s institution via Basic Auth credentials.
POST
/coursesHeader parameters
Idempotency-KeystringrequiredUnique key to ensure idempotent creation
Request body
requiredapplication/jsoncodestringrequiredmin length 1 · max length 100
namestringrequiredmin length 1 · max length 255
descriptionstringmax length 5000
iconstringiconTypestringAllowed:
imageemojicolorintegermin 0 · max 23
bannerImagestringcapacityintegermin 1
statusstringAllowed:
ACTIVEARCHIVEDisDatabasebooleantagIdsstring[]parentIdstringResponses
201Course created
dataCourserequiredShow propertiesHide properties
idstringrequiredcodestring | nullrequirednamestringrequireddescriptionstring | nulliconstringrequirediconTypestringrequiredAllowed:
imageemojicolorintegerrequiredmin 0 · max 23
bannerImagestring | nullcapacityinteger | nullstatusstringrequiredAllowed:
ACTIVEARCHIVEDisDatabasebooleanrequiredlayerIdstringrequiredinstitutionIdstringrequiredtagsCourseTag[]requiredShow propertiesHide properties
Array of
CourseTagidstringrequirednamestringrequiredcolorstring | nulliconstring | nullmetaResponseMetarequiredShow propertiesHide properties
requestIdstringrequiredtimestampstring<date-time>requiredversionstringrequiredAllowed:
v4400Bad Request
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring401Unauthorized
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring403Forbidden
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring409Conflict
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 POST "https://fuxam.app/api/v4/courses" \
-H "Idempotency-Key: string" \
-H "Content-Type: application/json" \
-d '{
"code": "CS101",
"name": "Introduction to Computer Science",
"description": "string",
"icon": "string",
"iconType": "image",
"color": 0,
"bannerImage": "string",
"capacity": 0,
"status": "ACTIVE",
"isDatabase": true,
"tagIds": [
"string"
],
"parentId": "*:structure"
}'const response = await fetch("https://fuxam.app/api/v4/courses", {
method: "POST",
headers: {
"Idempotency-Key": "string",
"Content-Type": "application/json"
},
body: JSON.stringify({
"code": "CS101",
"name": "Introduction to Computer Science",
"description": "string",
"icon": "string",
"iconType": "image",
"color": 0,
"bannerImage": "string",
"capacity": 0,
"status": "ACTIVE",
"isDatabase": true,
"tagIds": [
"string"
],
"parentId": "*:structure"
})
});import requests
response = requests.post(
"https://fuxam.app/api/v4/courses",
headers={
"Idempotency-Key": "string",
"Content-Type": "application/json"
},
json={
"code": "CS101",
"name": "Introduction to Computer Science",
"description": "string",
"icon": "string",
"iconType": "image",
"color": 0,
"bannerImage": "string",
"capacity": 0,
"status": "ACTIVE",
"isDatabase": True,
"tagIds": [
"string"
],
"parentId": "*:structure"
},
)Response
{
"data": {
"id": "cmh1cg59i002914ia01lve3i5",
"code": "CS101",
"name": "Introduction to Computer Science",
"description": "An introductory course to computer science fundamentals",
"icon": "/illustrations/course-icon-library/book-worm.webp",
"iconType": "image",
"color": 5,
"bannerImage": "https://example.com/banner.jpg",
"capacity": 50,
"status": "ACTIVE",
"isDatabase": false,
"layerId": "layer_abc123",
"institutionId": "inst_xyz789",
"tags": [
{
"id": "tag_abc123",
"name": "Mathematics",
"color": "#FF5733",
"icon": "🔢"
}
]
},
"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"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}