Bản lưu ngày / Snapshot of 2026-10-01 · Xem bản mới nhất / See the latest version
WanduraDocsBeta
BetaThese docs are in beta and change often. Something wrong, unclear or missing? Tell us.
Change history

History: List licensed catalog

Every change to this page, newest first. Expand an entry to see what changed.

← List licensed catalog

  1. 1 Oct 2026 · +10 −7 lines
    Show changes
    ⋯
      | Field | Type | Description |
      |---|---|---|
    - | `id` | string (UUID) | Film ID. Use it as `film_ref` in playback. |
    + | `id` | string (UUID) | Film ID. It never changes: use it as your primary key, and as `film_ref` in playback. |
      | `title` | string | Film title. |
    - | `slug` | string | URL-safe film identifier. Also accepted as `film_ref` in playback. |
    + | `slug` | string | URL-safe film identifier, unique across films. Wandura does not change it after the film is created. Also accepted as `film_ref` in playback. |
      | `synopsis_short` | string or null | Short description for cards. Length varies. |
      | `synopsis_full` | string or null | Full description for detail pages. |
      | `genres` | array of strings | Genre labels. Can be empty. |
    - | `language` | string or null | Language of the film. |
    + | `language` | string or null | Language of the film, as free text written by Wandura's content team (for example `en` or `English`). It is not a fixed list of codes: display it, do not parse it. |
      | `poster_url` | string or null | Film poster URL. |
      | `status` | string | Always `published`. |
      | `display_order` | integer | Display position, smallest first. The array is already sorted by it. |
    - | `planned_episodes` | integer or null | Total number of episodes planned. |
    - | `free_until_episode` | integer or null | Episodes with `episode_no` up to and including this number are free. |
    + | `planned_episodes` | integer or null | Total number of episodes planned. `null` when not set: then the film gets no placeholder rows, and `episodes` lists only its published episodes. |
    + | `free_until_episode` | integer or null | Episodes with `episode_no` up to and including this number are free. `0` means no free episode. `null` means no number is set for the film: treat every episode as paid, and ask Wandura if you expected free episodes. |
      | `audience` | string or null | `women`, `men`, `lgbtq`, or `null` if unclassified. |
      | `form` | string or null | `live_action`, `anime`, or `null` if unclassified. |
    ⋯
      | `stream_ready` | boolean | `true` when a ticket can be issued for the episode. Always `false` on placeholder rows. |
      
    - Episodes are grouped by film ID and sorted by `episode_no` within each film. Take the film order from `films`.
    + Within a film, each `episode_no` appears once, so `film_id` + `episode_no` identifies an episode. Episodes are grouped by film ID and sorted by `episode_no` within each film. Take the film order from `films`.
      
      If your organisation has no current licences, both arrays are empty.
    ⋯
      ```
      
    - ## Errors
    + ## Errors {#errors}
      
      | Status | `error_code` | When |
    ⋯
      | 403 | none (`error` is `org_suspended`) | Your organisation's access is suspended. |
      | 429 | `rate_limited` | The rate limit for the catalog and creatives endpoints was reached. |
    + | 503 | `service_unavailable` | Wandura could not verify the API key in time. The key is not wrong: retry after `Retry-After` seconds, with backoff. |
      
    + The two `403` responses carry no `error_code`. Tell them apart by `error`: it is exactly `org_suspended` when your organisation is suspended, and any other text means the key lacks `metadata:read`. This is the one case where you compare `error`; compare the whole string.
    + 
      See [Errors](../concepts/errors.md#catalog-errors) for what to do in each case.
  2. 29 Sept 2026 · Page created
↑↓ selectEnter openEsc close

Send feedback

Your message goes straight to the Wandura team. It includes the address of this page.

0 / 4000