Skip to content

Key-Protection Property Not Stored On This Plane

URI: https://docs.ankatech.co/errors/key-backend-property-not-stored
HTTP Status: 422 Unprocessable Entity

When you see this

A key-protection declaration in the driver form (driver, properties, secrets) carried a property the driver accepts but the declaration's plane has no place to keep. Nothing was written.

A declaration stores only the key coordinates of its backend: the key identifier (keyId) and the endpoint (endpoint) on the deployment and tenant BYOK planes, and nothing on a managed tier, whose coordinates are the tier's settings. Every other coordinate of a backend is taken from where it already lives: the deployment host's configuration for a PKCS#11 token, or a managed tier's settings. Accepting a property the plane cannot keep would discard it in silence, so the declaration is refused by name instead.

Response Example

{
  "type": "https://docs.ankatech.co/errors/key-backend-property-not-stored",
  "title": "This plane does not keep the declared property",
  "status": 422,
  "detail": "The property 'protection' is not kept on this plane. Nothing was written.",
  "instance": "/api/v3/admin/platform/setup/backend/driver-declaration",
  "timestamp": 1760620800,
  "extensions": {
    "field": "protection",
    "requestId": "c2a71e05-9d3f-4b86-8e14-5a0b6f92d7c3"
  }
}

Content-Type: application/problem+json — the response follows RFC 9457 Problem Details.

extensions.field names the refused property, never its value. The refusal is audited on the plane's failure record with the reason PROPERTY_NOT_STORED and the field name.

How to Resolve

  1. Remove the named property from properties and send the declaration again.
  2. Set the coordinate where the plane reads it: in the deployment host's configuration for a PKCS#11 token (see Key Protection Backend Configuration*), or in the tier's settings for a managed tier, which the tier's backend options show read-only.

Operations that emit it

Method Endpoint
PUT /api/v3/admin/platform/setup/backend/driver-declaration
PUT /api/v3/admin/platform/key-backend/tiers/{tier}/driver-declaration
PUT /api/v3/admin/platform/tenants/{tenantId}/key-backend/byok/driver-declaration
PUT /api/v3/admin/tenants/{tenantId}/key-backend/byok/driver-declaration

For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.

* restricted content — see higher-tier documentation