hosting
GET /v1/cdn/targets
Where a NEW site's CDN could be served from.
Authentication
Send an API key as a bearer token. The key must carry the sites.create 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/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
The CDN destinations a site you are about to create could be placed on: Zinn®'s own pool, and one row per CDN account you have connected. ⛔⛤ This exists because the create wizard asked a boolean. "Use my own CDN" is a checkbox, and a checkbox cannot name one of two accounts — so a customer with two Cloudflare accounts said "mine" and the platform chose which. The wizard also showed that checkbox only when a connected provider was literally cloudflare, so an account on Bunny or CDN77 had no control at all and no explanation for its absence. ⛔ Pass product_line. It is the one input that changes the answer: on a platform-managed line (Footprint-Free) creating straight onto your own account is refused — every site on one account can be linked to every other on it, which is what that line is sold to prevent — so each account comes back listed, unavailable, with reason: line_is_platform_managed. Listing it and saying why is the point: a customer who cannot find their account concludes the connection failed. ⭐ changes_nameservers is the field to render before the customer commits. A zone-owning CDN assigns nameservers per account, so choosing your own account means your registrar must be pointed at that account's pair. Advisory and read-only; the create itself re-checks everything. Requires sites.create.
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
product_line (query) | string | No | The line the site will be created on, as the engine spells it (footprint_free, mainstream). Omitted means unmanaged, which is the permissive answer — the create re-checks, so… |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
data | CdnTarget[] | Yes | — |
Errors this endpoint can return
401 · 403 · 429