---
search:
  tags:
    - Content blocks
    - POST
seo:
  description: >-
    Creates a content block in a course layer. Scoped to your integration's
    institution via… Reference for the POST /content-blocks endpoint in the
    Fuxam API v4.
sidebar:
  label: Create a content block
  badge: POST
title: Create a content block
type: openapi-operation
---
Creates a content block in a course layer. Scoped to your integration's institution via Basic Auth credentials.

`POST /content-blocks`

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

- `name` (string, required)
- `description` (string)
- `courseId` (string, required) — Layer ID of the course.
- `type` (string, required)
- `status` (string)
- `position` (integer)
- `dueDate` (string<date-time>)
- `startDate` (string<date-time>)
- `specs` (object)
- `expectedLearnTimeMinutes` (integer)
- `isDependent` (boolean)

Request body example:

```json
{
  "name": "Midterm Quiz",
  "courseId": "layer_abc123",
  "type": "Test",
  "specs": {
    "workbenchFileId": "clxwb1234567890abcdef"
  }
}
```

**Responses**

- `201` — Content block created
- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `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": "string",
    "name": "string",
    "description": "string",
    "courseId": "string",
    "type": "string",
    "status": "PUBLISHED",
    "position": 0,
    "dueDate": "2019-08-24T14:15:22Z",
    "startDate": "2019-08-24T14:15:22Z",
    "specs": {},
    "courseGoalId": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "isDependent": true,
    "expectedLearnTimeMinutes": 0
  },
  "meta": {
    "requestId": "req_1234567890_abc",
    "timestamp": "2026-06-02T07:00:00.000Z",
    "version": "v4",
    "watermark": "2019-08-24T14:15:22Z"
  }
}
```
