Skip to main content

Slate cache

Generated from apiome-rest/openapi.yaml (API version 1.204.1) — do not edit by hand. How to authenticate is on the REST API reference.

Tag: slate-cache · 10 operations

GET /v1/slate/cache/presets​

Get Cache Presets

Return the four presets as data.

The UI renders what this returns. A preset whose numbers lived in the client as well as here would drift, and the copy that drifted silently would be the one on screen.

Operation id: get_cache_presets_v1_slate_cache_presets_get

Parameters

NameInTypeRequiredDescription
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Responses

StatusDescriptionBody
200Successful response for get cache presets.application/json PresetsResponse
422Validation Errorapplication/json HTTPValidationError

GET /v1/slate/environments/{environment_id}/cache​

Get Cache Policy

Return a lane's cache policy, its expert rules and what it actually enforces.

Operation id: get_cache_policy_v1_slate_environments__environment_id__cache_get

Parameters

NameInTypeRequiredDescription
environment_idpathstringyesPath parameter identifying the environment id segment.
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Responses

StatusDescriptionBody
200Successful response for get cache policy.application/json CachePolicyResponse
422Validation Errorapplication/json HTTPValidationError

GET /v1/slate/environments/{environment_id}/cache/audit​

Get Cache Audit

Return a lane's append-only cache audit trail, most recent first.

Operation id: get_cache_audit_v1_slate_environments__environment_id__cache_audit_get

Parameters

NameInTypeRequiredDescription
environment_idpathstringyesPath parameter identifying the environment id segment.
limitqueryintegernoMaximum number of rows to return.
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Responses

StatusDescriptionBody
200Successful response for get cache audit.application/json SlateCacheAuditResponse
422Validation Errorapplication/json HTTPValidationError

PUT /v1/slate/environments/{environment_id}/cache/preset​

Set Cache Preset

Change a lane's preset.

Bypass without an expiry is refused here and again by V187's CHECK, because an incident mode that outlives its incident becomes the configuration.

Operation id: set_cache_preset_v1_slate_environments__environment_id__cache_preset_put

Parameters

NameInTypeRequiredDescription
environment_idpathstringyesPath parameter identifying the environment id segment.
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Request body (required)

Request body for set cache preset.

Responses

StatusDescriptionBody
200Successful response for set cache preset.application/json SetPresetResponse
422Validation Errorapplication/json HTTPValidationError

POST /v1/slate/environments/{environment_id}/cache/purge​

Purge Cache

Estimate a purge's scope and record it.

Nothing is evicted. No delivery tier is attached to this environment, so what this writes is evidence: who asked, for what scope, with what estimated blast radius computed from which table, and why. The response says so in delivery, and V187 refuses at the database any row claiming otherwise.

A refused purge still writes a purge record and an audit entry when it is not a dry run: refusing to purge during an incident is precisely the event that needs to be in the timeline afterwards.

Operation id: purge_cache_v1_slate_environments__environment_id__cache_purge_post

Parameters

NameInTypeRequiredDescription
environment_idpathstringyesPath parameter identifying the environment id segment.
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Request body (required)

Request body for purge cache.

Responses

StatusDescriptionBody
200Successful response for purge cache.application/json PurgeResponse
422Validation Errorapplication/json HTTPValidationError

GET /v1/slate/environments/{environment_id}/cache/purges​

Get Purge History

Return a lane's purge history, most recent first.

Operation id: get_purge_history_v1_slate_environments__environment_id__cache_purges_get

Parameters

NameInTypeRequiredDescription
environment_idpathstringyesPath parameter identifying the environment id segment.
limitqueryintegernoMaximum number of rows to return.
scopeKindquerystring or nullnoQuery parameter: scope kind.
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Responses

StatusDescriptionBody
200Successful response for get purge history.application/json PurgeHistoryResponse
422Validation Errorapplication/json HTTPValidationError

POST /v1/slate/environments/{environment_id}/cache/rules​

Create Cache Rule

Create an expert cache rule, refusing an unsafe variant by name.

Operation id: create_cache_rule_v1_slate_environments__environment_id__cache_rules_post

Parameters

NameInTypeRequiredDescription
environment_idpathstringyesPath parameter identifying the environment id segment.
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Request body (required)

Request body for create cache rule.

Responses

StatusDescriptionBody
201Successful response for create cache rule.application/json SlateCacheWriteRuleResponse
422Validation Errorapplication/json HTTPValidationError

PUT /v1/slate/environments/{environment_id}/cache/rules/{rule_id}​

Replace Cache Rule

Replace an expert cache rule, running the same gates as a create.

Operation id: replace_cache_rule_v1_slate_environments__environment_id__cache_rules__rule_id__put

Parameters

