hosting

GET /v1/sites/{siteId}/cdn/targets

Where this site's CDN could be served from.

All hosting endpoints

All developer docs

Authentication

Send an API key as a bearer token. The key must carry the hosting.cdn.manage 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/targets \
  -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

Every destination this site's CDN could move to: Zinn®'s own pool, one row per CDN account you have connected, and passthrough (an edge you run yourself). ⛔⛔ This operation exists because a customer could not see their own accounts at all. A connected CDN account is a provider-account row scoped to your organisation, and until this endpoint the only route that read that table was a staff one — so a customer who connected two Cloudflare accounts could see neither, and the (now deprecated) switchSiteCdn's body was a boolean that cannot name one of two. The account you connect on the Connections page is listed too, as one own row. ⛔ An unusable target is LISTED, with its reason, never hidden. "My account is not in the list" and "my account is in the list and says the token was revoked" send you to two different places, and only the second is true. reason is a machine key so the client renders the sentence in your language. ⭐ changes_nameservers is the field to render before the customer clicks. A zone-owning CDN assigns nameservers per account, so a move between two accounts on the same vendor still changes the delegation your registrar must point at. Advisory and read-only: a target listed as available may still fail at swap time because a credential was revoked in between, and the swap says so. Requires hosting.cdn.manage.

Parameters

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

Response

NameTypeRequiredWhat it is
dataCdnTarget[]Yes

Errors this endpoint can return

401 · 403 · 404 · 429