Skip to content

Support Access Already Authorised

URI: https://docs.ankatech.co/errors/support-access-grant-already-declared
HTTP Status: 409 Conflict

When you see this

A tenant declared support access while a live authorisation already exists for that tenant. An authorisation is refused, never replaced, so that a repeated declaration cannot silently extend the window the first one was granted for.

Common Causes

  • A live support-access grant is already in force for the tenant.
  • Two concurrent declarations raced; the one that lost the unique-constraint write receives the same refusal.

Only a live grant is refused. A lapsed row grants nothing, so it is cleared and the declaration proceeds — a lapsed grant is never a dead end.

Response Example

{
  "type": "https://docs.ankatech.co/errors/support-access-grant-already-declared",
  "title": "Support Access Already Authorised",
  "status": 409,
  "detail": "Support access is already authorised for this tenant. Withdraw the existing authorisation before declaring a new one — an authorisation is never replaced, so that a repeated request cannot silently extend the window it was granted for.",
  "instance": "/api/v3/admin/tenants/7c9e6679-7425-40de-944b-e07fc1f90ae7/support-access/grants",
  "timestamp": 1730000000,
  "extensions": {
    "requestId": "550e8400-e29b-41d4-a716-446655440000"
  }
}

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

The body echoes no window, no timestamp, no declaring administrator and none of the tenant's own reason text — a problem body is a different egress surface from the authenticated read that is entitled to those values. This type is distinct from impersonation-session-already-live: that one means a session is open and the operator must end it, while this one means an authorisation exists and the tenant must withdraw it.

How to Resolve

  1. Read the tenant's current support-access grant to see the window in force.
  2. Withdraw the existing authorisation.
  3. Declare the new one.

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