Skip to main content
Wardin routes requests to the correct provider based on the model name in the request. You don’t need to change the endpoint — just use the model name.

Supported providers

Every provider is reached through the same inbound endpoint — the Anthropic Messages API format at /v1/messages — with the target model’s own name in the model field. There is no separate inbound protocol per provider.

Model routing

The gateway resolves modelprovider automatically:
Routing is by model name only — there is no per-request provider override header. To target a specific provider, use one of its model names.

Getting an API key

Wardin never issues provider keys — you bring your own (BYOK). Create one in the provider’s own console, then paste it into Console → Providers (or the onboarding Connect your upstream step). Each link below goes to the provider’s official instructions, which stay current with their UI:
The key is shown once in the provider’s console — copy it immediately. It is the upstream secret; your team calls Wardin with a virtual key (wardin_sk_…), and the gateway swaps in this provider key behind the scenes.

Provider credentials

Provider credentials are stored encrypted (AES-256-GCM) in Wardin’s control plane, never in client code. Connect, test, rotate, or disconnect any of the five in Console → Providers — the same /v1/providers API backs all of them:
  • Anthropic: API key
  • OpenAI: API key
  • AWS Bedrock: Access key ID + secret access key + region
  • Google Vertex / Gemini: Gemini API key from Google AI Studio
  • OpenRouter (in development): API key — gated behind per-tenant opt-in
Rotations take effect on the gateway within its credential-refresh window — no redeploy.

Fallbacks and retries

When a provider returns a 5xx or a rate-limit error, the gateway automatically retries with backoff and fails over across your other connected providers, with a per-provider circuit breaker to avoid hammering an unhealthy upstream. The model’s home provider is always attempted first. Two things to know:
  • Streaming requests are never retried or failed over — a partial stream can’t be safely replayed. They go straight to the model’s home provider.
  • Fallback decisions are logged to ClickHouse, and cost is attributed to the provider that actually served the request.

Per-provider cost tracking

The dashboard breaks down spend by provider. When a request falls back to a secondary provider, cost is attributed to the provider that actually served it.

Provider-native features

Anthropic prompt caching

Pass cache_control breakpoints as normal — the gateway forwards them unmodified. Wardin parses cache_creation_input_tokens and cache_read_input_tokens separately so cost accounting is accurate.

OpenAI function calling / tools

Fully supported. Tool-call requests bypass Wardin’s semantic cache (exact-match cache still applies if temperature=0).

Streaming

All providers support streaming via SSE. The gateway transparently proxies the stream.