Skip to content

Quorum Request Already Pending

URI: https://docs.ankatech.co/errors/quorum-request-already-pending
HTTP Status: 409 Conflict

When you see this

A gated operation was asked for while a request for the same operation and target is still pending. The second call would create a competing request, so it is refused and nothing is recorded. The pending request's id travels in extensions.pendingRequestId; extensions.requestId is, as on every admin-api problem, the correlation id of the refused call.

Quorum (M-of-N) approval is described in Quorum Approval*.

Common Causes

  • The first call already answered 202 and the client retried it.
  • Two administrators asked for the same change at the same time.

Response Example

{
  "type": "https://docs.ankatech.co/errors/quorum-request-already-pending",
  "title": "Quorum Request Already Pending",
  "status": 409,
  "detail": "A quorum request for this operation and target is already pending; follow it, or cancel it before requesting again.",
  "instance": "/api/v3/admin/tenants/7d2f4a10-9c31-4b8e-a5d6-2f11c0b47e93/keys/payments-data-key",
  "timestamp": 1730000000,
  "extensions": {
    "pendingRequestId": "550e8400-e29b-41d4-a716-446655440000",
    "requestId": "2b7d4e91-6c3a-4f58-9e02-7a1c5d8b3f64"
  }
}

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

How to Resolve

  1. Follow the pending request with getTenantQuorumRequest (or getPlatformQuorumRequest on the platform plane) using extensions.pendingRequestId.
  2. If the pending request asks for the wrong thing, its requester cancels it (cancelTenantQuorumRequest, or cancelPlatformQuorumRequest on the platform plane), then asks again.

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

* restricted content — see higher-tier documentation