Bản lưu ngày / Snapshot of 2026-10-14 · 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.
You are reading an older version of these docs: v1 · Go to the latest (v2)
API reference

Get configuration

Markdown
On this page

Returns the configuration that applies to the calling key and its organisation: rate limits, playback settings and ticket lifetimes, batch limits, subtitle languages, API versions and deprecations. Read it when your backend starts, or every few hours, instead of hard-coding these values. See Versioning and API evolution.

GET /api/delivery/v1/config

Scope: any valid API key

Request parameters

Name In Type Required Description
Authorization header string Yes Bearer <API key> for a key with the any scope.
Wandura-Version header string No Optional. A dated API version (YYYY-MM-DD) to use for this request instead of the version pinned to your API key. Unknown or retired values answer 400 with error_code unsupported_version.
Wandura-Simulate header string No Optional, test organisations only. Asks Wandura to answer with a simulated error so you can test how your app handles it, for example rate_limited, service_unavailable or not_entitled:outside_window. The simulated response has the same status, body and headers as the real one, plus a Wandura-Simulated header naming the scenario. It issues no ticket and does not count against your rate limits, except partial_batch, whose first item is a real ticket. Simulated responses have their own limit of 300 per minute per organisation. Keys of production organisations ignore this header completely. An unknown value, or a scenario this endpoint does not support, is ignored and the request runs normally. See the Testing guide for the list of scenarios.

Request example

curl -s https://www.wandura.ai/api/delivery/v1/config \
  -H "Authorization: Bearer $WANDURA_API_KEY"

Response

200 OK. New fields may be added at any time: ignore the ones you do not recognise.

Field Type Description
api.status string beta while the API is in beta.
api.path_version string Major version in the path, v1.
api.version string Dated version this response was produced in.
api.pinned_version string Dated version pinned to the calling key.
api.latest_version string Newest dated version.
api.version_header string Name of the version header, Wandura-Version.
api.supported_versions array Dated versions you can use today.
key.scopes array of strings Scopes of the calling key.
key.test_organisation boolean true when the calling key belongs to a test organisation (its traffic is not counted as views or usage, and it may send Wandura-Simulate).
rate_limits.window_seconds integer Length of the counting window in seconds.
rate_limits.doors object Per endpoint group: catalog, playback, creatives, videos, config.
playback.domains array of strings Domains your playback URLs use.
playback.protection array of strings Protection levels your organisation can receive.
playback.grant_ttl_seconds integer Lifetime of a play token, in seconds.
playback.manifest_url_ttl_seconds integer Lifetime of a signed manifest URL, in seconds.
playback.batch.max_episodes integer Most episodes one playback call may request.
playback.batch.max_next integer Largest next value in one playback call.
subtitles.format string webvtt.
subtitles.languages array of strings Subtitle languages present on films you are licensed to (updated within 5 minutes).
deprecations array Every announced deprecation. Empty when there is none.
links object Absolute URLs: self, every endpoint, docs, evolution and changes (the machine-readable changelog).

Response example

{
  "api": {
    "status": "beta",
    "path_version": "v1",
    "version": "2026-10-02",
    "pinned_version": "2026-10-02",
    "latest_version": "2026-10-02",
    "version_header": "Wandura-Version",
    "supported_versions": [
      {
        "version": "2026-10-02",
        "released_at": "2026-10-02",
        "deprecated_at": null,
        "sunset_at": null,
        "summary": "First dated version: the /v1 response shapes as of 2 October 2026."
      }
    ]
  },
  "key": { "scopes": ["metadata:read", "playback"] },
  "rate_limits": {
    "window_seconds": 60,
    "doors": {
      "catalog": { "limit": 3000, "unit": "requests" },
      "playback": { "limit": 10800, "unit": "tickets" },
      "creatives": { "limit": 3000, "unit": "requests" },
      "videos": { "limit": 3000, "unit": "requests" },
      "config": { "limit": 600, "unit": "requests" }
    }
  },
  "playback": {
    "domains": ["playback.example.com"],
    "protection": ["private-encrypted"],
    "grant_ttl_seconds": 1800,
    "manifest_url_ttl_seconds": 900,
    "batch": { "max_episodes": 3, "max_next": 2 }
  },
  "subtitles": { "format": "webvtt", "languages": ["en"] },
  "deprecations": [],
  "links": {
    "self": "https://www.wandura.ai/api/delivery/v1/config",
    "catalog": "https://www.wandura.ai/api/delivery/v1/catalog",
    "playback": "https://www.wandura.ai/api/delivery/v1/playback",
    "creatives": "https://www.wandura.ai/api/delivery/v1/creatives",
    "videos": "https://www.wandura.ai/api/delivery/v1/videos",
    "config": "https://www.wandura.ai/api/delivery/v1/config",
    "docs": "https://docs.wandura.ai/developers/reference/overview",
    "evolution": "https://docs.wandura.ai/developers/concepts/api-evolution",
    "changes": "https://docs.wandura.ai/changes.json"
  }
}

Response headers

Header Responses Description
Wandura-API-Status all API status. beta today, on every response, success or error.
Wandura-Version all The dated API version (YYYY-MM-DD) this response was produced in: the version pinned to your API key, or the one you sent in the Wandura-Version request header. Keys created before dated versions existed use 2026-10-02.
Wandura-Request-Id all An opaque id for this request (req_ followed by 26 characters). Every response carries it, errors included, and error bodies repeat it as request_id. Log it, and quote it when you contact Wandura about a request: it finds the exact request in our logs. Do not parse it.
Deprecation 200 Present only when this endpoint, or the dated version serving this response, is deprecated (RFC 9745): @<unix seconds> of the deprecation date. Log it in your monitoring.
Sunset 200 Present only when a deprecated endpoint or dated version has a date when it stops working (RFC 8594), as an HTTP date.
Link 200 Present with Deprecation: <https://docs.wandura.ai/…>; rel="deprecation" (and rel="sunset") pointing to the page that explains what to use instead.
Cache-Control all Always no-store. Do not cache these responses in shared caches.
Retry-After 429, 503 Seconds to wait before retrying. Sent with 429 and with retryable 503 responses.
X-RateLimit-Limit 429 Requests (for playback, tickets) allowed per window for this endpoint group and your organisation.
X-RateLimit-Window 429 Window length in seconds.

Errors

Status error_code When
400 unsupported_version The Wandura-Version header, or the version pinned to your key, is unknown or retired. The body adds supported_versions and latest_version (and upgrade_to when your pin was retired).
401 none The Authorization: Bearer header is missing, or the key is unknown or revoked.
403 none (error is org_suspended) Your organisation's access is suspended.
429 rate_limited The rate limit for the configuration endpoint was reached.
503 service_unavailable Wandura could not verify the API key in time. The key is not wrong: retry after Retry-After seconds, with backoff.
503 service_unavailable Wandura could not read your configuration in time (Could not read your configuration in time — retry). Retry after Retry-After seconds, with backoff.

rate_limits.doors lists every counter except the one of Get one open video; all counters are in Canonical API behaviour.

What to do for each: Errors.

Updated 5 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