Providers
Providers are the upstream AI services that the gateway routes requests to. The Providers page lets you register provider credentials, monitor health, and test connectivity.
Provider List
The main view displays a card grid of all configured providers. Each card shows the provider name, type, status, model count, and health indicator. Click any card to open its detail page.
If no providers are configured, an empty state prompts you to add your first one.
Adding a Provider
Click Add Provider to open the creation modal. Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Name | Yes | A display name (e.g. “Production OpenAI”) |
| Type | Yes | The provider type — see supported types below |
| API Key | Yes | Your provider API key (stored encrypted) |
| Base URL | No | Custom endpoint URL; leave blank for the provider’s default |
Supported Provider Types
The creation form’s Type dropdown offers a curated set of provider slugs, including:
- Frontier / cloud:
openai,anthropic,google-gemini,azure-openai,xai,mistral,cohere,deepseek - Inference platforms:
groq,together-ai,perplexity,fireworks,replicate,ai21,huggingface,cerebras,sambanova - Media / specialty:
stability,comfyui,elevenlabs,assemblyai,whisper-local - Self-hosted:
ollama,vllm,lmstudio,localai,llamacpp - Custom:
custom-openai(OpenAI-compatible) andcustom-anthropic(Anthropic-compatible) for non-standard endpoints
The gateway ships 38 provider adapters in total. A handful of cloud adapters (e.g. AWS Bedrock, Vertex, Moonshot, Zhipu, DashScope, DeepInfra, Cloudflare, Lambda Labs, Voyage, Deepgram, Cartesia) are available in the gateway but not yet surfaced in this dropdown; use the closest Custom (OpenAI-compatible) type with the appropriate base URL to register them manually.
Provider Detail Page
Clicking a provider card navigates to its detail page, which has three tabs:
Settings Tab
Edit the provider’s name, status (active / inactive), API key, base URL, and per-provider rate limit (requests per minute). This tab also exposes free-tier configuration — enable a free tier and set requests/day, tokens/day, and the reset cadence so free-tier-first routing can track remaining quota. Changes are saved via PUT /api/admin/providers/:id.
Models Tab
Lists all models registered under this provider, showing each model’s ID, capabilities (e.g. chat, embeddings, vision), and status. You can enable/disable all models in bulk (via POST /api/admin/models/bulk-update) and toggle each model’s free-tier eligibility here. Models are otherwise managed on the dedicated Models page.
Health Tab
Displays health metrics for the provider:
- Status —
healthy,degraded,unhealthy, orunknown - Latency — average response time in milliseconds
- Error Rate — percentage of failed requests (currently shown as
N/Auntil per-provider error-rate tracking is populated)
If no health data is available, the tab prompts you to run a connection test.
Testing Connectivity
Each provider card has a Test button, and the detail page has a Test Connection component. Testing sends a lightweight probe request through the gateway to the provider and returns:
success(boolean)latency(milliseconds)error(string, if the test failed)
Use this after adding a provider or rotating API keys to verify the connection before routing live traffic.
Provider Statuses
| Status | Meaning |
|---|---|
active | Provider is available for routing. |
inactive | Provider is disabled; no traffic will be sent. |
The settable status is active or inactive. degraded/unhealthy are health values (see the Health Tab), not statuses you set manually. Set a provider to inactive to temporarily remove it from routing without deleting its configuration.