hosting
PUT /v1/sites/{siteId}/cdn/settings
Change a site's CDN zone settings.
Pengesahan
Hantar kunci API sebagai token pembawa. Kunci tersebut mesti membawa kebenaran hosting.cdn.manage; kunci yang tidak mempunyainya akan ditolak dengan 403, bukan 404.
Titik akhir ini tidak memerlukan id organisasi. Kunci anda telah mengenal pasti organisasi kepunyaannya, dan respons dis skopkan kepadanya.
Cuba
Gantikan apa sahaja di dalam kurungan sudut dengan nilai anda sendiri, dan pemegang tempat kunci dengan kunci dari papan pemuka anda.
curl -X PUT https://api.zinndigital.com/v1/sites/{siteId}/cdn/settings \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ }'Sudah log masuk? Konsol API dalam papan pemuka anda mengisi id organisasi sebenar dan kunci anda sendiri, serta menjalankan permintaan terhadap API langsung supaya anda boleh melihat respons sebenar. Buka penamat ini dalam konsol API
Butiran
A **merge**: only the fields present in the body are changed and an absent field is left alone — never reset to a default. A client written before a setting existed must not switch it off on every save. The body carries settings and nothing else. `additionalProperties: false` is load-bearing rather than tidy: these are pooled CDN accounts holding other customers' zones and a Cloudflare zone resolves **by name alone**, so a body key named `domain` or `zone_id` must be refused rather than silently discarded. The hostname is always read off the site row. `ssl_mode` deliberately does not accept Cloudflare's `flexible`, which leaves the edge-to-origin leg in plaintext. An empty body is a `422`, not a no-op success. A provider without these controls is a `422` with code `UNSUPPORTED_BY_PROVIDER` — a save that reported success having changed nothing would be worse than a refusal. Requires `hosting.cdn.manage`.
Parameter
| Nama | Jenis | Diperlukan | Apakah ia |
|---|---|---|---|
siteId (path) | Uuid | Ya | Site ID (UUIDv7). |
Badan permintaan
| Nama | Jenis | Diperlukan | Apakah ia |
|---|---|---|---|
cache_level | CdnCacheLevel | Tidak | How aggressively the edge treats query strings as distinct cached objects, least to most. Cloudflare's `bypass` is deliberately not offered: it is an emergency operator state, a… |
development_mode | boolean | Tidak | — |
always_online | boolean | Tidak | — |
ssl_mode | CdnSslMode | Tidak | The TLS leg between the edge and the origin. Cloudflare's `flexible` is deliberately absent — it leaves that leg in plaintext, and the platform's Cloudflare adapter refuses to b… |
brotli | boolean | Tidak | — |
Respons
| Nama | Jenis | Diperlukan | Apakah ia |
|---|---|---|---|
site_id | Uuid | Ya | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
supported | boolean | Ya | Whether the CDN serving this site can express these settings at all. `false` for a pull-zone provider with no equivalent vocabulary; the other fields then carry defaults and a c… |
supported_values | object | Ya | For an **enumerated** supported field, which values this provider can be set to. A field absent from this map takes every value in its own vocabulary — the common case, so the p… |
supported_fields | string[] | Tidak | Which of the five settings this site's CDN can actually express. ⛔ Sent always and **empty rather than omitted** when there are none — a client reading absence as "all of them"… |
cache_level | CdnCacheLevelReported | Ya | What a provider may REPORT for `cache_level` — the writable vocabulary plus the read-only states. `by_parameters` means the edge caches by a **named list of query parameters** c… |
development_mode | boolean | Ya | Bypass the cache entirely so edits are visible immediately. The provider expires this automatically — see `development_mode_seconds_remaining`. |
development_mode_seconds_remaining | integer | Ya | Seconds until the provider switches development mode off again, as reported by the provider rather than derived from when we set it. `0` when it is off. It is a countdown and no… |
always_online | boolean | Ya | Serve an archived copy of the page when the origin is unreachable. |
ssl_mode | CdnSslMode | Ya | The TLS leg between the edge and the origin. Cloudflare's `flexible` is deliberately absent — it leaves that leg in plaintext, and the platform's Cloudflare adapter refuses to b… |
brotli | boolean | Ya | Serve Brotli-compressed responses to clients that accept them. |
Ralat yang boleh dikembalikan oleh titik akhir ini
401 · 403 · 404 · 422 · 429 · 503