A fallback is a policy decision, not just a retry
An AI API gateway can return a successful HTTP response after a primary model fails, but that does not prove the request met its original contract. A fallback model may have different tool-call syntax, context capacity, structured-output behavior, pricing, safety controls, or regional processing. The buyer should specify which properties must remain invariant before permitting a fallback. For example, a financial reconciliation workflow may require JSON schema adherence and an approved provider; an internal brainstorming assistant may tolerate a broader model set.
Classify failures first: provider 429, transport timeout, provider 5xx, authentication failure, invalid request, content-policy rejection, and an application-level invalid answer are different events. Blindly retrying a malformed request or an expired credential wastes time and money. A gateway that treats every error identically can turn a small incident into a larger one.
Compare actual vendor routing semantics
LiteLLM documents retries, per-deployment cooldowns, model-group routing, and weighted failover behavior. Its routing guide distinguishes fallback within a model group from escalation to another group, and describes deployment affinity and cache consistency across proxy instances. Those details matter when an application expects session continuity or a specific region.
Cloudflare AI Gateway documents versioned dynamic routes with conditional, rate-limit, budget-limit, and model nodes. Its documentation says dynamic routes accept an OpenAI chat-completions request shape; that is not evidence of universal compatibility with every native provider endpoint. The two products demonstrate different ways to express routing policy, not a measured reliability ranking. Test any other candidate, including AetherGate, against the same failure scenarios instead of inferring parity from a features page.
The retry budget must include cost and latency
Suppose an application normally sends one request. If a gateway makes two retries and then attempts another provider, one user action may produce several billable upstream attempts. Some failed attempts incur no inference charge, but partial streams, tools and provider-specific billing complicate that assumption. Capture the attempt count, charged tokens where known, and time spent per hop. Separate user-visible latency from internal provider latency.
Use a fixed total deadline rather than giving each fallback a full fresh timeout. For an interactive workflow, a fallback response arriving after the user has abandoned the action is not a successful recovery. Test exponential backoff with jitter and honor provider retry guidance. Under a shared upstream rate limit, synchronized retries from many clients can worsen congestion.
Streaming and side effects change the answer
A non-streaming request can often fail before any response reaches the caller. A streaming response is harder: after the first tokens are delivered, switching models can produce a contradictory continuation or break the output protocol. The safest default is to treat a started stream as committed and surface a controlled error if it fails, unless the application explicitly supports restart with a new response.
Tool-using agents add another hazard. A model may have already requested a payment, created a ticket or modified a record before the transport fails. Retrying the whole conversation can repeat the side effect. Design idempotency at the application/tool layer and track operation identifiers. Gateway retry configuration alone cannot guarantee exactly-once execution of external actions.
A practical acceptance test for an enterprise pilot
Prepare a fixed corpus of representative requests: plain chat, structured JSON, tool calls, long-context prompts and streaming. Record required models, allowed regions, cost ceiling and maximum latency for each class. Inject provider 429 and 5xx responses, a connection timeout, a malformed request, an expired upstream key and a failure after streaming begins. Compare observed behavior to the agreed contract.
For each test capture route decision, provider attempt count, final status, elapsed time, schema validity, billed usage where available and whether a side effect executed. Repeat under concurrency; single-request success does not prove shared budgets or cooldowns are consistent across instances. A useful vendor scorecard reports pass, fail or unverified per scenario. It should never assign a universal percentage reliability score from a handful of synthetic requests.
When not to enable automatic fallback
Disable cross-model fallback when a customer contract restricts model vendors or regions, when the replacement model lacks required tools or schemas, or when changing models would invalidate a safety or evaluation requirement. Prefer a clear failure over an apparently successful response that violates policy. In regulated workflows, approval of a provider is not the same as approval of every model hosted by that provider.
Before purchasing, ask vendors to export routing configurations and show audit evidence for each fallback decision. AetherGate's BYOK routing proposition may fit a multi-provider deployment, but production failover guarantees and incident containment must be independently demonstrated. The decision should rest on a repeatable pilot, not a promotional claim.