GET /v1/platform/courses/:id
Returns the current status and details of a course generation request. Use this endpoint to poll for completion when using async mode.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The course request ID returned by the create endpoint |
Example Request
curl https://api.tutorflow.io/v1/platform/courses/a1c2d3e4-f5g6-7h8i-9j0k-l1m2n3o4p5q6 \
-H "Authorization: Bearer tf_platform_..."Response
Returns the same CourseResDto structure as the create endpoint. See
Create Course for the full list of response fields.
When the course generation is still in progress, isTerminal will be false
and pollAfterMs will indicate how long to wait before polling again.
Example Response (Completed)
{
"id": "a1c2d3e4-f5g6-7h8i-9j0k-l1m2n3o4p5q6",
"status": "COMPLETED",
"courseId": "c7d8e9f0-1a2b-3c4d-5e6f-7g8h9i0j1k2l",
"title": "Python for Beginners",
"editUrl": "https://tutorflow.io/en/platform/courses/edit/51d9b322e680...",
"previewUrl": "https://tutorflow.io/en/platform/courses/b018172542f9...",
"chapters": [
{ "title": "Getting Started with Python", "sequence": 1, "lessonCount": 2 },
{ "title": "Control Flow and Functions", "sequence": 2, "lessonCount": 3 }
],
"isTerminal": true,
"createdAt": "2025-03-24T12:00:00.000Z",
"completedAt": "2025-03-24T12:00:15.000Z"
}Example Response (Pending)
{
"id": "a1c2d3e4-f5g6-7h8i-9j0k-l1m2n3o4p5q6",
"status": "PROCESSING",
"isTerminal": false,
"pollAfterMs": 3000,
"createdAt": "2025-03-24T12:00:00.000Z"
}