Playground ↗ Postman ↗ Dashboard ↗
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

HeaderRequiredNotes
X-API-KeyyesYour test or production key
X-External-User-Idyes (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.