Search docs

Find any page, endpoint, or guide.

List providers and their models

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

Return the catalog of routable providers with the models each exposes. The catalog is near-static (published alongside the router code) and safe to cache on the client for hours. For live health (per-provider availability, circuit-breaker state, missing-key flags), call `GET /v1/status` instead — that endpoint is specifically sized and shaped for polling. Pricing is tracked in the source-of-truth catalog at `voxrouter/providers/` but is not returned on this endpoint yet. The response schema is additive; a `pricing` field will appear once commercial pricing is finalized.

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

Headers

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

Response

Provider catalog.

json
{
  "providers": [
    {
      "id": "elevenlabs",
      "name": "string",
      "website": "string",
      "models": [
        {
          "id": "eleven_turbo_v2_5",
          "name": "string",
          "response_formats": [
            "mp3"
          ]
        }
      ],
      "capabilities": {
        "supportedFormats": [
          "mp3",
          "pcm"
        ],
        "unwiredCapabilities": [
          "voice_cloning",
          "websocket_streaming"
        ],
        "quirks": [
          "string"
        ],
        "lastSmokeTest": "string"
      }
    }
  ]
}
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.