API reference
Courses
Course outlines, lesson completion, learning progress and resources (docs/07).
Paths are relative to /api/v1 on your server.
List courses
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|
limit | query | integer | |
cursor | query | integer | |
status | query | "all" | "not-started" | "in-progress" | "completed" | |
sort | query | "title" | "recent" | "added" | |
- 200Success.
application/json · CoursePage - 400
VALIDATION_FAILED: the request did not match the schema; details.issues lists what. application/json · ErrorEnvelope - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
GET/courses/{id}/outline#Read a course’s outline
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|
id required | path | string (uuid) | |
- 200Success.
application/json · CourseOutline - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
GET/courses/{id}/progress#Read my progress through a course
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|
id required | path | string (uuid) | |
- 200Success.
application/json · CourseProgress - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
POST/courses/{id}/reset-progress#Reset my progress
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|
id required | path | string (uuid) | |
- 200Success.
application/json · CourseProgress - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
GET/courses/{id}/resources#A course’s resources
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|
id required | path | string (uuid) | |
- 200Success.
application/json · object - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
GET/items/{id}/transcript#Read a transcript
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|
id required | path | string (uuid) | |
lang | query | string | |
- 200Success.
application/json · Transcript - 400
VALIDATION_FAILED: the request did not match the schema; details.issues lists what. application/json · ErrorEnvelope - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
My learning dashboard
- Authorisation
- Bearer token or API key · Session cookie
- 200Success.
application/json · LearningDashboard - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
My learning streaks
- Authorisation
- Bearer token or API key · Session cookie
- 200Success.
application/json · LearningStreaks - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
POST/lessons/{id}/complete#Mark a lesson complete
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|
id required | path | string (uuid) | |
- 200Success.
application/json · object - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
DELETE/lessons/{id}/complete#Mark a lesson incomplete
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|
id required | path | string (uuid) | |
- 200Success.
application/json · object - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
GET/lessons/{id}/resources#A lesson’s resources
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|
id required | path | string (uuid) | |
- 200Success.
application/json · object - 401
UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope - 403
FORBIDDEN: the account lacks library:view, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
No endpoint here matches. Try another word, or look in another area.