hosting

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

Change a site's CDN security and bot settings.

Все эндпоинты hosting

Вся документация для разработчиков

Аутентификация

Отправьте ключ API в качестве токена носителя (bearer token). Ключ должен иметь разрешение hosting.cdn.manage; ключ без него отклоняется с кодом 403, а не 404.

Этот эндпоинт не принимает идентификатор организации. Ваш ключ уже определяет организацию, к которой он принадлежит, и ответ ограничивается ее рамками.

Попробовать

Замените всё в угловых скобках на собственные значения, а плейсхолдер ключа — на ключ из вашей панели управления.

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

Вошли в систему? Консоль API в вашей панели управления автоматически подставляет реальный идентификатор вашей организации и ваш собственный ключ, а также выполняет запрос к работающему API, чтобы вы могли увидеть актуальный ответ. Откройте эту конечную точку в API-консоли

Подробнее

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.

Параметры

ИмяТипОбязательноЧто это
siteId (path)UuidДаSite ID (UUIDv7).

Тело запроса

ИмяТипОбязательноЧто это
security_levelCdnSecurityLevelНетThe provider's own security-level vocabulary, passed through. Not ordered the way it readsessentially_off sits between off and low — so nothing may treat it as a…
bot_fight_modebooleanНет
ai_bots_protectionCdnAiBotModeНет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 engines…
crawler_protectionCdnAiBotModeНет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 engines…
always_use_httpsbooleanНет
automatic_https_rewritesbooleanНет
opportunistic_encryptionbooleanНет
min_tls_versionCdnMinTlsVersionНетThe oldest TLS version the edge will negotiate. A string — 1.10 is not a version.

Ответ

ИмяТипОбязательноЧто это
site_idUuidДаUUIDv7 identifier — sortable by creation time (docs/02 §8).
supportedbooleanДаWhether 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 should…
unreadablestring[]НетFields the CDN account's credential could not read, so their values here are defaults, not the zone's state. A client renders each listed control disabled and says it could not be…
protection_tierstringДаThe 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 protection…
bot_management_includedbooleanДаWhether 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_levelCdnSecurityLevelДаThe provider's own security-level vocabulary, passed through. Not ordered the way it readsessentially_off sits between off and low — so nothing may treat it as a…
bot_fight_modebooleanДаChallenge 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_protectionCdnAiBotModeДа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 engines…
crawler_protectionCdnAiBotModeДа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 engines…
always_use_httpsbooleanДаRedirect every plain-HTTP request to HTTPS at the edge.
automatic_https_rewritesbooleanДаRewrite insecure sub-resource URLs in HTML to HTTPS where possible.
opportunistic_encryptionbooleanДаAdvertise HTTP/2 over TLS to clients that arrive over plain HTTP.
min_tls_versionCdnMinTlsVersionДаThe oldest TLS version the edge will negotiate. A string — 1.10 is not a version.

Ошибки, которые может возвращать этот эндпоинт

401 · 403 · 404 · 422 · 429 · 502 · 503