Search docs

Find any page, endpoint, or guide.

Live provider health

Alpha
GEThttps://api.voxrouter.ai/v1/status

Report the current state of each provider: `available` (key configured) or `unavailable` (`reason: missing_api_key`). Cheap to serve — no upstream calls, just env-key presence per deployment. Safe to poll. Circuit-breaker state used to flow through this endpoint (`degraded`, `circuit_open`, `circuit_half_open`); it has been removed from the public surface because breaker state is a per-machine load-balancer implementation detail. Customers should retry transparently on 5xx and read the `X-VoxRouter-Breaker-State` response header if they need that signal. Internal observability flows through Honeycomb span attribute `vr.breaker.state`.

bash
curl https://api.voxrouter.ai/v1/status \
  -H "Authorization: Bearer $VOXROUTER_API_KEY"

Headers

AuthorizationstringRequired
Bearer token. Send as Authorization: Bearer pk_....

Response

Per-provider health snapshot.

json
{
  "providers": [
    {
      "id": "string",
      "state": "available",
      "reason": "missing_api_key"
    }
  ]
}
providersobject[]Required

Errors

Non-2xx responses return a JSON body with a machine-readable error code and an optional details string.

StatusMeaning
401Missing or invalid API key.
429Per-key rate limit or per-key concurrency limit exceeded. The `code` field on the body distinguishes the two (`rate_limit_exceeded` vs `concurrency_limit_exceeded`). `Retry-After` is seconds-from-now: a hard value until the rate-limit window resets, or a soft `1` hint for concurrency (slots free on request completion).
500Unexpected server error.