Browse the docs

API reference

Downloads

Offline copies: request, sync and remove (P3-14).

Paths are relative to /api/v1 on your server.

GET/downloads#

List my downloads

Authorisation
Bearer token or API key · Session cookie
  • 200Success. application/json · object
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks download:own, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
POST/downloads#

Request a download

Authorisation
Bearer token or API key · Session cookie
Body
application/json · object
  • 201Success. application/json · Download
  • 400VALIDATION_FAILED: the request did not match the schema; details.issues lists what. application/json · ErrorEnvelope
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks download:own, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
GET/downloads/{id}#

Read a download

Authorisation
Bearer token or API key · Session cookie
ParameterInTypeDescription
id requiredpathstring (uuid)
  • 200Success. application/json · Download
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks download:own, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
  • 404NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
DELETE/downloads/{id}#

Remove a download

Authorisation
Bearer token or API key · Session cookie
ParameterInTypeDescription
id requiredpathstring (uuid)
  • 204Done; no body.
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks download:own, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
  • 404NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
GET/downloads/{id}/file#

Fetch the prepared file

Ready once the download reports ready; Accept-Ranges so a device can resume.

Authorisation
Bearer token or API key · Session cookie
ParameterInTypeDescription
id requiredpathstring (uuid)
  • 200Success. video/mp4 ·
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks download:own, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
  • 404NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
POST/downloads/{id}/sync#

Report what the device holds

The device says what it has; the server answers with what changed and whether the copy is still valid.

Authorisation
Bearer token or API key · Session cookie
Body
application/json · object
ParameterInTypeDescription
id requiredpathstring (uuid)
  • 200Success. application/json · Download
  • 400VALIDATION_FAILED: the request did not match the schema; details.issues lists what. application/json · ErrorEnvelope
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks download:own, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
  • 404NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
POST/downloads/smart#

Prepare the next episodes or lessons a device keeps

Smart downloads (P7-09): the next keep episodes of a show, or lessons of a course, not yet watched anywhere, in play order — a show’s specials left out — each with a download that prepares it at profile: one already there at that quality, else one made now (created). Nothing is made for what the device says it holds (have), and a file that failed lately is answered as failed rather than tried again. The device keeps these and lets go of the rest. VALIDATION_FAILED for anything but a show, a season, a course or a section; FORBIDDEN when its library is not shared for downloading.

Authorisation
Bearer token or API key · Session cookie
Body
application/json · object
  • 200Success. application/json · object
  • 400VALIDATION_FAILED: the request did not match the schema; details.issues lists what. application/json · ErrorEnvelope
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks download:own, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope