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.
Help

FAQ

Markdown
On this page

Answers to the questions developers ask most often while integrating the Wandura Delivery API. If your question is not here, see Support.

Keys and access

Can I call the API from a browser or a mobile app?

No. The API is server-to-server: the endpoints send no CORS headers, and your API key must never ship inside a client. Your app talks to your backend, and your backend talks to Wandura.

Can I create a key with the playback scope myself?

Yes. Any Admin or Developer of your organisation creates it on Developers by picking Stream films in an app. If a playback key leaks, anyone can stream your licensed films, so keep it on your server and revoke it immediately if you think it has leaked. See Authentication.

I lost a key. Can Wandura show it to me again?

No. The full key is shown once, when it is created. Rotate it or create a new one on the Developers page.

Does rotating a key cause downtime?

Yes: the old key stops working immediately. For a smooth switch, create a second key, deploy it, then revoke the old one. This works the same for playback keys.

Is there a sandbox?

No. Every environment calls https://www.wandura.ai. You test with your own keys, in the organisation Wandura chooses for testing, and test plays are recorded like any other. See Test and production.

Catalog

A film I licensed is missing from the catalog. Why?

The catalog lists a film only while your streaming licence for it is active, today is inside the licence window (in UTC), and the film is published. Check the licence dates with Wandura.

Why do some episodes have "id": null?

They are placeholders for episodes that are planned but not published yet, so you can show "coming soon" tiles. They always have "status": "planned" and "stream_ready": false. See Catalog.

The catalog said stream_ready: true, but playback returned not_ready. Is that a bug?

No. stream_ready is a snapshot taken when you fetched the catalog. Playback checks again on every request, and a title can be withdrawn in between. Show "not available yet" and refresh your catalog.

How do I know which episodes are free?

Episodes with episode_no less than or equal to the film's free_until_episode are free. Read it from the catalog; it differs per film.

Playback

Why do I get 409 sdk_required?

Licensed episodes are encrypted and can only be played through the Player SDK. Send the device values union_info and drm_kek from the SDK with your request. See Playback.

Why do I get 400 invalid_device_info?

One of the device values looks empty, for example the literal string "(null)". This usually happens when an SDK call returns nothing and your code converts it to text. The fields array tells you which value to fix.

Can I play episodes with a standard HLS player?

No. A standard player loads the playlist and then stalls. Use the Player SDK: Wandura registers your app IDs and issues the Player SDK licence; your organisation pays for it. The setup guide is on partner.wandura.ai → Developers → Player SDK, available after onboarding.

Can I cache playback tickets?

No. A ticket expires 30 minutes after it is issued. Request one per play start, and request a fresh one if the player fails mid-session.

Can I request tickets for several episodes in one call?

No. Each request covers one episode. If your app preloads the next episode, request its ticket separately and send "intent": "prefetch".

Do prefetch requests count as plays?

Not when you send "intent": "prefetch". Without intent, or with a value other than play or prefetch, every successful ticket request counts as a play. Prefetch requests still count toward your rate limit.

Where do subtitles come from?

Every playback response includes a subtitles array of WebVTT files. An empty array means none are attached yet. See Playback.

Creatives

Does the creatives feed include video files?

No. Records describe each creative but never include a media URL. Ask Wandura how final files reach your systems.

How do I find out a creative was withdrawn?

The feed has no deletion events. Call GET /creatives/{id}: a creative that is no longer available returns 404 with code 4040.

Why did the same creative arrive twice?

Incremental syncs can return a record again. Store records keyed by creative_id and overwrite them. See Creatives.

Updated 1 Oct 2026 · Change history (4)

↑↓ selectEnter openEsc close

Send feedback

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

0 / 4000