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

Rate limits

Markdown
On this page

The Delivery API applies an abuse ceiling per organisation. The ceiling is set far above the traffic of a normal integration, so reaching it usually means a runaway loop or a retry storm. This page explains how the ceiling is counted, what the API returns when you reach it and how to recover.

How requests are counted

  • Per organisation. Requests are counted for your organisation as a whole, not per key. Creating more keys does not raise your ceiling.
  • Per endpoint group. Playback, the catalog and the creatives endpoints each have their own counter, so a runaway creatives sync cannot block your catalog.
  • Fixed windows. Counts reset at the start of each window.
  • Authenticated requests only. A request with a missing or invalid key is rejected before it is counted, so nobody else can use up your ceiling.

Every ticket request counts toward the playback ceiling, including requests with "intent": "prefetch".

Current limits

Endpoint group Limit per organisation Window
Playback: POST /api/delivery/v1/playback 10,800 requests (about 180 tickets per second) 60 seconds
Catalog: GET /api/delivery/v1/catalog 3,000 requests 60 seconds
Creatives: GET /api/delivery/v1/creatives, GET /api/delivery/v1/creatives/{id} (one counter for both) 3,000 requests 60 seconds

Each window is one clock minute (UTC), so a count starts again at every whole minute. One viewer starting an episode usually costs about three playback tickets (the episode itself plus prefetches), so the playback limit is roughly 60 viewers starting an episode every second.

Wandura can raise any of these limits for your organisation alone: ask in your team's Wandura Discord channel. A raised limit takes effect within about a minute, with no change on your side. Wandura is also alerted when an organisation reaches its playback limit. On a 429, the X-RateLimit-Limit header shows the limit that applies to you.

When you reach the ceiling

Every endpoint answers 429 Too Many Requests with a flat error body, including the creatives endpoints:

{
  "error": "Too many playback requests for this account. This is an abuse ceiling, not a quota — if a normal integration reaches it, contact us and it will be raised.",
  "error_code": "rate_limited"
}

The response carries these headers:

Header Description
Retry-After Seconds until the current window resets.
X-RateLimit-Limit Requests allowed per window for this endpoint group.
X-RateLimit-Window Window length in seconds.

The limit headers appear only on 429 responses.

How to recover

  1. Stop sending requests to that endpoint group until Retry-After has passed. Retrying earlier only returns more 429s.
  2. Look for the cause: a retry loop without backoff, a job that requests tickets for a whole catalog, or catalog calls made on every app launch instead of from a server-side cache.
  3. If your normal traffic reaches the ceiling, ask in your team's Wandura Discord channel to have it raised.

Good habits

  • Cache the catalog on your server and refresh it on a schedule.
  • Request playback tickets only when a viewer starts, or is about to start, an episode.
  • Sync the creatives feed incrementally with updated_since.
  • Use exponential backoff for 5xx responses.

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