hosting
POST /v1/sites/{siteId}/cdn/switch
Move a live site's CDN onto your own account, or back to ours.
Ìfàṣẹ́pọ̀
Fi bọ́ọ̀lù (bearer token) ranṣẹ gẹ́gẹ́ bí kọ́kọ́rọ́ API. Kọ́kọ́rọ́ náà gbọ́dọ̀ ní ìyọ̀ǹda hosting.cdn.manage; a ó kọ̀ ọ́ silẹ pẹlu 403, kii ṣe 404, ti kọ́kọ́rọ́ náà kò bá ní i.
Ojú abánisọ̀rọ̀ yìí kò gba id ajọ kankan. Kọ́kọ́rọ́ rẹ ti mọ ajọ ti o jẹ ti e, a o si fèsì nipa rẹ̀.
Gbiyanju rẹ
Rọ́pọ̀ èyíkéyìí nínú àwọn àmì ìtọ́ka < > pẹ̀lú iye tirẹ̀, àti àmì ìdánimọ̀ bọ́tìnnì náà pẹ̀lú bọ́tìnnì kan láti inú dásibọ̀ọ̀dù rẹ.
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> }'Ṣé o ti wọlé? Iwọ̀n api ní nú ìgbékalẹ̀ rẹ kún id àjọ gidi rẹ ati bọtini tirẹ, o si nṣiṣẹ ibeere na lòdì si api gidi ki o le rii esi gidi na. Ṣí ojú abáná yìí sílẹ̀ nínú kọnsólù API
Àwọn kúlẹ̀kúlẹ̀
Actually **moves** the site: creates the zone on the destination account, points the site at it, and removes the old one. ⛔ **`PUT /v1/sites/{siteId}/cdn` records a CHOICE; this performs it.** That endpoint writes the tier, the connection and the vendor and saves the row — it creates no zone, repoints nothing and removes nothing. Until this operation existed, selecting "your own CDN account" produced a tab that said so over a site still served entirely by a Zinn® pool zone, which was also still billing. Nothing failed: the row was exactly what had been asked for, and the world was untouched. **The order is the safety property.** The destination zone is created and read back first; the site is repointed second; the old zone is deleted last. Deleting first leaves a window in which the records name an edge that no longer exists — an outage the customer sees before we do. This order's failure mode is that the site is briefly reachable through two edges, which nobody notices. `old_zone_removed` in the response is an **observation, not an intention**: a destination that could not be reached fails the whole call with nothing changed, but a *source* that refuses the delete does not — the move has succeeded and the site is served correctly, while the customer is still being billed by the old provider and has to go and cancel it. That is why it is reported rather than assumed. ⛔ There is no origin, zone or account field. Every one is derived server-side from what the site is actually placed on: a caller-supplied origin is how an edge gets pointed at somebody else's server. 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`.
Àwọn ìpìlẹ̀
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
siteId (path) | Uuid | Bẹẹni | Site ID (UUIDv7). |
Akoonu ibeere naa
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
to_own | boolean | Bẹẹni | `true` moves the site onto your own connected Cloudflare account; `false` returns it to Zinn®'s pool. |
footprint_acknowledged | boolean | Bẹẹkọ | 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 t… |
passthrough_target | string | Bẹẹkọ | 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 | Bẹẹkọ | Optional free-text name for the CDN the customer runs themselves. |
Idahun
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
old_zone_removed | boolean | Bẹẹkọ | Only on a `switchSiteCdn` response: whether the site's **previous** zone was really deleted. ⛔ An observation, not an intention — a source account that refuses the delete does n… |
nameservers | string[] | Bẹẹkọ | Only on a switch response, and only for a zone-owning CDN: the nameservers the destination zone is served from. ⛔ **The customer has to act on this.** Cloudflare assigns a names… |
site_id | Uuid | Bẹẹni | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
product_line | string | Bẹẹni | The site product line, which decides whether the CDN is managed. |
managed | boolean | Bẹẹni | True on the footprint-free line, where the CDN is platform-owned footprint machinery the customer neither configures nor sees. |
enabled | boolean | Bẹẹni | — |
tier | CdnTier | Bẹẹni | `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. ⛔⛔ `pass… |
provider | object | Bẹẹni | 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 #9… |
account | CdnAccount | Bẹẹni | 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 a… |
passthrough_target | string | Bẹẹkọ | 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**, wh… |
passthrough_label | string | Bẹẹkọ | 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 rathe… |
price_minor | integer | Bẹẹni | Monthly premium-tier price in integer minor units (§2.8). |
currency | string | Bẹẹni | ISO-4217 code the price_minor above is expressed in. |
edge | CdnEdge | Bẹẹni | Which edge is **actually** in front of this site, and which of the CDN screen's controls will do anything. ⛔⛔ **`enabled` above is not the same question and the two disagree on… |
Awọn aṣiṣe ti ibudo ipari yii le da pada
401 · 403 · 404 · 422 · 429 · 503