POST /v1/error-pages/assets/initiate
Initiate a content-addressed asset
- operationId
initiateErrorPageAsset- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
initiateErrorPageAsset Parameters| Name | In | Type | Required | Description |
|---|
Idempotency-Key | header | string | Yes | — |
|---|
X-Request-ID | header | string | Yes | — |
|---|
X-Trace-ID | header | string | Yes | — |
|---|
Request body
application/json · Required:Yes
initiateErrorPageAsset Request body| Name | Type | Required | Description |
|---|
scope_id | string(uuid) | No | Optional for tenant sessions and defaults to their own scope; required for platform sessions. |
|---|
name | string | No | Display name (the uploaded file name, or the page category and status); empty for an asset uploaded before names existed. No control characters, no surrounding blanks. |
|---|
mime_type | string: text/html / text/plain / application/json | Yes | — |
|---|
size_bytes | integer(int64) | Yes | — |
|---|
sha256 | string | Yes | — |
|---|
Responses
initiateErrorPageAsset Responses| Status | Description |
|---|
201 | Asset identity created in initiated state Fields:value: Asset replayed: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
422 | Quota, static-content, or malware-scan rejection |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
DELETE /v1/error-pages/assets/{asset_id}
Mark an unreferenced asset for reconciled deletion
- operationId
deleteErrorPageAsset- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
deleteErrorPageAsset Parameters| Name | In | Type | Required | Description |
|---|
asset_id | path | string(uuid) | Yes | — |
|---|
If-Match | header | string | Yes | Quoted positive decimal rule or asset revision, for example `"3"`. |
|---|
Idempotency-Key | header | string | Yes | — |
|---|
X-Request-ID | header | string | Yes | — |
|---|
X-Trace-ID | header | string | Yes | — |
|---|
Responses
deleteErrorPageAsset Responses| Status | Description |
|---|
202 | Database transition committed; object cleanup is pending Fields:value: Asset replayed: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
412 | Revision compare-and-swap failed |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.412 The revision changed: read the latest ETag, decide again, then send the new If-Match.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
GET /v1/error-pages/assets/{asset_id}/content
Read a ready asset's content
- operationId
getErrorPageAssetContent- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Description (from the contract)
The stored body of a ready asset (error_pages.read), integrity checked against its sha256, so a site's error page can be edited as text (网站编辑 → 错误页面). A staged, scanning, rejected or deleted asset answers 409.
Parameters
getErrorPageAssetContent Parameters| Name | In | Type | Required | Description |
|---|
asset_id | path | string(uuid) | Yes | — |
|---|
X-Request-ID | header | string | No | — |
|---|
X-Trace-ID | header | string | No | — |
|---|
Responses
getErrorPageAssetContent Responses| Status | Description |
|---|
200 | Asset metadata and its UTF-8 body Fields:asset: Asset content: string |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
PUT /v1/error-pages/assets/{asset_id}/content
Upload bounded asset content to staging
- operationId
uploadErrorPageAssetContent- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
uploadErrorPageAssetContent Parameters| Name | In | Type | Required | Description |
|---|
asset_id | path | string(uuid) | Yes | — |
|---|
Idempotency-Key | header | string | Yes | — |
|---|
X-Request-ID | header | string | Yes | — |
|---|
X-Trace-ID | header | string | Yes | — |
|---|
Content-Length | header | integer | Yes | — |
|---|
Request body
text/html, text/plain, application/json · Required:Yes
Responses
uploadErrorPageAssetContent Responses| Status | Description |
|---|
200 | Content validated and staged Fields:value: Asset replayed: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
422 | Quota, static-content, or malware-scan rejection |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
POST /v1/error-pages/assets/{asset_id}/finalize
Scan and finalize staged asset content
- operationId
finalizeErrorPageAsset- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
finalizeErrorPageAsset Parameters| Name | In | Type | Required | Description |
|---|
asset_id | path | string(uuid) | Yes | — |
|---|
Idempotency-Key | header | string | Yes | — |
|---|
X-Request-ID | header | string | Yes | — |
|---|
X-Trace-ID | header | string | Yes | — |
|---|
Responses
finalizeErrorPageAsset Responses| Status | Description |
|---|
200 | Scanner passed and final object is ready Fields:value: Asset replayed: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
422 | Quota, static-content, or malware-scan rejection |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
GET /v1/error-pages/publication-snapshot
Read the latest deterministic publication source snapshot
- operationId
getErrorPagePublicationSnapshot- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
getErrorPagePublicationSnapshot Parameters| Name | In | Type | Required | Description |
|---|
X-Request-ID | header | string | No | — |
|---|
X-Trace-ID | header | string | No | — |
|---|
Responses
getErrorPagePublicationSnapshot Responses| Status | Description |
|---|
200 | Snapshot plus its control-plane digest and creation time Fields:policy: EdgePolicy snapshot_sha256: string created_at: string(date-time) |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
GET /v1/error-pages/scope-overrides
List current node and region error-page overrides
- operationId
listErrorPageScopeOverrides- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
listErrorPageScopeOverrides Parameters| Name | In | Type | Required | Description |
|---|
X-Request-ID | header | string | No | — |
|---|
X-Trace-ID | header | string | No | — |
|---|
Responses
listErrorPageScopeOverrides Responses| Status | Description |
|---|
200 | Active overrides with short display identifiers and no asset UUIDs Fields:items: array<ScopeOverride> total: integer |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
POST /v1/error-pages/scope-overrides
Create or restore a node or region override
- operationId
createErrorPageScopeOverride- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
createErrorPageScopeOverride Parameters| Name | In | Type | Required | Description |
|---|
Idempotency-Key | header | string | Yes | — |
|---|
X-Request-ID | header | string | Yes | — |
|---|
X-Trace-ID | header | string | Yes | — |
|---|
Request body
application/json · Required:Yes
createErrorPageScopeOverride Request body| Name | Type | Required | Description |
|---|
target | object | object | Yes | — |
|---|
items | array<ScopeOverrideBindingInput> | Yes | — |
|---|
Responses
createErrorPageScopeOverride Responses| Status | Description |
|---|
201 | Append-only override revision committed Fields:value: ScopeOverride replayed: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
GET /v1/error-pages/scope-overrides/{override_display_id}
Read an override with verified immutable editor content
- operationId
getErrorPageScopeOverride- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
getErrorPageScopeOverride Parameters| Name | In | Type | Required | Description |
|---|
override_display_id | path | string | Yes | — |
|---|
X-Request-ID | header | string | No | — |
|---|
X-Trace-ID | header | string | No | — |
|---|
Responses
getErrorPageScopeOverride Responses| Status | Description |
|---|
200 | Override document without asset UUIDs, hashes, receipts, or storage locations Fields:display_id: string target: object | object items: array<ScopeOverrideItem> revision: integer(int64) updated_at: string(date-time) deleted?: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
PATCH /v1/error-pages/scope-overrides/{override_display_id}
Replace an override item set using compare-and-swap
- operationId
updateErrorPageScopeOverride- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
updateErrorPageScopeOverride Parameters| Name | In | Type | Required | Description |
|---|
override_display_id | path | string | Yes | — |
|---|
If-Match | header | string | Yes | Quoted positive decimal rule or asset revision, for example `"3"`. |
|---|
Idempotency-Key | header | string | Yes | — |
|---|
X-Request-ID | header | string | Yes | — |
|---|
X-Trace-ID | header | string | Yes | — |
|---|
Request body
application/json · Required:Yes
updateErrorPageScopeOverride Request body| Name | Type | Required | Description |
|---|
items | array<ScopeOverrideBindingInput> | Yes | — |
|---|
Responses
updateErrorPageScopeOverride Responses| Status | Description |
|---|
200 | New current override revision Fields:value: ScopeOverride replayed: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
412 | Revision compare-and-swap failed |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.412 The revision changed: read the latest ETag, decide again, then send the new If-Match.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
DELETE /v1/error-pages/scope-overrides/{override_display_id}
Append a soft-delete override revision
- operationId
deleteErrorPageScopeOverride- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
deleteErrorPageScopeOverride Parameters| Name | In | Type | Required | Description |
|---|
override_display_id | path | string | Yes | — |
|---|
If-Match | header | string | Yes | Quoted positive decimal rule or asset revision, for example `"3"`. |
|---|
Idempotency-Key | header | string | Yes | — |
|---|
X-Request-ID | header | string | Yes | — |
|---|
X-Trace-ID | header | string | Yes | — |
|---|
Responses
deleteErrorPageScopeOverride Responses| Status | Description |
|---|
202 | Soft-delete revision committed; the target inherits its next available source Fields:value: ScopeOverride replayed: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
412 | Revision compare-and-swap failed |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.412 The revision changed: read the latest ETag, decide again, then send the new If-Match.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
GET /v1/error-pages/slots
List the twelve canonical error-page slots in display order
- operationId
listErrorPageSlots- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
listErrorPageSlots Parameters| Name | In | Type | Required | Description |
|---|
X-Request-ID | header | string | No | — |
|---|
X-Trace-ID | header | string | No | — |
|---|
Responses
listErrorPageSlots Responses| Status | Description |
|---|
200 | All canonical slots, including slots that have never been bound Fields:items: array<SlotBinding> |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
GET /v1/error-pages/slots/{slot_key}
Read a slot binding and its verified immutable content
- operationId
getErrorPageSlot- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
getErrorPageSlot Parameters| Name | In | Type | Required | Description |
|---|
slot_key | path | string: blacklist / http_400 / http_403 / waf_block / http_502 / http_504 / traffic_exceeded / package_expired / site_locked / domain_unconfigured / node_ip_access / connection_limit | Yes | — |
|---|
X-Request-ID | header | string | No | — |
|---|
X-Trace-ID | header | string | No | — |
|---|
Responses
getErrorPageSlot Responses| Status | Description |
|---|
200 | Current binding and UTF-8 content; an unbound slot carries the built-in page in effect Fields:binding: SlotBinding content: string source: string: override / builtin delivery: string: theme / fallback / none |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
PUT /v1/error-pages/slots/{slot_key}
Append a slot revision that binds a ready immutable asset
- operationId
bindErrorPageSlot- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
bindErrorPageSlot Parameters| Name | In | Type | Required | Description |
|---|
slot_key | path | string: blacklist / http_400 / http_403 / waf_block / http_502 / http_504 / traffic_exceeded / package_expired / site_locked / domain_unconfigured / node_ip_access / connection_limit | Yes | — |
|---|
If-Match | header | string | Yes | Quoted non-negative slot revision; use `"0"` for a slot that has never been bound. |
|---|
Idempotency-Key | header | string | Yes | — |
|---|
X-Request-ID | header | string | Yes | — |
|---|
X-Trace-ID | header | string | Yes | — |
|---|
Request body
application/json · Required:Yes
bindErrorPageSlot Request body| Name | Type | Required | Description |
|---|
asset_id | string(uuid) | Yes | — |
|---|
Responses
bindErrorPageSlot Responses| Status | Description |
|---|
200 | Current binding after compare-and-swap Fields:value: SlotBinding replayed: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
412 | Revision compare-and-swap failed |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.412 The revision changed: read the latest ETag, decide again, then send the new If-Match.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
DELETE /v1/error-pages/slots/{slot_key}
Append an unbound revision and restore the built-in default
- operationId
unbindErrorPageSlot- Auth
- API key: header Authorization: CdncaKey <key_id>.<secret>. Effective permissions are the key scopes intersected with the owner’s current permissions.
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Parameters
unbindErrorPageSlot Parameters| Name | In | Type | Required | Description |
|---|
slot_key | path | string: blacklist / http_400 / http_403 / waf_block / http_502 / http_504 / traffic_exceeded / package_expired / site_locked / domain_unconfigured / node_ip_access / connection_limit | Yes | — |
|---|
If-Match | header | string | Yes | Quoted non-negative slot revision; use `"0"` for a slot that has never been bound. |
|---|
Idempotency-Key | header | string | Yes | — |
|---|
X-Request-ID | header | string | Yes | — |
|---|
X-Trace-ID | header | string | Yes | — |
|---|
Responses
unbindErrorPageSlot Responses| Status | Description |
|---|
200 | Current unbound slot revision Fields:value: SlotBinding replayed: boolean |
|---|
400 | Malformed or unknown input |
|---|
401 | Authentication is absent or invalid |
|---|
403 | Stable permission denial |
|---|
404 | Resource is absent or hidden by tenant isolation |
|---|
405 | The authenticated path exists but does not support the request method. |
|---|
409 | Idempotency, lifecycle, reference, or rule precedence conflict |
|---|
412 | Revision compare-and-swap failed |
|---|
503 | Database, scanner, or content-store dependency is unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.412 The revision changed: read the latest ETag, decide again, then send the new If-Match.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list