On this page
- Keys and access
- Can I call the API from a browser or a mobile app?
- Can I create a key with the playback scope myself?
- I lost a key. Can Wandura show it again?
- Does rotating a key cause downtime?
- Is there a sandbox?
- Catalog
- Is the catalog paginated?
- A film I licensed is missing. Why?
- Why do some episodes have "id": null?
- stream_ready was true, but playback said not_ready. A bug?
- Playback
- Can I request tickets for several episodes in one call?
- Can I cache playback tickets?
- Why do I get 409 sdk_required or 400 invalid_device_info?
- Can I play episodes with a standard HLS player?
- Do prefetch requests count as plays?
- Where do subtitles come from?
- Creatives
- Does the feed include video files?
- How do I find out a creative was withdrawn?
- Why did the same creative arrive twice?
Short answers, each with a link to the page that owns the details. Not here? See Troubleshooting or Support.
Keys and access
Can I call the API from a browser or a mobile app?
No. The API is server-to-server: no CORS headers, and a key inside a client can be extracted. Your app talks to your backend. See Security.
Can I create a key with the playback scope myself?
Yes: any Admin or Developer, on Developers → Stream films in an app. See Authentication.
I lost a key. Can Wandura show it again?
No. It is shown once. Rotate it or create a new one.
Does rotating a key cause downtime?
Yes: the old secret stops working within seconds, with no overlap. For no downtime, create a second key, deploy it, then revoke the old one; mind the version pin. See Security · Key lifecycle.
Is there a sandbox?
No separate host. Tests call production with the keys of your test organisation: sample films only, plays not counted, errors simulated on demand. See Testing.
Catalog
Is the catalog paginated?
Optionally. Without limit you get everything in one response; with limit (1–200 films) you page with cursor. Pages are not one snapshot: see Canonical API behaviour · Pagination.
A film I licensed is missing. Why?
The licence must be active, today (UTC) inside its window, and the film published. Check the dates with Wandura. See Catalog.
Why do some episodes have "id": null?
They are placeholders for planned episodes ("coming soon"). Never send them to playback. See Catalog.
stream_ready was true, but playback said not_ready. A bug?
No. The catalog is a snapshot; the ticket request checks again. Show "Not available yet" and re-sync.
Playback
Can I request tickets for several episodes in one call?
Yes: up to 3 per call, with episodes or with an episode plus next. Each ticket counts 1 toward your limit. See Request playback.
Can I cache playback tickets?
Yes, per viewer, device, episode and intent, until 5 minutes before expires_at. Never across devices: a ticket only decrypts on the device it was issued for. With a stable viewer_ref, Wandura does this for you. See Canonical API behaviour · Reuse.
Why do I get 409 sdk_required or 400 invalid_device_info?
The device values from the Player SDK are missing (409) or look empty, such as "(null)" (400). See Playback and tickets.
Can I play episodes with a standard HLS player?
No: it loads the playlist and stalls. Use the Player SDK. See Player SDK.
Do prefetch requests count as plays?
Not with "intent": "prefetch". They do count toward your rate limit. Requests without intent, or with another value, count as plays.
Where do subtitles come from?
From each ticket, as WebVTT files. See Subtitles.
Creatives
Does the feed include video files?
No. Records describe each creative; ask Wandura how final files reach you.
How do I find out a creative was withdrawn?
GET /creatives/{id} answers 404 4040. There are no deletion events. See Creatives sync.
Why did the same creative arrive twice?
Incremental syncs can repeat a record. Overwrite by creative_id.
Updated 5 Oct 2026 · Change history (5)