接口详情
GET /v1/security/autodefense/blocks
Ban list entries with source autodefense
- operationId
listAutoDefenseBlocks- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:security_policies.read
需要开通的功能:module.autodefense
参数
listAutoDefenseBlocks 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
X-Request-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | query | string(uuid) | 否 | — |
|---|
ip | query | any | any | 否 | — |
|---|
limit | query | integer | 否 | — |
|---|
响应
listAutoDefenseBlocks 响应| 状态码 | 说明 |
|---|
200 | Ban list entries with source autodefense. 字段:items: array<BlockEntry> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
block_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
releaseAutoDefenseBlock 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
whitelist | boolean | 否 | 解除并加白 (IP |
|---|
allow_until | object | 否 | When the 解除并加白 entry expires (absent = permanent; only with whitelist; after now and within 365 days). An entry already listed keeps the longer expiry. |
|---|
false_positive | boolean | 否 | 标记误判; reason is then required and a false_positive_report is audited. |
|---|
reason | string | 否 | — |
|---|
响应
releaseAutoDefenseBlock 响应| 状态码 | 说明 |
|---|
200 | What 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) |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | query | string(uuid) | 否 | — |
|---|
limit | query | integer | 否 | — |
|---|
响应
listAutoDefenseEvents 响应| 状态码 | 说明 |
|---|
200 | Attack events. 字段:items: array<Event> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | query | string(uuid) | 否 | — |
|---|
limit | query | integer | 否 | — |
|---|
响应
listAutoDefenseFalsePositives 响应| 状态码 | 说明 |
|---|
200 | False positive reports. 字段:items: array<FalsePositive> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
请求体
application/json · 必填:是
reportAutoDefenseFalsePositive 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
site_id | string(uuid) | 是 | — |
|---|
verdict_id | string(uuid) | 否 | — |
|---|
signature_id | string | 否 | — |
|---|
reason | object | 是 | — |
|---|
响应
reportAutoDefenseFalsePositive 响应| 状态码 | 说明 |
|---|
201 | The 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) |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
响应
listAutoDefenseSiteMetrics 响应| 状态码 | 说明 |
|---|
200 | Report figures per live site of the tenant (at most 500). 字段:items: array<SiteMetrics> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | query | string(uuid) | 否 | — |
|---|
limit | query | integer | 否 | — |
|---|
响应
listAutoDefenseSignatures 响应| 状态码 | 说明 |
|---|
200 | Automatic rules. 字段:items: array<Signature> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
signature_id | path | string | 是 | SHA-256 of the canonical conditions, first 16 hex digits (contract 3.4). |
|---|
请求体
application/json · 必填:否
响应
revokeAutoDefenseSignature 响应| 状态码 | 说明 |
|---|
200 | One 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) |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
signature_id | path | string | 是 | SHA-256 of the canonical conditions, first 16 hex digits (contract 3.4). |
|---|
请求体
application/json · 必填:是
solidifyAutoDefenseSignature 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
kind | string: waf / cc | 是 | — |
|---|
响应
solidifyAutoDefenseSignature 响应| 状态码 | 说明 |
|---|
200 | One 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) |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
limit | query | integer | 否 | — |
|---|
响应
listAutoDefenseSites 响应| 状态码 | 说明 |
|---|
200 | Sites of the tenant. 字段:items: array<Site> auto_mitigation_granted: boolean |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
请求体
application/json · 必填:是
setAutoDefenseSiteModes 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
site_ids | array<string(uuid)> | 是 | — |
|---|
mode | string: off / learning / observe / protect / follow | 是 | The site's own mode; follow = 跟随平台 (the site takes the platform default_mode and changes with it). |
|---|
confirm | boolean | 是 | Batch operations need an explicit confirmation. |
|---|
响应
setAutoDefenseSiteModes 响应| 状态码 | 说明 |
|---|
200 | The sites and their mode before and after. 字段:items: array<object> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
getAutoDefenseSite 响应| 状态码 | 说明 |
|---|
200 | One 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> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
updateAutoDefenseSite 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
sensitivity | string: low / medium / high | 否 | — |
|---|
cross_site | boolean | 否 | — |
|---|
revision | integer | 是 | — |
|---|
响应
updateAutoDefenseSite 响应| 状态码 | 说明 |
|---|
200 | One 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> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
listAutoDefenseSiteAllows 响应| 状态码 | 说明 |
|---|
200 | The site's allow list in CIDR order. 字段:items: array<SiteAllow> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
removeAutoDefenseSiteAllow 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
cidr | string | 否 | The 解除并加白 entry (IP address or network). |
|---|
ja4 | string | 否 | The 解除并加白 entry (JA4 fingerprint). |
|---|
响应
removeAutoDefenseSiteAllow 响应| 状态码 | 说明 |
|---|
200 | The 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) |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:否
响应
resumeAutoDefenseSiteCircuit 响应| 状态码 | 说明 |
|---|
200 | One 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> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:否
响应
confirmAutoDefenseSiteDrifts 响应| 状态码 | 说明 |
|---|
200 | The drifts the confirmation changed (empty when none was pending). 字段:items: array<Drift> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
listAutoDefenseSiteModules 响应| 状态码 | 说明 |
|---|
200 | Modules with their items. 字段:items: array<Module> auto_mitigation_granted: boolean overlay: string: active / frozen / inactive |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
module | path | string: site / bot / cc / scan / waf | 是 | site holds the single item site.max_level (no module mode). |
|---|
limit | query | integer | 否 | — |
|---|
响应
listAutoDefenseSiteModuleHistory 响应| 状态码 | 说明 |
|---|
200 | Item changes, newest first. 字段:items: array<HistoryEntry> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
module | path | string: site / bot / cc / scan / waf | 是 | site holds the single item site.max_level (no module mode). |
|---|
field | path | string | 是 | A field of the frozen registry of the module; waf.group:<slug> per rule group. |
|---|
请求体
application/json · 必填:是
lockAutoDefenseSiteItem 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
value | integer | 是 | Within the field platform range; enum fields take the ordinal, bool 0 or 1. |
|---|
响应
lockAutoDefenseSiteItem 响应| 状态码 | 说明 |
|---|
200 | The 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) |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
module | path | string: site / bot / cc / scan / waf | 是 | site holds the single item site.max_level (no module mode). |
|---|
field | path | string | 是 | A field of the frozen registry of the module; waf.group:<slug> per rule group. |
|---|
请求体
application/json · 必填:是
setAutoDefenseSiteItemRange 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
min | integer | 是 | Within the field platform range, min <= max; bound to the manual value as the field requires. |
|---|
max | integer | 是 | — |
|---|
响应
setAutoDefenseSiteItemRange 响应| 状态码 | 说明 |
|---|
200 | The 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) |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
module | path | string: site / bot / cc / scan / waf | 是 | site holds the single item site.max_level (no module mode). |
|---|
field | path | string | 是 | A field of the frozen registry of the module; waf.group:<slug> per rule group. |
|---|
请求体
application/json · 必填:否
响应
resumeAutoDefenseSiteItem 响应| 状态码 | 说明 |
|---|
200 | Items that changed (empty when nothing was manual). 字段:items: array<Item> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
module | path | string: site / bot / cc / scan / waf | 是 | site holds the single item site.max_level (no module mode). |
|---|
请求体
application/json · 必填:是
setAutoDefenseSiteModuleMode 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
mode | string: manual / auto / suggest | 是 | — |
|---|
响应
setAutoDefenseSiteModuleMode 响应| 状态码 | 说明 |
|---|
200 | The module mode now in force. 字段:module: string mode: string: manual / auto / suggest |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
module | path | string: site / bot / cc / scan / waf | 是 | site holds the single item site.max_level (no module mode). |
|---|
请求体
application/json · 必填:否
响应
resumeAutoDefenseSiteModule 响应| 状态码 | 说明 |
|---|
200 | Items that changed (empty when nothing was manual). 字段:items: array<Item> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
module | path | string: site / bot / cc / scan / waf | 是 | site holds the single item site.max_level (no module mode). |
|---|
响应
listAutoDefenseSiteModuleValues 响应| 状态码 | 说明 |
|---|
200 | Each node's newest value per item. 字段:items: array<NodeValue> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
releaseAutoDefenseSite 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
observe_minutes | integer | 否 | 0 = no observe-only hold. |
|---|
reason | string | 否 | — |
|---|
响应
releaseAutoDefenseSite 响应| 状态码 | 说明 |
|---|
200 | What 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) |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
retryAutoDefenseRelease 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
kind | string: ip / cidr / ja4 | 是 | — |
|---|
target | string | 是 | — |
|---|
响应
retryAutoDefenseRelease 响应| 状态码 | 说明 |
|---|
200 | The 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> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
kind | query | string: ip / cidr / ja4 | 是 | — |
|---|
target | query | string | 是 | — |
|---|
响应
getAutoDefenseReleaseStatus 响应| 状态码 | 说明 |
|---|
200 | The 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> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
getAutoDefenseSiteWAFAdapt 响应| 状态码 | 说明 |
|---|
200 | The 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> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
exclusion_id | path | string | 是 | WAFExclusionID (SHA-256 of "<rule>:<loc>:<name>", first 16 hex digits). |
|---|
action | path | string: adopt / reject / revoke / manual / resume | 是 | — |
|---|
请求体
application/json · 必填:否
响应
decideAutoDefenseSiteWAFExclusion 响应| 状态码 | 说明 |
|---|
200 | The 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) |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
setAutoDefenseSiteGreyChallenge 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
value | string: inherit / on / off | 是 | — |
|---|
响应
setAutoDefenseSiteGreyChallenge 响应| 状态码 | 说明 |
|---|
200 | The grey zone challenge before and after. 字段:before: string: inherit / on / off value: string: inherit / on / off |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
setAutoDefenseSiteGreyRepeat 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
value | GreyRepeat | null | 是 | — |
|---|
响应
setAutoDefenseSiteGreyRepeat 响应| 状态码 | 说明 |
|---|
200 | The repeat setting before and after (null = node defaults). 字段:before: GreyRepeat | null value: GreyRepeat | null |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
site_id | query | string(uuid) | 否 | — |
|---|
ip | query | any | any | 否 | — |
|---|
limit | query | integer | 否 | — |
|---|
响应
listAutoDefenseVerdicts 响应| 状态码 | 说明 |
|---|
200 | Verdicts. 字段:items: array<Verdict> |
|---|
default | ErrorEnvelope; 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-ID | header | string | 否 | Echoed in X-Request-ID and error.request_id; generated when absent. |
|---|
verdict_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
releaseAutoDefenseVerdict 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
whitelist | boolean | 否 | 解除并加白 (IP |
|---|
allow_until | object | 否 | When the 解除并加白 entry expires (absent = permanent; only with whitelist; after now and within 365 days). An entry already listed keeps the longer expiry. |
|---|
false_positive | boolean | 否 | 标记误判; reason is then required and a false_positive_report is audited. |
|---|
reason | string | 否 | — |
|---|
响应
releaseAutoDefenseVerdict 响应| 状态码 | 说明 |
|---|
200 | What 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) |
|---|
default | ErrorEnvelope; 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_id | query | string(uuid) | 是 | — |
|---|
range | query | string: 1h / 6h / 24h | 否 | 1h (1 minute steps, default), 6h (5 minutes) or 24h (15 minutes). |
|---|
响应
getSiteCCStats 响应| 状态码 | 说明 |
|---|
200 | The 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> |
|---|
400 | Error. |
|---|
401 | Error. |
|---|
403 | Error. |
|---|
404 | Error. |
|---|
405 | Error. |
|---|
503 | Error. |
|---|
失败时怎么办
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_id | path | string(uuid) | 是 | — |
|---|
响应
getEscalateSite 响应| 状态码 | 说明 |
|---|
200 | The site's settings, its package's ranges, the thresholds in force and its state. 字段:settings: object policy: Policy effective: object state: State |
|---|
400 | Error. |
|---|
401 | Error. |
|---|
403 | Error. |
|---|
404 | Error. |
|---|
409 | Error. |
|---|
503 | Error. |
|---|
失败时怎么办
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_id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
putEscalateSite 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
enabled | boolean | 是 | — |
|---|
thresholds | SiteThresholds | 是 | — |
|---|
revision | integer(int64) | 是 | — |
|---|
响应
putEscalateSite 响应| 状态码 | 说明 |
|---|
200 | The site's settings, its package's ranges, the thresholds in force and its state. 字段:settings: object policy: Policy effective: object state: State |
|---|
400 | Error. |
|---|
401 | Error. |
|---|
403 | Error. |
|---|
404 | Error. |
|---|
409 | Error. |
|---|
422 | Error. |
|---|
503 | Error. |
|---|
失败时怎么办
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_id | path | string(uuid) | 是 | — |
|---|
响应
confirmEscalateCNAMEChange 响应| 状态码 | 说明 |
|---|
200 | Whether a confirmation was recorded, and the site. 字段:recorded: boolean site: SiteResponse |
|---|
400 | Error. |
|---|
401 | Error. |
|---|
403 | Error. |
|---|
404 | Error. |
|---|
409 | Error. |
|---|
503 | Error. |
|---|
失败时怎么办
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_id | path | string(uuid) | 是 | — |
|---|
响应
listEscalateSiteEvents 响应| 状态码 | 说明 |
|---|
200 | Level history, newest first. 字段:items: array<Event> |
|---|
400 | Error. |
|---|
401 | Error. |
|---|
403 | Error. |
|---|
404 | Error. |
|---|
503 | Error. |
|---|
失败时怎么办
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-ID | header | string | 否 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
X-Step-Up-Token | header | string | 是 | Single-use proof consumed by the configured step-up verifier; never persisted. |
|---|
请求体
application/json · 必填:是
createTenantJA4BlockWorkflow 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
site_id | string(uuid) | 是 | — |
|---|
ja4 | string | 是 | — |
|---|
snapshot_at | string(date-time) | 是 | — |
|---|
duration_seconds | integer | 是 | — |
|---|
reason | string | 是 | — |
|---|
响应
createTenantJA4BlockWorkflow 响应| 状态码 | 说明 |
|---|
202 | Durable 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 |
|---|
400 | Stable error response. |
|---|
401 | Stable error response. |
|---|
403 | Stable error response. |
|---|
409 | Stable error response. |
|---|
412 | Stable error response. |
|---|
428 | Stable error response. |
|---|
503 | Stable 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_id | path | string(uuid) | 是 | — |
|---|
X-Request-ID | header | string | 否 | — |
|---|
响应
getTenantJA4BlockWorkflow 响应| 状态码 | 说明 |
|---|
200 | Fixed 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 |
|---|
401 | Stable error response. |
|---|
403 | Stable error response. |
|---|
404 | Stable error response. |
|---|
503 | Stable error response. |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表