hosting
POST /v1/sites/{siteId}/cdn/swap
Move this site's CDN to a named destination.
المصادقة
أرسل مفتاح واجهة برمجة التطبيقات (API key) كرمز حامل (bearer token). يجب أن يحمل المفتاح إذن hosting.cdn.manage؛ والمفتاح الذي لا يملكه يُرفض بالرمز 403 وليس 404.
لا يقبل هذا الطرف أي معرف للمؤسسة. يحدد مفتاحك بالفعل المؤسسة التي ينتمي إليها، وتكون الاستجابة محصورة في نطاقها.
جربه الآن
استبدل أي شيء بين أقواس زاوية بقيمك الخاصة، والعنصر النائب للمفتاح بمفتاح من لوحة تحكمك.
curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/cdn/swap \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "to_kind": <string<platform, own, passthrough>> }'هل سجلت الدخول؟ تقوم وحدة تحكم واجهة برمجة التطبيقات في لوحة التحكم الخاصة بك بربط معرف مؤسستك الحقيقي ومفتاحك الخاص، وتنفذ الطلب مقابل واجهة برمجة التطبيقات المباشرة لتتمكن من رؤية الاستجابة الفعلية. افتح هذه النهاية الطرفية في وحدة تحكم API
التفاصيل
Starts a durable move of this site's CDN to the destination you name, and answers 202 with a row to poll. ⭐ The one way a site's CDN moves. The deprecated switchSiteCdn and the staff rotateSiteCdn start this same workflow; they differ only in how the destination is named. switchSiteCdn takes {to_own: boolean}, which cannot name one of several accounts; this takes {to_kind, to_account_id}. ⭐⭐ Asynchronous because of a step no request can hold. The move only finishes once your registrar points at the destination's nameservers — minutes if the domain is registered with us, days if it is not. The source zone is removed only after the new nameservers are observed answering, so there is no moment at which your domain names an edge that is not there. Poll getSiteCdnSwap. Every step can be undone and every failure leaves the site serving: if the destination refuses the zone, or the credential has been revoked since you connected it, the site carries on being served exactly where it was. A Footprint-Free site needs footprint_acknowledged to move onto one account of your own (owner ruling G-3) — every site on one account can be linked to every other on it, which is the connection that line exists to prevent. Requires hosting.cdn.manage.
المعلمات
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
siteId (path) | Uuid | نعم | Site ID (UUIDv7). |
جسم الطلب
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
to_kind | string<platform, own, passthrough> | نعم | — |
to_account_id | object | لا | Required when to_kind is own. ⛔ Must be one of your own connected accounts: an id naming a platform pool account is refused rather than honoured, because which pool… |
footprint_acknowledged | boolean | لا | Required to move a Footprint-Free site off our pool (owner ruling G-3). |
passthrough_target | string | لا | Required when to_kind is passthrough — the edge hostname your own CDN serves this site from. ⛔ Refused together with to_account_id: those are opposite operations and… |
passthrough_label | string | لا | — |
الاستجابة
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
id | string | نعم | — |
site_id | string | نعم | — |
status | string<pending, creating, repointing, awaiting_delegation, completed, rolled_back, failed> | نعم | ⭐ awaiting_delegation is the state to render carefully: the move is complete on our side, both edges are serving the site, and it is waiting on your registrar. ⛔… |
from_kind | string | نعم | — |
from_label | string | نعم | — |
to_kind | string | نعم | — |
to_label | string | نعم | — |
to_account_id | object | نعم | — |
nameservers | string[] | نعم | The nameservers your domain must be delegated to. ⛔ The field this operation exists to deliver: without it the move never completes, and it does not fail either — it simply… |
nameservers_applied | boolean | نعم | Whether we set them (the domain is registered with us, or with a registrar you have connected) or you must. |
delegation_observed_at | object | نعم | When the new delegation was observed answering — never when it was requested. The source zone is not removed until this is set. |
old_zone_removed | boolean | نعم | An observation, not an intention. A source zone we could not delete leaves you being billed by that vendor for a site it no longer serves. |
records_copied | integer | نعم | How many of your OTHER DNS records were carried to the new zone. ⛔ Moving between two zone-owning CDNs re-delegates the whole domain, so your MX, SPF, DMARC and… |
records_source_read | boolean | نعم | Whether your existing records could be read at all. ⛔ Read this with records_copied, never instead of it: 0 is the truthful answer for a domain that has nothing but an… |
detail | string | نعم | — |
created_at | string | نعم | — |
completed_at | object | نعم | — |
in_flight | boolean | نعم | ⛔ awaiting_delegation counts as in flight. It is the state most likely to be read as finished — the site works, both edges serve it — and starting a second move from there would… |
cancellable | boolean | نعم | Whether DELETE can still put the site back. ⛔ Narrower than in_flight: false once the domain's nameservers have been changed or the new delegation has been seen answering,… |
الأخطاء التي يمكن أن تُرجعها نقطة النهاية هذه
401 · 403 · 404 · 422 · 429 · 503