Zum Inhalt springen
Docs
Deutsch
Esc
↑↓navigieren↵öffnen⌘Jvorschau

Create a course

Creates a course. Requires Idempotency-Key header. Scoped to your integration’s institution via Basic Auth credentials.

POST/courses
Authorization
AuthorizationBasic auth · headerrequired

Basic Auth with clientId as username and clientSecret as password

Header parameters
Idempotency-Keystringrequired

Unique key to ensure idempotent creation

Request body
requiredapplication/json
codestringrequired
min length 1 · max length 100
namestringrequired
min length 1 · max length 255
descriptionstring
max length 5000
iconstring
iconTypestring
Allowed:imageemoji
colorinteger
min 0 · max 23
bannerImagestring
capacityinteger
min 1
statusstring
Allowed:ACTIVEARCHIVED
isDatabaseboolean
tagIdsstring[]
parentIdstring
Responses
201

Course created

dataCourserequired
Show properties
idstringrequired
codestring | nullrequired
namestringrequired
descriptionstring | null
iconstringrequired
iconTypestringrequired
Allowed:imageemoji
colorintegerrequired
min 0 · max 23
bannerImagestring | null
capacityinteger | null
statusstringrequired
Allowed:ACTIVEARCHIVED
isDatabasebooleanrequired
layerIdstringrequired
institutionIdstringrequired
tagsCourseTag[]required
Show properties
Array of CourseTag
idstringrequired
namestringrequired
colorstring | null
iconstring | null
metaResponseMetarequired
Show properties
requestIdstringrequired
timestampstring<date-time>required
versionstringrequired
Allowed:v4
400

Bad 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
401

Unauthorized

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
403

Forbidden

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
409

Conflict

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
429

Too 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
500

Internal 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
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST 'https://fuxam.app/api/v4/courses' \
  -H 'Authorization: Basic YOUR_CREDENTIALS' \
  -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": 1,
  "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"
  }
}