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: whether it is `available`, `degraded` (half-open circuit-breaker probe in flight), or `unavailable` (circuit-breaker open, or API key not configured on this deployment). Safe to poll — cheap to serve (no upstream calls, just in-memory breaker state + env-key presence). Breaker state is per-process in-memory. Multi-replica deployments expose each replica's independent view; a client polling through a load balancer may observe flapping, which is a true signal of "some replicas see this provider as failing."

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.