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: API reference

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

← API reference

  1. 1 Oct 2026 · +3 −3 lines
    Show changes
    ⋯
      | `creatives:export` | [List creatives](creatives-list.md), [Get a creative](creatives-get.md) | Create it yourself in the partner portal |
      | `webhooks:manage` | Not used by any endpoint yet | Create it yourself in the partner portal |
    - | `playback` | [Request playback](playback.md) | Issued by Wandura only |
    + | `playback` | [Request playback](playback.md) | Create it yourself in the partner portal (**Stream films in an app**) |
      
    - Organisation members with the **Admin** or **Developer** role create, rotate and revoke keys on the **Developers** page of the partner portal. The full key is shown once, at creation. Keys with the `playback` scope are managed by Wandura and cannot be rotated from the portal. See [Authentication](../authentication.md).
    + Organisation members with the **Admin** or **Developer** role create, rotate and revoke keys on the **Developers** page of the partner portal. The full key is shown once, at creation. This includes keys with the `playback` scope: if one leaks, anyone can stream your licensed films, so revoke it immediately. See [Authentication](../authentication.md).
      
      ## Versioning
    ⋯
      ## Rate limits
      
    - Each organisation has an abuse ceiling per endpoint group, counted over a fixed 60-second window: 30,000 playback requests, and 3,000 requests shared by the catalog and creatives endpoints. The ceiling sits far above normal traffic, so reaching it usually means a runaway loop. Wandura can raise it on request. The limit headers below appear only on `429` responses.
    + Each organisation has an abuse ceiling per endpoint group, counted over a fixed 60-second window: 10,800 playback requests (about 180 tickets per second), 3,000 catalog requests and 3,000 creatives requests, each on its own counter. Reaching a ceiling usually means a runaway loop. Wandura can raise any of them for your organisation on request, effective within about a minute. The limit headers below appear only on `429` responses.
      
      When you reach it, every endpoint answers `429` with a flat body, including the creatives endpoints:
    ⋯
  2. 1 Oct 2026 · +5 −3 lines
    Show changes
    ⋯
      | `GET` | `/api/delivery/v1/creatives/{id}` | `creatives:export` | [Get a creative](creatives-get.md) |
      
    + Any other path under `/api/delivery/v1/`, with any method, returns `404` with a flat JSON body and `error_code` `not_found`. If you get it on a path you expected to work, check the path for a typo.
    + 
      ## Server-to-server only
      
    ⋯
      | Field | Type | Description |
      |---|---|---|
    - | `error` | string | Human-readable message. Do not parse it. |
    + | `error` | string | Human-readable message. Do not parse it. One exception: a catalog `403` has no `error_code`, and its `error` is exactly `org_suspended` when your organisation is suspended. See [List licensed catalog](catalog.md#errors). |
      | `error_code` | string | Machine-readable code. Branch on this. Absent on some errors, for example `401`. |
      | `reason` | string | Present with `not_entitled`. The detailed reason, for logs and support. |
    ⋯
      ## Rate limits
      
    - Each organisation has an abuse ceiling per endpoint group, counted over a fixed time window. The ceiling sits far above normal traffic, so reaching it usually means a runaway loop. The catalog and creatives endpoints share one counter; playback has its own.
    + Each organisation has an abuse ceiling per endpoint group, counted over a fixed 60-second window: 30,000 playback requests, and 3,000 requests shared by the catalog and creatives endpoints. The ceiling sits far above normal traffic, so reaching it usually means a runaway loop. Wandura can raise it on request. The limit headers below appear only on `429` responses.
      
      When you reach it, every endpoint answers `429` with a flat body, including the creatives endpoints:
    ⋯
      | `X-RateLimit-Window` | Window length in seconds. |
      
    - Wait for `Retry-After` before retrying. See [Rate limits](../concepts/rate-limits.md).
    + Wait for `Retry-After` before retrying. See [Rate limits](../concepts/rate-limits.md#limits).
  3. 1 Oct 2026 · +1 −1 lines
    Show changes
    ⋯
      ## Versioning
      
    - The API version is part of the path (`/v1`). Within a version, Wandura may add new response fields and new error codes without notice. Ignore fields you do not recognise, and always keep a default branch for unknown error codes.
    + The API version is part of the path (`/v1`). Within a version, Wandura may add new response fields and new error codes without notice. Ignore fields you do not recognise, and always keep a default branch for unknown error codes. What counts as breaking, and how long old versions are supported: [Versioning and deprecation](../concepts/versioning.md).
      
      Creative records also carry a `schema_version` field, currently `1`. Additive fields do not change it.
    ⋯
  4. 1 Oct 2026 · +4 −0 lines
    Show changes
    ⋯
      Creative records also carry a `schema_version` field, currently `1`. Additive fields do not change it.
      
    + ### Beta {#beta}
    + 
    + The API is in **beta**. Every response from `/v1` carries the header `Wandura-API-Status: beta`. During the beta Wandura may still change behaviour inside `/v1`; changes are listed in the **Changelog** (link at the bottom of every page). Spotted something wrong or missing? Use **Send feedback** at the top of any docs page.
    + 
      ## Requests and responses
      
    ⋯
  5. 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