Playground ↗ Postman ↗ Dashboard ↗
GET /v2/courses

List courses

Returns the courses owned by the user identified by X-External-User-Id (or X-User-Id), newest first. Use cursor pagination for full traversal.

Request

Headers

HeaderRequiredNotes
X-API-KeyyesYour test or production key
X-External-User-Idyes (or X-User-Id)Identifies the learner

Query parameters

limit integer default 20
Max items to return. Range 1–100.
cursor string
Pagination token from the previous response’s next_cursor. Omit on the first call.

Returns

{
  "data": [
    {
      "id": "8fa640c0-22e6-436b-becd-bf2cfc86741a",
      "title": "Photosynthesis: From Light to Life",
      "topic": "Photosynthesis basics",
      "slug": "photosynthesis-from-light-to-life",
      "source_type": "topic",
      "status": "completed",
      "created_at": "2026-05-19T14:02:11Z",
      "chapters": [
        { "order_index": 0, "title": "Sunlight & Chlorophyll" },
        { "order_index": 1, "title": "The Calvin Cycle" }
      ]
    }
  ],
  "pagination": {
    "limit": 20,
    "has_more": true,
    "next_cursor": "eyJ0IjoiMjAyNi0wNS0xOVQxNDowMjoxMVoifQ=="
  }
}

The chapters array is included as a lightweight summary (title + order) — fetch GET /v2/courses/{course_id} for full chapter content.

Errors

  • 401 — Missing or invalid X-API-Key.
  • 404X-External-User-Id is unknown and was not auto-created. (External users are auto-created on write; reads require an existing user.)