NameInTypeRequiredDescription
environment_idpathstringyesPath parameter identifying the environment id segment.
rule_idpathstringyesPath parameter identifying the rule id segment.
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Request body (required)

Request body for replace cache rule.

Responses

StatusDescriptionBody
200Successful response for replace cache rule.application/json SlateCacheWriteRuleResponse
422Validation Errorapplication/json HTTPValidationError

DELETE /v1/slate/environments/{environment_id}/cache/rules/{rule_id}​

Remove Cache Rule

Remove an expert cache rule.

Operation id: remove_cache_rule_v1_slate_environments__environment_id__cache_rules__rule_id__delete

Parameters

NameInTypeRequiredDescription
environment_idpathstringyesPath parameter identifying the environment id segment.
rule_idpathstringyesPath parameter identifying the rule id segment.
expectedPolicyVersionqueryintegeryesRequired. Query parameter: expected policy version.
dryRunquerybooleannoWhen true, validate without persisting side effects.
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Responses

StatusDescriptionBody
200Successful response for remove cache rule.application/json SlateSecurityDeleteRuleResponse
422Validation Errorapplication/json HTTPValidationError

POST /v1/slate/environments/{environment_id}/cache/trace​

Trace Cache Request

Explain what this lane's policy decides for a test request.

A read, not a write, unless persist is set. The verdict answers eligibility, cache key, TTLs, bypass and the winning rule, and reports every rule that was considered together with the reason it did not win — because "why did my rule not fire" is the question that brings an operator here.

Operation id: trace_cache_request_v1_slate_environments__environment_id__cache_trace_post

Parameters

NameInTypeRequiredDescription
environment_idpathstringyesPath parameter identifying the environment id segment.
tenantSlugquerystring or nullnoTenant slug. Optional: the Slate routes read tenancy from the credential, so a browser call carrying a session JWT does not need to name a tenant in the URL.
authorizationheaderstring or nullnoJWT bearer token for authenticated access (Authorization: Bearer <token>).
X-API-Keyheaderstring or nullnoTenant-scoped API key used as an alternative to JWT bearer authentication.

Request body (required)

Request body for trace cache request.

Responses

StatusDescriptionBody
200Successful response for trace cache request.application/json TraceResponse
422Validation Errorapplication/json HTTPValidationError

Schemas used​

CachePolicyResponse​

A lane's complete cache policy.

PropertyTypeRequiredDescription
environmentIdstringyesThe lane.
presetstringyesActive preset.
presetExpiresAtstring or nullnoPreset Expires At.
presetOverridesobjectnoPreset Overrides.
policyVersionintegeryesOptimistic-concurrency token.
edgeAttachedbooleanyesWhether a delivery tier serves this lane.
edgeProviderstring or nullnoEdge Provider.
enforcementSlateCacheEnforcementBodyyesWhether the policy shapes responses.
rulesarray of CacheRuleBodyyesExpert rules, in precedence order.
presetRulesarray of CacheRuleBodyyesThe preset's own rules, which decide where no expert rule matches.
updatedAtstring or nullnoUpdated At.
updatedBystring or nullnoUpdated By.

HTTPValidationError​

Validation error response emitted when request data fails schema checks.

PropertyTypeRequiredDescription
detailarray of ValidationErrornoDetail.

PresetsResponse​

Every available preset.

PropertyTypeRequiredDescription
presetsarray of PresetBodyyesThe four presets.

PurgeHistoryResponse​

A lane's purge history.

PropertyTypeRequiredDescription
purgesarray of PurgeRecordBodyyesMost recent first.

PurgeRequest​

Estimate and record a purge.

PropertyTypeRequiredDescription
scopeKindenum "release", "tag", "prefix", "host", "url"yesOne of the five roadmap scopes.
scopeValuestringyesRelease id, tag, prefix, host or URL.
reasonstringyesWhy. Recorded, because a purge must be explicable later.
dryRunbooleannoEstimate without recording a purge.
confirmEstimatedObjectsinteger or nullnoThe estimate the operator confirmed. When it disagrees with the server's recomputed estimate the purge is refused: they approved a different blast radius.

PurgeResponse​

The outcome of a purge.

PropertyTypeRequiredDescription
outcomestringyesestimated (dry run) or recorded.
dryRunbooleanyesWhether this was a preview.
estimatePurgeEstimateBodyyesThe scope and its provenance.
purgeIdstring or nullnoPurge ID.
edgeAttachedbooleanyesWhether a delivery tier serves this lane.
deliveryDeliveryBodyyesWhether anything was evicted.

SetPresetRequest​

Change a lane's preset.

PropertyTypeRequiredDescription
presetstringyesstandard, aggressive, bypass or personalized.
presetExpiresAtstring or nullnoRequired for bypass, which is an incident mode.
overridesobjectnoOverrides.
reasonstringnoWhy the preset changed; recorded in audit.
expectedPolicyVersionintegeryesThe version the caller read.
dryRunbooleannoRun every gate and write nothing.

