Skip to main content
The delivery API serves one card per call to your publisher edge. It has one endpoint, GET /v1/fragment: you send your account id and the page URL, doubleshift resolves the fragment and picks the card (how delivery works).
Base URL
A call

Authentication

Send your API key in the X-API-Key header on every call. Which secret goes where, and why only the header counts: Keys and tokens.

Caching

Every response, whatever its status, carries Cache-Control: private, no-store and no Vary. What that means for a pause or a revoked key: no cache. The response never depends on the User-Agent: your edge decides who gets a card (integrate).

Headers

In the HTML of a 200, the delivery number is also on the card’s root, data-ds-delivery (card format).

Response codes

The shared table; each condition in detail is on the endpoint page. A 4xx or 429 body is JSON, {"ok": false, "error": "…"}: the error text is for people, not for branching. A 204 has no body. An unexpected error on doubleshift’s side is a 204 too: your page never depends on the call. Causes and fixes: verify and troubleshoot.

Rate limit

The ceiling is counted per API key, currently 600 calls per minute. Counters are kept per Cloudflare location, so the limit is approximate, and it may change. A 429 is answered before any delivery is written, and records none: your edge serves the page without a card. If 429s recur under normal traffic, contact doubleshift. It applies to the delivery API only.