hosting

GET /v1/sites/{siteId}/cdn

Get a site's CDN configuration.

All hosting endpoints

All developer docs →

Authentication

Send an API key as a bearer token. The key must carry the sites.view permission; a key without it is refused with 403, not 404.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/cdn \
  -H "Authorization: Bearer zdk_live_…"

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

On the footprint-free line the CDN is platform-managed footprint machinery: managed is true and provider is always null, because naming the CDN in front of a PBN site would leak the footprint the line exists to hide (register #93). On other lines the customer picks a tier or brings their own connected account. Requires sites.view.

Parameters

NameTypeRequiredWhat it is
siteId (path)UuidYesSite ID (UUIDv7).

Response

NameTypeRequiredWhat it is
old_zone_removedbooleanNoOnly on a switchSiteCdn response, and always false there since that operation began starting a durable move (W43-06): nothing has been removed when the request answers.…
swapCdnSwap | nullNoOnly on a switchSiteCdn response: the move that request started, or null when the site was already where it asked and nothing was started. Poll getSiteCdnSwap for its…
nameserversstring[]NoOnly on a switch response, and always empty there now: the destination zone does not exist when the request answers. The nameservers to set at your registrar are…
site_idUuidYesUUIDv7 identifier — sortable by creation time (docs/02 §8).
product_linestringYesThe site product line, which decides whether the CDN is managed.
managedbooleanYesTrue on the footprint-free line, where the CDN is platform-owned footprint machinery the customer neither configures nor sees.
enabledbooleanYes—
tierCdnTierYesbyo runs the site CDN on a CDN account the customer has connected — we hold the credential and drive it, so purge, TLS and zone state all work from the dashboard. ⛔⛔…
providerobjectYesDisplay name of the active CDN, or null when managed is true — naming the CDN in front of a footprint-free site would leak the footprint the line exists to hide (register…
accountCdnAccountYesWhich CDN account serves this site, and whether its credential still works. ⛔ Always present — never omitted for "we do not know", because an absent object is read by a client as…
passthrough_targetstringNoWhere a passthrough site's traffic is pointed — the edge hostname the customer's own CDN gave them, which we publish as this domain's answer. Empty on every other tier,…
passthrough_labelstringNoWhat the customer calls the CDN they run themselves. ⚠️ Unverified — we hold no credential for that edge, so this is their claim and a client must present it as theirs rather…
zone_nameserversstring[]NoThe nameservers the CDN provider assigned this site's zone — Cloudflare issues a pair per zone — stored when the zone was created. This is what the domain must be delegated to for…
price_minorintegerYesMonthly premium-tier price in integer minor units (§2.8).
currencystringYesISO-4217 code the price_minor above is expressed in.
edgeCdnEdgeYesWhich edge is actually in front of this site, and which of the CDN screen's controls will do anything. ⛔⛔…

Errors this endpoint can return

401 · 403 · 404 · 429