Change history
Every change to this page, newest first. Expand an entry to see what changed.
- 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: ⋯
- 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).
- 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. ⋯
- 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 ⋯
- 29 Sept 2026 · Page created