方法路径摘要认证
GET/v1/security/autodefense/blocksBan list entries with source autodefense登录会话
POST/v1/security/autodefense/blocks/{block_id}/releaseUnblock (Lua and kernel), optionally whitelist and report a false positive登录会话
GET/v1/security/autodefense/eventsAttack event timeline, newest first登录会话
GET/v1/security/autodefense/false-positivesFalse positive reports登录会话
POST/v1/security/autodefense/false-positivesReport a verdict or signature as a false positive (the signature is withdrawn at once)登录会话
GET/v1/security/autodefense/metricsPer site report figures of the last 30 days (mitigations, false positive reports, attack events)登录会话
GET/v1/security/autodefense/signaturesAutomatic rules (signatures)登录会话
POST/v1/security/autodefense/signatures/{signature_id}/revoke禁用此签名登录会话
POST/v1/security/autodefense/signatures/{signature_id}/solidify固化为我的规则: becomes a user WAF/CC rule and leaves automatic management登录会话
GET/v1/security/autodefense/sitesSites with mode, baseline maturity, circuit, overlay and the auto-mitigation grant登录会话
POST/v1/security/autodefense/sites/modeBatch 开始学习 / 仅观察 / 开始防护 / 关闭 / 恢复跟随平台 (follow); protect needs module.autodefense.auto; one audit event per site登录会话
GET/v1/security/autodefense/sites/{site_id}One site with its overlay登录会话
PATCH/v1/security/autodefense/sites/{site_id}Sensitivity and cross-site federation (revision guarded)登录会话
GET/v1/security/autodefense/sites/{site_id}/allows白名单: the site's allow list as the nodes get it (ACL allow rules = user, 解除并加白 = release, admin sign-in sources = admin_login); never mitigated登录会话
POST/v1/security/autodefense/sites/{site_id}/allows/remove移出白名单: remove one 解除并加白 entry (ACL allows are edited in the ACL policy; admin sign-in sources expire)登录会话
POST/v1/security/autodefense/sites/{site_id}/circuit/resume恢复自动防护: close the site circuit the nodes reported open (Q6: a second break within 24 hours needs a person)登录会话
POST/v1/security/autodefense/sites/{site_id}/drifts/confirm确认基线漂移: confirm the site's pending baseline drifts (node baselines are not changed)登录会话
GET/v1/security/autodefense/sites/{site_id}/modulesModules site (site.max_level), bot, cc, scan, waf with every item state 自动/人工登录会话
GET/v1/security/autodefense/sites/{site_id}/modules/{module}/historyItem changes, newest first: node adjustments, 人工 locks, 恢复自动, range edits登录会话
PUT/v1/security/autodefense/sites/{site_id}/modules/{module}/items/{field}A person sets the item: it becomes manual and runs on this value until resumed (Q3)登录会话
PUT/v1/security/autodefense/sites/{site_id}/modules/{module}/items/{field}/rangeNarrow the item's automatic range (上下限); state and manual value unchanged登录会话
POST/v1/security/autodefense/sites/{site_id}/modules/{module}/items/{field}/resume恢复自动 for one item登录会话
PUT/v1/security/autodefense/sites/{site_id}/modules/{module}/modemanual / auto / suggest; auto needs module.autodefense.auto登录会话
POST/v1/security/autodefense/sites/{site_id}/modules/{module}/resume全部恢复自动: every manual item of the module returns to automatic登录会话
GET/v1/security/autodefense/sites/{site_id}/modules/{module}/valuesEach node's newest value of every item (in force or suggested) and its reason登录会话
POST/v1/security/autodefense/sites/{site_id}/release一键解除: undo every automatic mitigation and hold the site in observe only (default 30 minutes)登录会话
POST/v1/security/autodefense/sites/{site_id}/releases/retry重试: every serving node applies and answers the release again (retry + 1, at most 100; audited release_retry)登录会话
GET/v1/security/autodefense/sites/{site_id}/releases/status解除状态: per node delivery of the site's single release of one target (已保存 → 待节点 → 全部节点已生效 / 部分失败)登录会话
GET/v1/security/autodefense/sites/{site_id}/waf-adaptAdaptive WAF (智能自动): exclusions by stage with merged evidence, typed parameters, grey zone challenge, rule advice登录会话
POST/v1/security/autodefense/sites/{site_id}/waf-adapt/exclusions/{exclusion_id}/{action}A person's decision: adopt (采纳, a manual exclusion), reject (驳回), revoke (撤销), manual (设为人工), resume (恢复自动); module.autodefense only登录会话
PUT/v1/security/autodefense/sites/{site_id}/waf-adapt/grey-challengeGrey zone challenge inherit / on / off (only 严格 / 极严格 tiers challenge)登录会话
PUT/v1/security/autodefense/sites/{site_id}/waf-adapt/grey-repeatRepeated grey zone source threshold / window of the site (null = node defaults 20 / 60 s)登录会话
GET/v1/security/autodefense/verdictsRecent individual verdicts登录会话
POST/v1/security/autodefense/verdicts/{verdict_id}/release解除 / 解除并加白 / 标记误判登录会话
GET/v1/security/cc-statsRead the CC rule statistics of a site of the session tenant登录会话
GET/v1/security/escalate/sites/{site_id}Read a site's attack escalation settings, thresholds in force and state登录会话
PUT/v1/security/escalate/sites/{site_id}Switch attack escalation on or off for a site and set its thresholds inside the package ranges登录会话
POST/v1/security/escalate/sites/{site_id}/cname-changedConfirm the site's domain now points at the CNAME split off for escalation登录会话
GET/v1/security/escalate/sites/{site_id}/eventsList a site's level history, newest first (100 rows)登录会话
POST/v1/security/ja4-blocksCreate a tenant-scoped JA4 block from one authoritative ranking snapshot登录会话
GET/v1/security/ja4-blocks/{workflow_id}Get fixed JA4 block policy, binding, publication, and rollout state登录会话

