One endpoint. Twenty-one providers.
Zero downtime.
SoxAI sits between your application and 21 native provider adaptors. When a provider 429s or 5xxs, we route around it on the same request — your code never sees the error.
Routing built for production traffic
Eight reliability primitives, exposed as configuration. No custom retry code, no per-provider SDKs.
Health-score routing
Every channel carries a 0-100 health score updated per request. Soft-degrade at <20, hard-skip at ≤0, suspend at <40. Background probes every 5min auto-restore healthy upstreams.
Multi-channel fallback
Up to 3 fallback channels per request. 5xx, 429, connect errors, and 401/402/403 auth failures all trigger fallback to the next-best healthy channel — no manual retries.
Session sticky
Pin a conversation to one channel for context affinity. Auto-rebinds on 10 cumulative failures. Stored in Redis L2 cache so it survives across replicas.
Request transforms
Per-channel server-side rewrite of headers and body fields. Inject API keys, rewrite tools[], strip system prompts — all configured in the admin console, applied without code changes.
Model mapping rules
Route 'gpt-4o' to 'claude-sonnet-4-6', 'deepseek-r1' to 'deepseek-chat'. Per-channel model aliases let you swap providers without touching client code.
Suspend / restore
Operators can suspend a misbehaving channel from the console. Auto-suspended channels show up with last error + retry countdown. Manual restore in one click.
21 native adaptors
OpenAI, Anthropic, Gemini, Vertex AI, Bedrock, Azure, DeepSeek, Doubao, Moonshot, Qwen, Zhipu, MiniMax, Yi, Cohere, Mistral, xAI, Together, Groq, Baichuan, Ollama — plus OpenAI-compat passthrough for everything else.
Channel budgets
Cap monthly spend per channel. When the budget hits, route around it automatically. Operator alerts at 75% / 90% / 100% so you never overshoot.
How the routing decision happens
Per-channel health score drives selection. On 5xx / 429 / auth-failure, we pick the next-best healthy channel — within the same request.
Operator-facing channel console
Every upstream channel with priority, weight, status, and live health. Manual suspend / restore / probe in one click.

Drop-in OpenAI replacement
Change two strings. Your existing OpenAI SDK keeps working — and now talks to all 21 providers with automatic fallback under the hood.
When OpenAI 429s, your request lands on Azure. When Azure 429s, it lands on Bedrock. The client never knows.
from openai import OpenAI
client = OpenAI(
base_url="https://api.soxai.io/v1",
api_key="sk-soxai-...",
)
resp = client.chat.completions.create(
model="gpt-4o", # routes to OpenAI/Azure/etc
messages=[{"role": "user", "content": "hi"}],
)