Tenant Not Addressable
URI: https://docs.ankatech.co/errors/tenant-not-addressable
HTTP Status: 403 Forbidden
When you see this
The tenant your request targets exists, and you are entitled to address it, but it will no longer accept the operation. It carries its own type rather than the generic forbidden for a specific reason: "Forbidden" reads as a missing scope and sends an operator to audit an RBAC assignment that is correct. This type says the reason is the tenant, so the place to look is the tenant's lifecycle.
Common Causes
- The tenant is soft-deleted. Deletion is terminal and there is no revive path.
- The tenant is in the terminal
CLOSEDlifecycle state, which denies every capability. - The tenant is live but its current lifecycle state does not admit the capability this operation requires.
Response Example
{
"type": "https://docs.ankatech.co/errors/tenant-not-addressable",
"title": "Tenant Not Addressable",
"status": 403,
"detail": "The targeted tenant is no longer accepting operations.",
"instance": "/api/v3/admin/tenants/2f1c9d84-6b2e-4d3a-9f57-0a1b2c3d4e5f/keys",
"timestamp": 1730000000,
"extensions": {
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}
Content-Type: application/problem+json — the response follows RFC 9457 Problem Details.
How to Resolve
- Do not audit the caller's roles or scopes: the refusal is about the tenant, and the body is byte-identical for every refused tenant precisely so it discloses no lifecycle state.
- Read the tenant's lifecycle status through the tenant read endpoint.
- If the tenant is suspended and the operation is one a suspended tenant does not admit, resume it first. If it is closed or deleted, the state is terminal and the operation cannot be completed against that tenant.
For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.