hosting

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

Change a site's CDN security and bot settings.

Gbogbo àwọn hosting endpoints

Ì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 PUT https://api.zinndigital.com/v1/sites/{siteId}/cdn/security \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

Ṣé 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ẹ̀

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.

Àwọn ìpìlẹ̀

OrúkọIruTí a nílòKini o jẹ
siteId (path)UuidBẹẹniSite ID (UUIDv7).

Akoonu ibeere naa

OrúkọIruTí a nílòKini o jẹ
security_levelCdnSecurityLevelBẹẹkọThe 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_modebooleanBẹẹkọ
ai_bots_protectionCdnAiBotModeBẹẹkọHow 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_protectionCdnAiBotModeBẹẹkọHow 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_httpsbooleanBẹẹkọ
automatic_https_rewritesbooleanBẹẹkọ
opportunistic_encryptionbooleanBẹẹkọ
min_tls_versionCdnMinTlsVersionBẹẹkọThe oldest TLS version the edge will negotiate. A string — `1.10` is not a version.

Idahun

OrúkọIruTí a nílòKini o jẹ
site_idUuidBẹẹniUUIDv7 identifier — sortable by creation time (docs/02 §8).
supportedbooleanBẹẹniWhether 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_tierstringBẹẹniThe 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_includedbooleanBẹẹniWhether 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_levelCdnSecurityLevelBẹẹniThe 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_modebooleanBẹẹniChallenge 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_protectionCdnAiBotModeBẹẹniHow 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_protectionCdnAiBotModeBẹẹniHow 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_httpsbooleanBẹẹniRedirect every plain-HTTP request to HTTPS at the edge.
automatic_https_rewritesbooleanBẹẹniRewrite insecure sub-resource URLs in HTML to HTTPS where possible.
opportunistic_encryptionbooleanBẹẹniAdvertise HTTP/2 over TLS to clients that arrive over plain HTTP.
min_tls_versionCdnMinTlsVersionBẹẹniThe oldest TLS version the edge will negotiate. A string — `1.10` is not a version.

Awọn aṣiṣe ti ibudo ipari yii le da pada

401 · 403 · 404 · 422 · 429 · 503