Skip to content

Tier Bind Self-Test Unavailable

URI: https://docs.ankatech.co/errors/tier-bind-self-test-unavailable
HTTP Status: 503 Service Unavailable

When you see this

The managed-tier bind (POST /api/v3/admin/platform/key-backend/tiers/{tier}/bind) contacted the tier's declared key-protection backend for its wrap/unwrap round trip and got no usable answer in time — a transport fault or a timeout — or an answer asking it to slow down (a request-rate limit at the provider). Nothing was learned about the tier's configuration, so binding again is the recovery. The tier was not bound and stays in DECLARED_PENDING_BIND. The response carries a Retry-After header.

A backend that answered and refused, or a configuration that cannot produce a client, is not this type: it is Tier Bind Self-Test Failed (422). Like it, this body names no vendor, endpoint, region or label; the underlying fault is in the server-side log, correlated by the request id.

Response Example

{
  "type": "https://docs.ankatech.co/errors/tier-bind-self-test-unavailable",
  "title": "Tier Bind Self-Test Unavailable",
  "status": 503,
  "detail": "This tier's key-protection backend gave no usable answer in time to a wrap/unwrap round trip, or asked this platform to slow down. Nothing was learned about its configuration; retry the bind shortly. The tier was not bound and is unchanged.",
  "instance": "/api/v3/admin/platform/key-backend/tiers/ENTERPRISE/bind",
  "timestamp": 1730000000,
  "extensions": {
    "reason": "UNREACHABLE",
    "requestId": "550e8400-e29b-41d4-a716-446655440000"
  }
}

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

How to Resolve

  1. Wait the Retry-After interval and bind again. The tier is still in DECLARED_PENDING_BIND, so no reset or re-declaration is required.
  2. If it recurs, check the network path from the platform to the tier's backend.

When the round trip passed and the provider gave no answer while the automatic rotation of the tier's key was set, the body also carries extensions.step = ROTATION_SCHEDULE. The action is the same: retry after Retry-After.

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