hosting
POST /v1/sites/{siteId}/cdn/switch
Deprecated: start a move of this site's CDN (use startSiteCdnSwap).
Նույնականացում
Ուղարկեք API բանալին որպես bearer token: Բանալին պետք է ունենա hosting.cdn.manage թույլտվությունը. առանց դրա բանալին մերժվում է 403, և ոչ թե 404 կարգավիճակով:
Այս վերջնակետը կազմակերպության ID չի ընդունում: Ձեր բանալին արդեն իսկ նույնականացնում է այն կազմակերպությունը, որին պատկանում է, և պատասխանը սահմանափակված է դրանով:
Փորձել
Փոխարինեք անկյունային փակագծերում գտնվող ցանկացած բան ձեր սեփական արժեքներով, և բանալու տեղապահը՝ ձեր վահանակի բանալիով:
curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/cdn/switch \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "to_own": <boolean> }'Մուտք գործե՞լ եք: Ձեր վահանակի API վահանակը լրացնում է ձեր իրական կազմակերպության ID-ն և ձեր սեփական բանալին և գործարկում է հարցումը ուղիղ API-ի դեմ, որպեսզի կարողանաք տեսնել փաստացի պատասխանը: Բացեք այս վերջնակետը API վահանակում
Մանրամասներ
⛔ Deprecated since 2026-09-11; stops answering on 2027-03-11. Use startSiteCdnSwap (POST /v1/sites/{siteId}/cdn/swap), which names the destination account. Every response carries Deprecation, Sunset and a Link to the successor. ⛔⛔ This operation no longer moves the site inside the request, and that is the fix, not a regression (D23680). It used to create the zone on the destination, repoint the site and delete the old zone in one call. On a zone-owning CDN the nameservers belong to the ACCOUNT, so your registrar still pointed at the old zone when it was deleted — the site went dark and the response said 200 with old_zone_removed: true. It now starts the same durable move as startSiteCdnSwap: the old zone is removed only once your domain is observed answering from the new nameservers, and every failure leaves the site serving where it was. The response shape is unchanged — CdnConfig, 200 — and says only what is true the moment the move starts: the configuration is still the source's, old_zone_removed is false and nameservers is empty (the destination zone does not exist yet). swap is the move itself; poll getSiteCdnSwap for its progress and for the nameservers to set at your registrar. {"to_own": true} means your one usable CDN account. With more than one connected it is refused with a sentence naming startSiteCdnSwap, rather than guessed. A request for where the site already is answers 200 with swap: null and starts nothing. ⛔ There is no origin, zone or account field: every one is derived server-side from what the site is placed on. A Footprint-Free site needs footprint_acknowledged to move onto its own account (owner ruling G-3) and needs nothing to move back. Requires hosting.cdn.manage.
Պարամետրեր
| Անուն | Տեսակ | Պահանջվում է | Ինչ է դա |
|---|---|---|---|
siteId (path) | Uuid | Այո | Site ID (UUIDv7). |
Հարցման մարմին
| Անուն | Տեսակ | Պահանջվում է | Ինչ է դա |
|---|---|---|---|
to_own | boolean | Այո | true moves the site onto your own connected Cloudflare account; false returns it to Zinn®'s pool. |
footprint_acknowledged | boolean | Ոչ | Required to move a Footprint-Free site onto your own account (owner ruling G-3): every site on that account can be linked to every other one on it, which is the connection the… |
passthrough_target | string | Ոչ | Present ⇒ move this site to passthrough (⚖️ ruling AB-5): publish this edge hostname as the domain's answer and remove our zone. Absent ⇒ to_own decides, exactly as before.… |
passthrough_label | string | Ոչ | Optional free-text name for the CDN the customer runs themselves. |
Պատասխան
| Անուն | Տեսակ | Պահանջվում է | Ինչ է դա |
|---|---|---|---|
old_zone_removed | boolean | Ոչ | Only 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.… |
swap | CdnSwap | null | Ոչ | Only 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… |
nameservers | string[] | Ոչ | Only 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_id | Uuid | Այո | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
product_line | string | Այո | The site product line, which decides whether the CDN is managed. |
managed | boolean | Այո | True on the footprint-free line, where the CDN is platform-owned footprint machinery the customer neither configures nor sees. |
enabled | boolean | Այո | — |
tier | CdnTier | Այո | byo 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. ⛔⛔… |
provider | object | Այո | Display 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… |
account | CdnAccount | Այո | Which 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_target | string | Ոչ | Where 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_label | string | Ոչ | What 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_nameservers | string[] | Ոչ | The 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_minor | integer | Այո | Monthly premium-tier price in integer minor units (§2.8). |
currency | string | Այո | ISO-4217 code the price_minor above is expressed in. |
edge | CdnEdge | Այո | Which edge is actually in front of this site, and which of the CDN screen's controls will do anything. ⛔⛔… |
Այս վերջնակետի կողմից վերադարձվող սխալները
401 · 403 · 404 · 409 · 422 · 429 · 503