GET /v2/courses/{course_id}
Get a course
Returns the full course — title, outline, every chapter with content, key concepts, quizzes, and source citations.
Request
Headers
| Header | Required | Notes |
|---|---|---|
X-API-Key | yes | Your test or production key |
X-External-User-Id | yes (or X-User-Id) | Must own the course |
Path parameters
course_id string (UUID) required The course’s ID, returned by POST /v2/courses/generate or any list/job endpoint. |
Returns
{
"id": "8fa640c0-22e6-436b-becd-bf2cfc86741a",
"title": "Photosynthesis: From Light to Life",
"topic": "Photosynthesis basics",
"slug": "photosynthesis-from-light-to-life",
"outline": { /* full course outline */ },
"source_type": "topic",
"status": "completed",
"created_at": "2026-05-19T14:02:11Z",
"chapters": [
{
"id": "11c0e6b0-d6e6-4c12-9f9c-1ea2a55c87b5",
"order_index": 0,
"title": "Sunlight & Chlorophyll",
"content": "## Sunlight & Chlorophyll\n\nPhotosynthesis begins when…",
"key_concepts": ["photons", "chlorophyll-a", "antenna complex"],
"quiz": { "questions": [ /* … */ ] },
"sources": [ /* … */ ]
}
]
}
For an in-progress course (status: "generating"), chapters only contains chapters that have already completed. Use GET /v2/courses/{course_id}/progress to see what’s still pending.
Errors
- 403 — The course exists but is owned by a different user.
- 404 — No course with that ID.