MethodPathSummaryAuth
GET/v1/admin/cache-policies/{site_id}Get a current policy in an explicit tenant scopeSession
POST/v1/admin/cache-policies/{site_id}Publish a policy in an explicit tenant scopeSession
GET/v1/admin/cache-policies/{site_id}/revisionsList policy history in an explicit tenant scopeSession
GET/v1/admin/cache-policies/{site_id}/revisions/{revision}Get one policy revision in an explicit tenant scopeSession

Contract file:api/control-cache-operations.openapi.yaml

Operation details

GET /v1/admin/cache-policies/{site_id}

Get a current policy in an explicit tenant scope

operationId
getAdminCurrentCachePolicy
Auth
  • 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

All of:sites.read

Parameters

getAdminCurrentCachePolicy Parameters
NameInTypeRequiredDescription
site_idpathstring(uuid)Yes—
scope_idquerystring(uuid)YesExplicit active tenant scope; platform scope is never implied.
X-Request-IDheaderstringYes—

Responses

getAdminCurrentCachePolicy Responses
StatusDescription
200Cache policy revision.

Fields:site_id: string(uuid) revision: integer(int64) binding_mode: string: inherit / override definition_id: string(uuid) definition_revision: integer(int64) document: PolicyDocumentV1 | PolicyDocumentV2 created_by_user_id: string(uuid) request_id: string created_at: string(date-time)

400Invalid or non-canonical request.
401Authentication required.
403Exact cache permission is absent or route audience is wrong.
404Resource is absent or outside the effective tenant scope.
408Request context was cancelled or exceeded its deadline.
503A required store is unavailable; raw dependency errors are never returned.

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.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

POST /v1/admin/cache-policies/{site_id}

Publish a policy in an explicit tenant scope

operationId
publishAdminCachePolicy
Auth
  • 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

All of:sites.manage

Parameters

publishAdminCachePolicy Parameters
NameInTypeRequiredDescription
site_idpathstring(uuid)Yes—
scope_idquerystring(uuid)YesExplicit active tenant scope; platform scope is never implied.
X-Request-IDheaderstringYes—
Idempotency-KeyheaderstringYes—

Request body

application/json · Required:Yes

publishAdminCachePolicy Request body
NameTypeRequiredDescription
expected_revisioninteger(int64)Yes—
binding_modeobjectNoOmit for the simple per-site override workflow.
definition_idstring(uuid)No—
definition_revisioninteger(int64)No—
expected_definition_revisioninteger(int64)No—
documentPolicyDocumentV1 | PolicyDocumentV2No—

Responses

publishAdminCachePolicy Responses
StatusDescription
201Created revision or stored identical replay.

Fields:site_id: string(uuid) revision: integer(int64) binding_mode: string: inherit / override definition_id: string(uuid) definition_revision: integer(int64) document: PolicyDocumentV1 | PolicyDocumentV2 created_by_user_id: string(uuid) request_id: string created_at: string(date-time)

400Invalid or non-canonical request.
401Authentication required.
403Exact cache permission is absent or route audience is wrong.
404Resource is absent or outside the effective tenant scope.
408Request context was cancelled or exceeded its deadline.
409Idempotency payload or operation state conflicts.
412expected_revision no longer matches the current head.
503A required store is unavailable; raw dependency errors are never returned.

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/admin/cache-policies/{site_id}/revisions

List policy history in an explicit tenant scope

operationId
listAdminCachePolicyRevisions
Auth
  • 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

All of:sites.read

Parameters

listAdminCachePolicyRevisions Parameters
NameInTypeRequiredDescription
site_idpathstring(uuid)Yes—
scope_idquerystring(uuid)YesExplicit active tenant scope; platform scope is never implied.
X-Request-IDheaderstringYes—
limitqueryintegerNo—
cursorquerystringNoHMAC-authenticated cursor bound to scope, filters, and a committed creation-audit watermark. It freezes membership, not mutable operation state or progress.

Responses

listAdminCachePolicyRevisions Responses
StatusDescription
200Stable revision page.

Fields:items: array<Policy> next_cursor?: string

400Invalid or non-canonical request.
401Authentication required.
403Exact cache permission is absent or route audience is wrong.
404Resource is absent or outside the effective tenant scope.
408Request context was cancelled or exceeded its deadline.
503A required store is unavailable; raw dependency errors are never returned.

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.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

GET /v1/admin/cache-policies/{site_id}/revisions/{revision}

Get one policy revision in an explicit tenant scope

operationId
getAdminCachePolicyRevision
Auth
  • 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

All of:sites.read

Parameters

getAdminCachePolicyRevision Parameters
NameInTypeRequiredDescription
site_idpathstring(uuid)Yes—
revisionpathinteger(int64)Yes—
scope_idquerystring(uuid)YesExplicit active tenant scope; platform scope is never implied.
X-Request-IDheaderstringYes—

Responses

getAdminCachePolicyRevision Responses
StatusDescription
200Cache policy revision.

Fields:site_id: string(uuid) revision: integer(int64) binding_mode: string: inherit / override definition_id: string(uuid) definition_revision: integer(int64) document: PolicyDocumentV1 | PolicyDocumentV2 created_by_user_id: string(uuid) request_id: string created_at: string(date-time)

400Invalid or non-canonical request.
401Authentication required.
403Exact cache permission is absent or route audience is wrong.
404Resource is absent or outside the effective tenant scope.
408Request context was cancelled or exceeded its deadline.
503A required store is unavailable; raw dependency errors are never returned.

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.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list