SetPresetResponse​

The outcome of a preset change.

PropertyTypeRequiredDescription
appliedbooleanyesFalse for a dry run.
dryRunbooleanyesWhether this was a preview.
presetstringyesThe preset now in effect, or that would be.
policyVersionintegeryesThe version after the change.
resolvedRulesarray of CacheRuleBodyyesWhat the preset resolves to.
warningsarray of CacheWarningBodynoWarnings.

SlateCacheAuditResponse​

A lane's cache audit trail.

PropertyTypeRequiredDescription
entriesarray of SlateCacheAuditEntryBodyyesMost recent first.

SlateCacheWriteRuleRequest​

Create or replace an expert rule.

PropertyTypeRequiredDescription
idstring or nullnoRule id, absent for preset rules.
ordinalintegeryesPrecedence; lower wins.
enabledbooleannoWhether the rule participates.
labelstringyesOperator-facing rule name.
matcherKindstringnoexact, prefix, glob or regex.
matcherValuestringnoThe route pattern.
matcherMethodsarray of stringnoMatcher Methods.
matcherHostsarray of stringnoMatcher Hosts.
eligibilitystringnocacheable, private or no-store.
browserTtlSecondsintegernoBrowser Ttl Seconds.
edgeTtlSecondsintegernoEdge Ttl Seconds.
staleWhileRevalidateSecondsintegernoStale While Revalidate Seconds.
staleIfErrorSecondsintegernoStale If Error Seconds.
cacheKeyBasestringnoCache Key Base.
varyQueryModestringnoVary Query Mode.
varyQueryKeysarray of stringnoVary Query Keys.
varyHeadersarray of stringnoVary Headers.
varyCookiesarray of stringnoVary Cookies.
bypassConditionsarray of objectnoBypass Conditions.
tagsarray of stringnoAssociated tag labels.
expiresAtstring or nullnoExpires At.
acknowledgedWarningsarray of stringnoAcknowledged Warnings.
expectedPolicyVersionintegeryesThe version the caller read.
dryRunbooleannoValidate without writing.
reasonstringnoWhy the rule changed; recorded in audit.

SlateCacheWriteRuleResponse​

The outcome of a rule write.

PropertyTypeRequiredDescription
appliedbooleanyesFalse for a dry run.
dryRunbooleanyesWhether this was a preview.
ruleCacheRuleBody or nullnoRule.
policyVersionintegeryesThe version after the write.
warningsarray of CacheWarningBodynoWarnings.

SlateSecurityDeleteRuleResponse​

The outcome of a rule deletion.

PropertyTypeRequiredDescription
deletedbooleanyesFalse for a dry run.
dryRunbooleanyesWhether this was a preview.
policyVersionintegeryesThe version after the write.

TraceCommandBody​

A trace request, optionally over a what-if ruleset.

PropertyTypeRequiredDescription
requestTraceRequestBodyyesThe test request.
rulesarray of CacheRuleBody or nullnoWhat-if overlay. When absent, the lane's stored rules are used.
persistbooleannoRecord the trace as evidence.

TraceResponse​

What the policy decides for a test request, and why.

One field per clause of the acceptance criterion, so a partial answer is impossible.

PropertyTypeRequiredDescription
eligibilitystringyescacheable, private or no-store.
eligibilityReasonstringyesWhy, naming what decided.
cacheKeystringyesThe resolved cache key.
cacheKeyComponentsarray of TraceKeyComponentBodyyesHow it was built.
browserTtlSecondsintegeryesBrowser TTL.
edgeTtlSecondsintegeryesShared-tier TTL.
staleWhileRevalidateSecondsintegeryesStale-while-revalidate window.
staleIfErrorSecondsintegeryesStale-if-error window.
ttlSourcestringyesWhich rule or preset set the TTLs.
bypassedbooleanyesWhether a bypass condition fired.
bypassReasonstring or nullnoBypass Reason.
winningRuleIdstring or nullnoNull when the preset default decided, which is an answer.
winningRuleLabelstringyesWhat decided.
consideredarray of TraceStepBodyyesEvery rule, and why it did not win.
warningsarray of CacheWarningBodynoWarnings.
rulesDigeststringyesDeterminism receipt over the evaluated ruleset.
policyVersionintegeryesWhich policy generation answered.
basis"policy-evaluation"noThis is an evaluation of recorded policy against a test request, not a replay of an observed edge hit. When a delivery tier lands, 'edge-observed' becomes the second value of this field rather than a change of meaning for the first.
observedbooleannoFalse: no delivery tier reported this request.
traceIdstring or nullnoSet when the trace was recorded.
basisReleaseIdstring or nullnoBasis Release ID.