---
search:
  tags:
    - Curricula
    - POST
seo:
  description: >-
    Creates a curriculum with an initial version. Returns the created curriculum
    with versions[].… Reference for the POST /curricula endpoint in the Fuxam
    API v4.
sidebar:
  label: Create a curriculum
  badge: POST
title: Create a curriculum
type: openapi-operation
---
Creates a curriculum with an initial version. Returns the created curriculum with `versions[]`. Optionally attach modules via `moduleIds`. Connect curricula to a study program with `curriculaIds` on POST /study-programs (or PATCH). Use GET /curricula/&#123;id&#125; for full structure. Scoped to your integration's institution via Basic Auth credentials.

`POST /curricula`

**Request body** (`application/json`, required)

- `name` (string, required)
- `code` (string)
- `initialVersionName` (string)
- `moduleIds` (string[]) — Optional module IDs to attach to the initial version.

Request body example:

```json
{
  "name": "string",
  "code": "string",
  "initialVersionName": "string",
  "moduleIds": [
    "string"
  ]
}
```

**Responses**

- `201` — Curriculum created
- `400` — Bad Request
- `401` — Unauthorized
- `409` — Conflict — duplicate email or membership code (body includes \`existingUserId\` when known), a time-tracking session that is already running (\`activeSession\`), a time-tracking interval that overlaps an existing log (\`conflictingLog\`), idempotency key reused with a different body (\`idempotency\_key\_reused\`), or concurrent request with the same key still in progress (\`idempotency\_key\_in\_progress\`)
- `429` — Too Many Requests — 1000 requests per minute per institution. Includes \`X-RateLimit-Limit\`, \`X-RateLimit-Remaining\`, \`X-RateLimit-Reset\` (ISO-8601), and \`Retry-After\` (seconds).
- `500` — Internal Server Error

Response example, 201:

```json
{
  "data": {
    "id": "cur_001",
    "name": "Bachelor CS 2024",
    "institutionId": "inst_123",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "updatedAt": "2026-06-01T00:00:00.000Z",
    "isCohortSpecific": false,
    "isArchived": false,
    "code": "CS-2024",
    "versions": [
      {
        "id": "cv_001",
        "version": "1.0",
        "name": "Default",
        "createdAt": "2026-01-01T00:00:00.000Z",
        "updatedAt": "2026-06-01T00:00:00.000Z",
        "curriculaId": "cur_001",
        "electionEndWeeks": null,
        "electionMode": null,
        "electionStartWeeks": null,
        "isCohortVersion": false,
        "sourceCohortId": null
      }
    ],
    "studyProgramConnectedCurricula": []
  },
  "meta": {
    "requestId": "req_abc123",
    "timestamp": "2026-06-26T00:00:00.000Z",
    "version": "v4"
  }
}
```
