hosting

PUT /v1/sites/{siteId}/cdn/security

Change a site's CDN security and bot settings.

Dukkan hosting wuraren ƙarshe

Tabbatar da Asali

Aika maɓallin API azaman alamar ɗauka (bearer token). Dole ne maɓallin ya kasance yana da izinin hosting.cdn.manage; idan babu shi, za a ƙi amfani da maɓallin tare da lambar 403, ba 404 ba.

Wannan wurin ƙarewa ba ya buƙatar ID na ƙungiya. Maɓallin ku ya riga ya gano ƙungiyar da yake ciki, kuma an iyakance amsa a kanta.

Gwada

May gurbin komai da ke cikin kusurwa da ƙimar ka, kuma may gurbin maballi da maballi daga allon sarrafa ka.

curl -X PUT https://api.zinndigital.com/v1/sites/{siteId}/cdn/security \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

An shiga? Na'urar sarrafa API da ke cikin sashin kulawarka tana cika ainihin lambar ƙungiyarka da maɓallinka naka, sannan tana gudanar da buƙatar a kan ainihin API don haka zaka iya ganin amsar gaske. Buɗe wannan tashar a cikin na'urar kula da API

Bayani

A **merge**: only the fields present are changed. A full-object write would turn a customer's AI-crawler policy off every time they changed their security level. The body carries settings and nothing else — `additionalProperties: false`, for the reason `PUT /v1/sites/{siteId}/cdn/settings` gives: these are pooled CDN accounts and a Cloudflare zone resolves by name alone, so a body key named `domain` or `zone_id` must be refused rather than discarded. The result is read back from the provider rather than echoed, because the provider silently ignores a bot control a zone's plan does not include — "we asked" and "it changed" are different facts. Requires `hosting.cdn.manage`. **Bot management is a sold entitlement (`protection_tier`).** Turning `bot_fight_mode` on, or setting `ai_bots_protection`/`crawler_protection` to `block` or `managed_challenge`, needs a plan that includes it and otherwise answers a plan refusal naming the tier held and the tier needed. Three things are deliberately NOT gated. Turning any control **off** is free on every plan — a customer whose plan changed must always be able to reach the floor rather than be stranded with a setting they cannot undo. `allow` is an explicit relaxation, not protection, so it is free too. And `security_level: under_attack` is free on every plan, for ever: it is the emergency DDoS response, and refusing it to a customer under active attack because of their plan is not a product decision this platform will make.

Sigogi

SunaNau'iAna buƙataAbin da yake
siteId (path)UuidEhSite ID (UUIDv7).

Jikin buƙata

SunaNau'iAna buƙataAbin da yake
security_levelCdnSecurityLevelA'aThe provider's own security-level vocabulary, passed through. **Not ordered the way it reads** — `essentially_off` sits between `off` and `low` — so nothing may treat it as a sc…
bot_fight_modebooleanA'a
ai_bots_protectionCdnAiBotModeA'aHow the edge treats AI crawlers. `disabled` leaves them alone. This is the control on the screen most able to cost a site traffic, in either direction: blocking AI answer engine…
crawler_protectionCdnAiBotModeA'aHow the edge treats AI crawlers. `disabled` leaves them alone. This is the control on the screen most able to cost a site traffic, in either direction: blocking AI answer engine…
always_use_httpsbooleanA'a
automatic_https_rewritesbooleanA'a
opportunistic_encryptionbooleanA'a
min_tls_versionCdnMinTlsVersionA'aThe oldest TLS version the edge will negotiate. A string — `1.10` is not a version.

Martani

SunaNau'iAna buƙataAbin da yake
site_idUuidEhUUIDv7 identifier — sortable by creation time (docs/02 §8).
supportedbooleanEhWhether the CDN serving this site can express these settings at all. `false` for a provider with no equivalent vocabulary; the other fields then carry defaults and a client shou…
protection_tierstringEhThe protection level this organisation's plan sells (`protection_tier`). Absent from a plan means the floor — every site with a CDN already has the provider's baseline protectio…
bot_management_includedbooleanEhWhether that tier reaches bot management — enabling `bot_fight_mode`, or setting `ai_bots_protection`/`crawler_protection` to `block` or `managed_challenge`. Derived server-side…
security_levelCdnSecurityLevelEhThe provider's own security-level vocabulary, passed through. **Not ordered the way it reads** — `essentially_off` sits between `off` and `low` — so nothing may treat it as a sc…
bot_fight_modebooleanEhChallenge traffic the provider classifies as automated. Read from the provider's bot-management resource, not from a zone setting — the zone setting of that name does not exist.
ai_bots_protectionCdnAiBotModeEhHow the edge treats AI crawlers. `disabled` leaves them alone. This is the control on the screen most able to cost a site traffic, in either direction: blocking AI answer engine…
crawler_protectionCdnAiBotModeEhHow the edge treats AI crawlers. `disabled` leaves them alone. This is the control on the screen most able to cost a site traffic, in either direction: blocking AI answer engine…
always_use_httpsbooleanEhRedirect every plain-HTTP request to HTTPS at the edge.
automatic_https_rewritesbooleanEhRewrite insecure sub-resource URLs in HTML to HTTPS where possible.
opportunistic_encryptionbooleanEhAdvertise HTTP/2 over TLS to clients that arrive over plain HTTP.
min_tls_versionCdnMinTlsVersionEhThe oldest TLS version the edge will negotiate. A string — `1.10` is not a version.

Kuskuren da wannan matsaya za ta iya maido wa

401 · 403 · 404 · 422 · 429 · 503