LEIA Docs

Create course

POST
/courses

Creates a full course with curriculum structure from generated data.

Authorization

AuthorizationBearer <token>

LEIA API key passed as Bearer token (recommended). Keys start with leia_sk_.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/courses" \  -H "Content-Type: application/json" \  -d '{    "title": "string",    "curriculum": {      "modules": [        {          "title": "string",          "lessons": [            {              "title": "string",              "slug": "string"            }          ]        }      ]    }  }'
{
  "course": {},
  "lessonIds": [
    "string"
  ]
}
Empty
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Valid LEIA API key required"
  }
}
{
  "error": {
    "code": "FORBIDDEN",
    "message": "API key service user must be a CREATOR user"
  }
}
{
  "error": {
    "code": "IDEMPOTENCY_CONFLICT",
    "message": "Idempotency-Key was reused with a different request body"
  }
}
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "code": "string",
    "message": "string"
  }
}