Change history
Every change to this page, newest first. Expand an entry to see what changed.
- 2 Oct 2026 · +7 −18 lines
Show changes
⋯ ## Scopes - Each key carries one or more scopes. A key can only call the endpoints its scopes allow. - - | Scope | Shown in the portal as | Who creates it | - |---|---|---| - | `metadata:read` | Read film metadata | You, in the portal | - | `creatives:export` | Receive exported creatives | You, in the portal | - | `webhooks:manage` | Manage webhooks | You, in the portal | - | `playback` | Play films | You, in the portal | - - To stream films in your app, pick **Stream films in an app** when you create the key. It gets `metadata:read` and `playback`. - - > **Warning:** If a playback key leaks, anyone can stream your licensed films. Revoke it immediately. The portal shows this warning on the card and again next to the new key. Every new playback key, and every rotation of one, also sends an alert to Wandura with your organisation, who created it and its prefix (never the key itself). + Each key carries one or more scopes, and can only call the endpoints its scopes allow. Which scope opens which endpoint is in one table: [Authentication · Scopes](../developers/authentication.md#scopes). - The [API reference](../developers/reference/overview.md) lists which endpoint needs which scope. + > **Warning:** If a playback key leaks, anyone can stream your licensed films. Revoke it immediately. The portal shows this warning on the card and again next to the new key. ## Create a key ⋯ 1. Open **Developers**. 2. Under **Create a key**, enter a **Label** that says where the key is used, for example `cms-prod`. Up to 80 characters. - 3. Tick at least one scope. **Read film metadata** is ticked by default. + 3. Under **What will this key do?**, pick a purpose: **Stream films in an app**, **Stream open video (fitness…)** (asks you to pick an app), **Sync catalog to your CMS** or **Receive creatives / webhooks**. To choose scopes yourself, pick **Advanced: choose scopes**. 4. Press **Create key**. 5. Copy the key from the box that appears, using **Copy key**, and store it in your secrets manager. ⋯ 1. Press **Rotate** on the key. - 2. Confirm with **Rotate key**. The current key stops working immediately. + 2. Confirm with **Rotate key**. The current secret stops working within seconds (see [Security](../developers/concepts/security.md#key-lifecycle)). 3. Copy the new key from the box that appears. As with a new key, it is shown only once. - Update your servers right after rotating, because requests made with the old key fail from that moment. You cannot rotate a revoked key. Playback keys rotate like any other key; to switch without downtime, create a second playback key, deploy it, then revoke the old one. + Update your servers right after rotating: there is no overlap. A rotated key keeps its API version pin; a new key gets the latest version. You cannot rotate a revoked key. Playback keys rotate like any other key; to switch without downtime, create a second playback key, deploy it, then revoke the old one. ## Revoke a key ⋯ 2. Confirm with **Revoke key**. - Anything using the key stops working immediately, and revoking cannot be undone. The key stays in the list marked **Revoked**. + New requests with the key are refused within seconds, and revoking cannot be undone. Tickets already issued keep playing until they expire (at most 30 minutes). The key stays in the list marked **Revoked**. | Key type | Developer | Admin | ⋯ | Any key of your organisation, playback keys included | Rotate, revoke | Rotate, revoke | - > **Warning:** Revoking a playback key stops film playback in your apps immediately. If you think the key has leaked, revoke it anyway, then create a new playback key for your servers. + > **Warning:** Revoking a playback key stops new playback in your apps within seconds. If you think the key has leaked, revoke it anyway, then create a new playback key for your servers and tell Wandura. The full runbook: [Security · If a key leaks](../developers/concepts/security.md#leaked-key). ## Next steps ⋯
- 2 Oct 2026 · Page created