all docs
/ errors · HTTP 504

store_timeout

Durable storage or BYOK store read timed out (retry with Retry-After: 5).

What it means

ACE's own durable store did not answer inside its bound — a read behind a control-plane route (GET /api/v1/tenant/requests; retry with a narrower window or filters), or a BYOK store call on the request path that did not come back inside ACE_BYOK_STORE_TIMEOUT_S (default 30s, worker wait included). Carries Retry-After: 5 — the identity read timed out, so retry once the store answers.

How to recognise it

The gateway answers HTTP 504 with x-ace-error: store_timeout on the response, and a body in the shared error envelope:

{
  "error": {
    "message": "...",
    "type": "store_timeout",
    "code": 504
  }
}

On a vendor-shaped surface (/anthropic/…, /gemini/…, /bedrock/…) the body wears that vendor's error envelope instead; the x-ace-error header is the same everywhere.

Is it ACE or the provider?

x-ace-error is present only on errors ACE originated. A vendor error relayed from upstream — a real provider 429, a provider 401 for a bad pass-through key — carries no x-ace-error, and its own type and code mean what the provider says. Read the header before deciding whether to retry, re-mint a key or surface the error.

Other 504 errors

  • gateway_timeout: Request deadline exceeded (ACE_REQUEST_DEADLINE_S); safe to retry.