Production
TL;DR — Start from the symptom, check the cause in the table, and fix it on your side. If the problem is on Wandura's side, or you cannot tell, escalate in your team's Wandura Discord channel with: request id, time (UTC), endpoint, status,
error_code, organisation.
The flow
Symptoms
| Symptom | Likely cause | Check / fix |
|---|---|---|
Every call answers 401 |
Empty or wrong WANDURA_API_KEY; key revoked |
Print the key's length (41) and prefix; Developers shows revoked keys. |
403 on /playback, no error_code |
Key without playback |
Use a Stream films in an app key. |
503 service_unavailable now and then |
Wandura could not answer in time | Normal: retried by your client. Never rotate the key for it. |
Catalog 200 with "films": [] |
No licence active for this organisation (or the wrong organisation's key) | Check with Wandura which films are licensed, to which organisation. |
| A licensed film is missing | Outside its window (UTC), not published, or licence switched off | Ask Wandura for the licence dates. |
not_ready for an episode that was stream_ready: true |
Withdrawn or replaced since your last sync | Re-sync; show "Not available yet". |
400 invalid_device_info |
The app sent (null) or an empty value |
Read device values only after the SDK licence check passed. |
409 sdk_required |
No device values sent | Send union_info and drm_kek. |
| The player loads and never starts | Not playing through the Player SDK, or a missed setup step | Player SDK · common problems. |
| Playback stops after about 30 minutes | Ticket expired | One fresh ticket, resume at the same position. |
429 on play tickets |
A retry loop, tickets for a whole film, or a real peak | Check your retry budget; ask to raise the limit if traffic is real. |
| A sync walk sees a film twice or misses one | The catalog changed between pages | Expected: de-duplicate, two-miss rule (Catalog sync). |
Creatives 422 4222 |
Cursor invalid (for example the run restarted mid-way) | Restart from your checkpoint. |
Open video 403 on the device |
Link expired, stored in the app, or edited | Serve fresh links from your server; never edit the URL. |
400 unsupported_version |
Bad Wandura-Version value, or your key's version was retired |
Migrating versions. |
Every code and what it means: Errors.
Escalate
Post in your team's Wandura Discord channel with:
| Field | Example |
|---|---|
| Request id | req_01J9Z3W2N8V4K7D5QX6T0B1C2M (from the Wandura-Request-Id header or the error body's request_id) |
| Time (UTC) | 2026-10-02T12:04:31Z |
| Endpoint | POST /api/delivery/v1/playback |
Status and error_code |
503 service_unavailable |
| Organisation | Your organisation name, and the key prefix |
| For playback | The episode and the viewer_ref you sent |
| How many | One viewer, or many? Since when? |
Never paste a full key, a play_auth_token or a signed link. For a key that may have leaked, revoke it first, then post (Security).
During the beta there is no contractual SLA or on-call commitment; Wandura answers in the channel. See Go-live · Support during the beta.
Related
Updated 2 Oct 2026 · Change history (2)