契约文件:api/control-autodefense.openapi.yaml api/control-cc-stats.openapi.yaml api/control-escalate.openapi.yaml api/control-ja4-block.openapi.yaml

接口详情

GET /v1/security/autodefense/blocks

Ban list entries with source autodefense

operationId
listAutoDefenseBlocks
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseBlocks 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idquerystring(uuid)否—
ipqueryany | any否—
limitqueryinteger否—

响应

listAutoDefenseBlocks 响应
状态码说明
200Ban list entries with source autodefense.

字段:items: array<BlockEntry>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/blocks/{block_id}/release

Unblock (Lua and kernel), optionally whitelist and report a false positive

operationId
releaseAutoDefenseBlock
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

releaseAutoDefenseBlock 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
block_idpathstring(uuid)是—

请求体

application/json · 必填:是

releaseAutoDefenseBlock 请求体
名称类型必填说明
whitelistboolean否解除并加白 (IP
allow_untilobject否When the 解除并加白 entry expires (absent = permanent; only with whitelist; after now and within 365 days). An entry already listed keeps the longer expiry.
false_positiveboolean否标记误判; reason is then required and a false_positive_report is audited.
reasonstring否—

响应

releaseAutoDefenseBlock 响应
状态码说明
200What the release undid.

字段:site_id: string(uuid) released_targets: array<string> shadowed_signatures: array<string> whitelisted: array<string> allows: array<SiteAllow> observe_until?: string(date-time) false_positive_id?: string(uuid)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/events

Attack event timeline, newest first

operationId
listAutoDefenseEvents
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseEvents 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idquerystring(uuid)否—
limitqueryinteger否—

响应

listAutoDefenseEvents 响应
状态码说明
200Attack events.

字段:items: array<Event>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/false-positives

False positive reports

operationId
listAutoDefenseFalsePositives
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseFalsePositives 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idquerystring(uuid)否—
limitqueryinteger否—

响应

listAutoDefenseFalsePositives 响应
状态码说明
200False positive reports.

字段:items: array<FalsePositive>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/false-positives

Report a verdict or signature as a false positive (the signature is withdrawn at once)

operationId
reportAutoDefenseFalsePositive
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

reportAutoDefenseFalsePositive 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.

请求体

application/json · 必填:是

reportAutoDefenseFalsePositive 请求体
名称类型必填说明
site_idstring(uuid)是—
verdict_idstring(uuid)否—
signature_idstring否—
reasonobject是—

响应

reportAutoDefenseFalsePositive 响应
状态码说明
201The recorded report.

字段:id: string(uuid) site_id: string(uuid) tenant_scope_id: string(uuid) verdict_id?: string(uuid) block_id?: string(uuid) signature_id?: string target?: string reason: string reported_by: string created_at: string(date-time)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/metrics

Per site report figures of the last 30 days (mitigations, false positive reports, attack events)

operationId
listAutoDefenseSiteMetrics
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseSiteMetrics 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.

响应

listAutoDefenseSiteMetrics 响应
状态码说明
200Report figures per live site of the tenant (at most 500).

字段:items: array<SiteMetrics>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/signatures

Automatic rules (signatures)

operationId
listAutoDefenseSignatures
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseSignatures 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idquerystring(uuid)否—
limitqueryinteger否—

响应

listAutoDefenseSignatures 响应
状态码说明
200Automatic rules.

字段:items: array<Signature>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/signatures/{signature_id}/revoke

禁用此签名

operationId
revokeAutoDefenseSignature
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

revokeAutoDefenseSignature 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
signature_idpathstring是SHA-256 of the canonical conditions, first 16 hex digits (contract 3.4).

请求体

application/json · 必填:否

响应

revokeAutoDefenseSignature 响应
状态码说明
200One automatic rule.

字段:id: string site_id: string(uuid) tenant_scope_id: string(uuid) conditions: array<object> stage: string: shadow / challenge / block / standby cover_permille: integer fpr_ppm: integer hits: integer reason: string managed: boolean solidified_kind?: string: waf / cc solidified_rule_id?: string(uuid) solidified_pack_id?: string solidified_version?: string revoked: boolean origin: string: node / control origin_node_id?: string(uuid) evaluation: object scope: string: site / tenant / none created_at: string(date-time)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/signatures/{signature_id}/solidify

固化为我的规则: becomes a user WAF/CC rule and leaves automatic management

operationId
solidifyAutoDefenseSignature
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

说明(契约原文)

Writes the signature as the tenant's user-layer rule pack user/<tenant>/autodefense-<id> (one rule: waf block or cc JS challenge), enables it on the site and publishes the site's rule pack mounts with the three-layer conflict check. 409 autodefense_rule_conflict: the pack conflicts with the site's other enabled packs (nothing is written); 422 autodefense_not_compilable: a condition a user rule cannot match (ua, header order, behaviour buckets; cc has no JA4 / IP library match). The automatic signature is then withdrawn from every node.

参数

solidifyAutoDefenseSignature 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
signature_idpathstring是SHA-256 of the canonical conditions, first 16 hex digits (contract 3.4).

请求体

application/json · 必填:是

solidifyAutoDefenseSignature 请求体
名称类型必填说明
kindstring: waf / cc是—

响应

solidifyAutoDefenseSignature 响应
状态码说明
200One automatic rule.

字段:id: string site_id: string(uuid) tenant_scope_id: string(uuid) conditions: array<object> stage: string: shadow / challenge / block / standby cover_permille: integer fpr_ppm: integer hits: integer reason: string managed: boolean solidified_kind?: string: waf / cc solidified_rule_id?: string(uuid) solidified_pack_id?: string solidified_version?: string revoked: boolean origin: string: node / control origin_node_id?: string(uuid) evaluation: object scope: string: site / tenant / none created_at: string(date-time)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/sites

Sites with mode, baseline maturity, circuit, overlay and the auto-mitigation grant

operationId
listAutoDefenseSites
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseSites 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
limitqueryinteger否—

响应

listAutoDefenseSites 响应
状态码说明
200Sites of the tenant.

字段:items: array<Site> auto_mitigation_granted: boolean

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/sites/mode

Batch 开始学习 / 仅观察 / 开始防护 / 关闭 / 恢复跟随平台 (follow); protect needs module.autodefense.auto; one audit event per site

operationId
setAutoDefenseSiteModes
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense module.autodefense.auto

参数

setAutoDefenseSiteModes 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.

请求体

application/json · 必填:是

setAutoDefenseSiteModes 请求体
名称类型必填说明
site_idsarray<string(uuid)>是—
modestring: off / learning / observe / protect / follow是The site's own mode; follow = 跟随平台 (the site takes the platform default_mode and changes with it).
confirmboolean是Batch operations need an explicit confirmation.

响应

setAutoDefenseSiteModes 响应
状态码说明
200The sites and their mode before and after.

字段:items: array<object>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/sites/{site_id}

One site with its overlay

operationId
getAutoDefenseSite
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

getAutoDefenseSite 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

响应

getAutoDefenseSite 响应
状态码说明
200One site with the snapshot delivery state of every node serving it.

字段:site_id: string(uuid) tenant_scope_id: string(uuid) domain: string tenant_name: string state: string: normal / surge / protect_origin / attack / cooldown / circuit_open / baseline_stale current_level: integer last_event_reason?: string mode: string: off / learning / observe / protect follow_platform: boolean sensitivity: string: low / medium / high maturity: string: prior / hour / day / week cross_site: boolean circuit: Circuit observe_until?: string(date-time) last_event_at?: string(date-time) revision: integer updated_at: string(date-time) auto_mitigation_granted: boolean overlay: string: active / frozen / inactive max_level: Item modules: array<Module> drifts?: array<Drift> nodes: array<SiteNode> unsupported_nodes: array<string>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

PATCH /v1/security/autodefense/sites/{site_id}

Sensitivity and cross-site federation (revision guarded)

operationId
updateAutoDefenseSite
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

updateAutoDefenseSite 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

请求体

application/json · 必填:是

updateAutoDefenseSite 请求体
名称类型必填说明
sensitivitystring: low / medium / high否—
cross_siteboolean否—
revisioninteger是—

响应

updateAutoDefenseSite 响应
状态码说明
200One site.

字段:site_id: string(uuid) tenant_scope_id: string(uuid) domain: string tenant_name: string state: string: normal / surge / protect_origin / attack / cooldown / circuit_open / baseline_stale current_level: integer last_event_reason?: string mode: string: off / learning / observe / protect follow_platform: boolean sensitivity: string: low / medium / high maturity: string: prior / hour / day / week cross_site: boolean circuit: Circuit observe_until?: string(date-time) last_event_at?: string(date-time) revision: integer updated_at: string(date-time) auto_mitigation_granted: boolean overlay: string: active / frozen / inactive max_level: Item modules: array<Module> drifts?: array<Drift>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/sites/{site_id}/allows

白名单: the site's allow list as the nodes get it (ACL allow rules = user, 解除并加白 = release, admin sign-in sources = admin_login); never mitigated

operationId
listAutoDefenseSiteAllows
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseSiteAllows 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

响应

listAutoDefenseSiteAllows 响应
状态码说明
200The site's allow list in CIDR order.

字段:items: array<SiteAllow>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/sites/{site_id}/allows/remove

移出白名单: remove one 解除并加白 entry (ACL allows are edited in the ACL policy; admin sign-in sources expire)

operationId
removeAutoDefenseSiteAllow
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

removeAutoDefenseSiteAllow 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

请求体

application/json · 必填:是

removeAutoDefenseSiteAllow 请求体
名称类型必填说明
cidrstring否The 解除并加白 entry (IP address or network).
ja4string否The 解除并加白 entry (JA4 fingerprint).

响应

removeAutoDefenseSiteAllow 响应
状态码说明
200The removed allow list entry.

字段:cidr?: string ja4?: string source: string: user / release / admin_login until?: string(date-time) created_by?: string created_at?: string(date-time)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/sites/{site_id}/circuit/resume

恢复自动防护: close the site circuit the nodes reported open (Q6: a second break within 24 hours needs a person)

operationId
resumeAutoDefenseSiteCircuit
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense module.autodefense.auto

参数

resumeAutoDefenseSiteCircuit 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

请求体

application/json · 必填:否

响应

resumeAutoDefenseSiteCircuit 响应
状态码说明
200One site.

字段:site_id: string(uuid) tenant_scope_id: string(uuid) domain: string tenant_name: string state: string: normal / surge / protect_origin / attack / cooldown / circuit_open / baseline_stale current_level: integer last_event_reason?: string mode: string: off / learning / observe / protect follow_platform: boolean sensitivity: string: low / medium / high maturity: string: prior / hour / day / week cross_site: boolean circuit: Circuit observe_until?: string(date-time) last_event_at?: string(date-time) revision: integer updated_at: string(date-time) auto_mitigation_granted: boolean overlay: string: active / frozen / inactive max_level: Item modules: array<Module> drifts?: array<Drift>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/sites/{site_id}/drifts/confirm

确认基线漂移: confirm the site's pending baseline drifts (node baselines are not changed)

operationId
confirmAutoDefenseSiteDrifts
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

confirmAutoDefenseSiteDrifts 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

请求体

application/json · 必填:否

响应

confirmAutoDefenseSiteDrifts 响应
状态码说明
200The drifts the confirmation changed (empty when none was pending).

字段:items: array<Drift>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/sites/{site_id}/modules

Modules site (site.max_level), bot, cc, scan, waf with every item state 自动/人工

operationId
listAutoDefenseSiteModules
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseSiteModules 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

响应

listAutoDefenseSiteModules 响应
状态码说明
200Modules with their items.

字段:items: array<Module> auto_mitigation_granted: boolean overlay: string: active / frozen / inactive

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/sites/{site_id}/modules/{module}/history

Item changes, newest first: node adjustments, 人工 locks, 恢复自动, range edits

operationId
listAutoDefenseSiteModuleHistory
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseSiteModuleHistory 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—
modulepathstring: site / bot / cc / scan / waf是site holds the single item site.max_level (no module mode).
limitqueryinteger否—

响应

listAutoDefenseSiteModuleHistory 响应
状态码说明
200Item changes, newest first.

字段:items: array<HistoryEntry>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

PUT /v1/security/autodefense/sites/{site_id}/modules/{module}/items/{field}

A person sets the item: it becomes manual and runs on this value until resumed (Q3)

operationId
lockAutoDefenseSiteItem
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

lockAutoDefenseSiteItem 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—
modulepathstring: site / bot / cc / scan / waf是site holds the single item site.max_level (no module mode).
fieldpathstring是A field of the frozen registry of the module; waf.group:<slug> per rule group.

请求体

application/json · 必填:是

lockAutoDefenseSiteItem 请求体
名称类型必填说明
valueinteger是Within the field platform range; enum fields take the ordinal, bool 0 or 1.

响应

lockAutoDefenseSiteItem 响应
状态码说明
200The locked item.

字段:field: string kind: string: int / enum / bool unit?: string enum?: array<string> state: string: auto / manual manual: integer auto?: integer min: integer max: integer platform_min: integer platform_max: integer effective: integer suggestion?: integer locked_by?: string locked_at?: string(date-time) resumed_by?: string resumed_at?: string(date-time) frozen_until?: string(date-time)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

PUT /v1/security/autodefense/sites/{site_id}/modules/{module}/items/{field}/range

Narrow the item's automatic range (上下限); state and manual value unchanged

operationId
setAutoDefenseSiteItemRange
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

setAutoDefenseSiteItemRange 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—
modulepathstring: site / bot / cc / scan / waf是site holds the single item site.max_level (no module mode).
fieldpathstring是A field of the frozen registry of the module; waf.group:<slug> per rule group.

请求体

application/json · 必填:是

setAutoDefenseSiteItemRange 请求体
名称类型必填说明
mininteger是Within the field platform range, min <= max; bound to the manual value as the field requires.
maxinteger是—

响应

setAutoDefenseSiteItemRange 响应
状态码说明
200The locked item.

字段:field: string kind: string: int / enum / bool unit?: string enum?: array<string> state: string: auto / manual manual: integer auto?: integer min: integer max: integer platform_min: integer platform_max: integer effective: integer suggestion?: integer locked_by?: string locked_at?: string(date-time) resumed_by?: string resumed_at?: string(date-time) frozen_until?: string(date-time)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/sites/{site_id}/modules/{module}/items/{field}/resume

恢复自动 for one item

operationId
resumeAutoDefenseSiteItem
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense module.autodefense.auto

参数

resumeAutoDefenseSiteItem 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—
modulepathstring: site / bot / cc / scan / waf是site holds the single item site.max_level (no module mode).
fieldpathstring是A field of the frozen registry of the module; waf.group:<slug> per rule group.

请求体

application/json · 必填:否

响应

resumeAutoDefenseSiteItem 响应
状态码说明
200Items that changed (empty when nothing was manual).

字段:items: array<Item>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

PUT /v1/security/autodefense/sites/{site_id}/modules/{module}/mode

manual / auto / suggest; auto needs module.autodefense.auto

operationId
setAutoDefenseSiteModuleMode
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense module.autodefense.auto

参数

setAutoDefenseSiteModuleMode 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—
modulepathstring: site / bot / cc / scan / waf是site holds the single item site.max_level (no module mode).

请求体

application/json · 必填:是

setAutoDefenseSiteModuleMode 请求体
名称类型必填说明
modestring: manual / auto / suggest是—

响应

setAutoDefenseSiteModuleMode 响应
状态码说明
200The module mode now in force.

字段:module: string mode: string: manual / auto / suggest

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/sites/{site_id}/modules/{module}/resume

全部恢复自动: every manual item of the module returns to automatic

operationId
resumeAutoDefenseSiteModule
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense module.autodefense.auto

参数

resumeAutoDefenseSiteModule 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—
modulepathstring: site / bot / cc / scan / waf是site holds the single item site.max_level (no module mode).

请求体

application/json · 必填:否

响应

resumeAutoDefenseSiteModule 响应
状态码说明
200Items that changed (empty when nothing was manual).

字段:items: array<Item>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/sites/{site_id}/modules/{module}/values

Each node's newest value of every item (in force or suggested) and its reason

operationId
listAutoDefenseSiteModuleValues
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseSiteModuleValues 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—
modulepathstring: site / bot / cc / scan / waf是site holds the single item site.max_level (no module mode).

响应

listAutoDefenseSiteModuleValues 响应
状态码说明
200Each node's newest value per item.

字段:items: array<NodeValue>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/sites/{site_id}/release

一键解除: undo every automatic mitigation and hold the site in observe only (default 30 minutes)

operationId
releaseAutoDefenseSite
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

releaseAutoDefenseSite 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

请求体

application/json · 必填:是

releaseAutoDefenseSite 请求体
名称类型必填说明
observe_minutesinteger否0 = no observe-only hold.
reasonstring否—

响应

releaseAutoDefenseSite 响应
状态码说明
200What the release undid.

字段:site_id: string(uuid) released_targets: array<string> shadowed_signatures: array<string> whitelisted: array<string> allows: array<SiteAllow> observe_until?: string(date-time) false_positive_id?: string(uuid)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/sites/{site_id}/releases/retry

重试: every serving node applies and answers the release again (retry + 1, at most 100; audited release_retry)

operationId
retryAutoDefenseRelease
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

retryAutoDefenseRelease 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

请求体

application/json · 必填:是

retryAutoDefenseRelease 请求体
名称类型必填说明
kindstring: ip / cidr / ja4是—
targetstring是—

响应

retryAutoDefenseRelease 响应
状态码说明
200The per node delivery of a single release.

字段:site_id: string(uuid) kind: string: ip / cidr / ja4 target: string released_at: string(date-time) retry: integer state: string: pending / applied / partial_failed / no_nodes nodes: array<object>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/sites/{site_id}/releases/status

解除状态: per node delivery of the site's single release of one target (已保存 → 待节点 → 全部节点已生效 / 部分失败)

operationId
getAutoDefenseReleaseStatus
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

getAutoDefenseReleaseStatus 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—
kindquerystring: ip / cidr / ja4是—
targetquerystring是—

响应

getAutoDefenseReleaseStatus 响应
状态码说明
200The per node delivery of a single release.

字段:site_id: string(uuid) kind: string: ip / cidr / ja4 target: string released_at: string(date-time) retry: integer state: string: pending / applied / partial_failed / no_nodes nodes: array<object>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/sites/{site_id}/waf-adapt

Adaptive WAF (智能自动): exclusions by stage with merged evidence, typed parameters, grey zone challenge, rule advice

operationId
getAutoDefenseSiteWAFAdapt
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:waf_adapt.read

需要开通的功能:module.autodefense

参数

getAutoDefenseSiteWAFAdapt 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

响应

getAutoDefenseSiteWAFAdapt 响应
状态码说明
200The site's adaptive WAF state.

字段:site_id: string(uuid) runtime: object automatic: boolean auto_granted: boolean waf_mode: string: manual / auto / suggest frozen: boolean grey_challenge: object grey_repeat: object revision: integer evaluated_at: string(date-time) | null settings: object exclusions: array<WAFExclusion> typed_params: array<object> rule_advice: array<object> limits: object node_limits: array<object>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/sites/{site_id}/waf-adapt/exclusions/{exclusion_id}/{action}

A person's decision: adopt (采纳, a manual exclusion), reject (驳回), revoke (撤销), manual (设为人工), resume (恢复自动); module.autodefense only

operationId
decideAutoDefenseSiteWAFExclusion
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:waf_adapt.manage

需要开通的功能:module.autodefense

参数

decideAutoDefenseSiteWAFExclusion 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—
exclusion_idpathstring是WAFExclusionID (SHA-256 of "<rule>:<loc>:<name>", first 16 hex digits).
actionpathstring: adopt / reject / revoke / manual / resume是—

请求体

application/json · 必填:否

响应

decideAutoDefenseSiteWAFExclusion 响应
状态码说明
200The exclusion after the decision.

字段:id: string rule: integer rule_set: string rule_set_name: string param: object stage: string: candidate / shadow / suggested / active / rejected stage_since: string(date-time) until: string(date-time) | null manual: string: none / exclude / keep manual_by: string | null manual_at: string(date-time) | null rejections: integer reject_reason: string: false_positive / attack / unneeded | null permanent: boolean cooldown_until: string(date-time) | null value_type: string: number / ident / text / json / binary / url len_bucket: integer evidence: object flipped: integer flipped_attack: integer first_seen: string(date-time) last_seen: string(date-time)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

PUT /v1/security/autodefense/sites/{site_id}/waf-adapt/grey-challenge

Grey zone challenge inherit / on / off (only 严格 / 极严格 tiers challenge)

operationId
setAutoDefenseSiteGreyChallenge
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:waf_adapt.manage

需要开通的功能:module.autodefense

参数

setAutoDefenseSiteGreyChallenge 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

请求体

application/json · 必填:是

setAutoDefenseSiteGreyChallenge 请求体
名称类型必填说明
valuestring: inherit / on / off是—

响应

setAutoDefenseSiteGreyChallenge 响应
状态码说明
200The grey zone challenge before and after.

字段:before: string: inherit / on / off value: string: inherit / on / off

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

PUT /v1/security/autodefense/sites/{site_id}/waf-adapt/grey-repeat

Repeated grey zone source threshold / window of the site (null = node defaults 20 / 60 s)

operationId
setAutoDefenseSiteGreyRepeat
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:waf_adapt.manage

需要开通的功能:module.autodefense

说明(契约原文)

Only nodes declaring CAPABILITY_NAME_WAF_REPEAT_SITE use the site value; other nodes keep the defaults.

参数

setAutoDefenseSiteGreyRepeat 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idpathstring(uuid)是—

请求体

application/json · 必填:是

setAutoDefenseSiteGreyRepeat 请求体
名称类型必填说明
valueGreyRepeat | null是—

响应

setAutoDefenseSiteGreyRepeat 响应
状态码说明
200The repeat setting before and after (null = node defaults).

字段:before: GreyRepeat | null value: GreyRepeat | null

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/autodefense/verdicts

Recent individual verdicts

operationId
listAutoDefenseVerdicts
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

需要开通的功能:module.autodefense

参数

listAutoDefenseVerdicts 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
site_idquerystring(uuid)否—
ipqueryany | any否—
limitqueryinteger否—

响应

listAutoDefenseVerdicts 响应
状态码说明
200Verdicts.

字段:items: array<Verdict>

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

POST /v1/security/autodefense/verdicts/{verdict_id}/release

解除 / 解除并加白 / 标记误判

operationId
releaseAutoDefenseVerdict
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.autodefense

参数

releaseAutoDefenseVerdict 参数
名称位置类型必填说明
X-Request-IDheaderstring否Echoed in X-Request-ID and error.request_id; generated when absent.
verdict_idpathstring(uuid)是—

请求体

application/json · 必填:是

releaseAutoDefenseVerdict 请求体
名称类型必填说明
whitelistboolean否解除并加白 (IP
allow_untilobject否When the 解除并加白 entry expires (absent = permanent; only with whitelist; after now and within 365 days). An entry already listed keeps the longer expiry.
false_positiveboolean否标记误判; reason is then required and a false_positive_report is audited.
reasonstring否—

响应

releaseAutoDefenseVerdict 响应
状态码说明
200What the release undid.

字段:site_id: string(uuid) released_targets: array<string> shadowed_signatures: array<string> whitelisted: array<string> allows: array<SiteAllow> observe_until?: string(date-time) false_positive_id?: string(uuid)

defaultErrorEnvelope; entitlement_feature_denied carries error.capability.feature.

↑ 回到列表

GET /v1/security/cc-stats

Read the CC rule statistics of a site of the session tenant

operationId
getSiteCCStats
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

参数

getSiteCCStats 参数
名称位置类型必填说明
site_idquerystring(uuid)是—
rangequerystring: 1h / 6h / 24h否1h (1 minute steps, default), 6h (5 minutes) or 24h (15 minutes).

响应

getSiteCCStats 响应
状态码说明
200The site's CC rule statistics.

字段:tenant_scope_id: string(uuid) range: string: 1h / 6h / 24h site_id: string(uuid) from: string(date-time) to: string(date-time) step_seconds: integer: 60 / 300 / 900 series: array<object> rules: array<object> top_clients: array<Top> top_paths: array<Top>

400Error.
401Error.
403Error.
404Error.
405Error.
503Error.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。
  • 503 依赖暂不可用:稍后用原 Idempotency-Key 重试。

↑ 回到列表

GET /v1/security/escalate/sites/{site_id}

Read a site's attack escalation settings, thresholds in force and state

operationId
getEscalateSite
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

参数

getEscalateSite 参数
名称位置类型必填说明
site_idpathstring(uuid)是—

响应

getEscalateSite 响应
状态码说明
200The site's settings, its package's ranges, the thresholds in force and its state.

字段:settings: object policy: Policy effective: object state: State

400Error.
401Error.
403Error.
404Error.
409Error.
503Error.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。
  • 409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。
  • 503 依赖暂不可用:稍后用原 Idempotency-Key 重试。

↑ 回到列表

PUT /v1/security/escalate/sites/{site_id}

Switch attack escalation on or off for a site and set its thresholds inside the package ranges

operationId
putEscalateSite
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.escalate

参数

putEscalateSite 参数
名称位置类型必填说明
site_idpathstring(uuid)是—

请求体

application/json · 必填:是

putEscalateSite 请求体
名称类型必填说明
enabledboolean是—
thresholdsSiteThresholds是—
revisioninteger(int64)是—

响应

putEscalateSite 响应
状态码说明
200The site's settings, its package's ranges, the thresholds in force and its state.

字段:settings: object policy: Policy effective: object state: State

400Error.
401Error.
403Error.
404Error.
409Error.
422Error.
503Error.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。
  • 409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。
  • 503 依赖暂不可用:稍后用原 Idempotency-Key 重试。

↑ 回到列表

POST /v1/security/escalate/sites/{site_id}/cname-changed

Confirm the site's domain now points at the CNAME split off for escalation

operationId
confirmEscalateCNAMEChange
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

需要开通的功能:module.escalate

说明(契约原文)

A site on a package-mode (shared) CNAME gets a site-mode CNAME at its first escalation; until the owner points the domain at it the site's state shows pending_reason cname_change_required.

参数

confirmEscalateCNAMEChange 参数
名称位置类型必填说明
site_idpathstring(uuid)是—

响应

confirmEscalateCNAMEChange 响应
状态码说明
200Whether a confirmation was recorded, and the site.

字段:recorded: boolean site: SiteResponse

400Error.
401Error.
403Error.
404Error.
409Error.
503Error.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。
  • 409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。
  • 503 依赖暂不可用:稍后用原 Idempotency-Key 重试。

↑ 回到列表

GET /v1/security/escalate/sites/{site_id}/events

List a site's level history, newest first (100 rows)

operationId
listEscalateSiteEvents
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

参数

listEscalateSiteEvents 参数
名称位置类型必填说明
site_idpathstring(uuid)是—

响应

listEscalateSiteEvents 响应
状态码说明
200Level history, newest first.

字段:items: array<Event>

400Error.
401Error.
403Error.
404Error.
503Error.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。
  • 503 依赖暂不可用:稍后用原 Idempotency-Key 重试。

↑ 回到列表

POST /v1/security/ja4-blocks

Create a tenant-scoped JA4 block from one authoritative ranking snapshot

operationId
createTenantJA4BlockWorkflow
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.manage

参数

createTenantJA4BlockWorkflow 参数
名称位置类型必填说明
X-Request-IDheaderstring否—
Idempotency-Keyheaderstring是—
If-Matchheaderstring是—
X-Step-Up-Tokenheaderstring是Single-use proof consumed by the configured step-up verifier; never persisted.

请求体

application/json · 必填:是

createTenantJA4BlockWorkflow 请求体
名称类型必填说明
site_idstring(uuid)是—
ja4string是—
snapshot_atstring(date-time)是—
duration_secondsinteger是—
reasonstring是—

响应

createTenantJA4BlockWorkflow 响应
状态码说明
202Durable workflow created or exact idempotent replay returned.

字段:id: string(uuid) tenant_scope_id: string(uuid) site_id: string(uuid) ja4_sha256: string snapshot_at: string(date-time) duration_seconds: integer reason: string phase: string: queued / policy_ready / edge_pending / active / failed / expired revision: integer policy_id?: string(uuid) policy_revision?: integer binding_id?: string(uuid) binding_revision?: integer edge_publication_id?: string(uuid) rollout_id: string(uuid) edge_state: string: / pending / active / failed / rolled_back attempt_count: integer last_error_code?: string replayed?: boolean

400Stable error response.
401Stable error response.
403Stable error response.
409Stable error response.
412Stable error response.
428Stable error response.
503Stable error response.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。
  • 412 版本已变:回读最新 ETag 后重新判断,再带新的 If-Match 提交。
  • 428 缺少前置条件:回读资源,带 If-Match(或页面要求的验证)再提交。
  • 503 依赖暂不可用:稍后用原 Idempotency-Key 重试。

↑ 回到列表

GET /v1/security/ja4-blocks/{workflow_id}

Get fixed JA4 block policy, binding, publication, and rollout state

operationId
getTenantJA4BlockWorkflow
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:security_policies.read

参数

getTenantJA4BlockWorkflow 参数
名称位置类型必填说明
workflow_idpathstring(uuid)是—
X-Request-IDheaderstring否—

响应

getTenantJA4BlockWorkflow 响应
状态码说明
200Fixed workflow state; raw access events are never returned.

字段:id: string(uuid) tenant_scope_id: string(uuid) site_id: string(uuid) ja4_sha256: string snapshot_at: string(date-time) duration_seconds: integer reason: string phase: string: queued / policy_ready / edge_pending / active / failed / expired revision: integer policy_id?: string(uuid) policy_revision?: integer binding_id?: string(uuid) binding_revision?: integer edge_publication_id?: string(uuid) rollout_id: string(uuid) edge_state: string: / pending / active / failed / rolled_back attempt_count: integer last_error_code?: string replayed?: boolean

401Stable error response.
403Stable error response.
404Stable error response.
503Stable error response.

失败时怎么办

  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。
  • 503 依赖暂不可用:稍后用原 Idempotency-Key 重试。

↑ 回到列表