AI API Reliability and SLAs: What 99.9% Uptime Really Means
Published 2026-08-16 · 2,208 words · 8 min read
Every AI application runs on a promise: the model API will be there when you call it. That promise is an SLA — a service level agreement — and most teams never read theirs until the provider goes down mid-demo. The hard truth is that AI API reliability is different from traditional SaaS reliability. A 99.9% SLA sounds reassuring, but it allows roughly 43 minutes of downtime per month, and with LLM providers the failures are rarely binary: the API stays up while latency triples, error rates climb, or the model silently degrades. This guide breaks down what AI API SLAs actually cover, how LLM APIs fail in the real world, and how to design redundancy and SLOs so your product survives provider incidents without your users ever noticing.
What 99.9% Uptime Actually Means: The Math Nobody Checks
Availability percentages sound abstract until you convert them into wall-clock time. The standard table every engineering team should internalize:
| Availability | Downtime per month | Downtime per year | Typical use |
|---|---|---|---|
| 99.0% | 7.3 hours | 3.65 days | Best-effort services |
| 99.5% | 3.65 hours | 1.83 days | Internal tools |
| 99.9% | 43.8 minutes | 8.77 hours | Production APIs |
| 99.95% | 21.9 minutes | 4.38 hours | High-availability APIs |
| 99.99% | 4.4 minutes | 52.6 minutes | Mission-critical |
Three implications follow. First, a single 40-minute LLM provider outage can consume your entire monthly downtime budget in one event — multi-provider redundancy is not a luxury, it is the only way to exceed the reliability of your least reliable dependency. Second, SLAs are measured by the provider on their definition of availability, which usually excludes scheduled maintenance and counts partial degradation differently than you would. Third, uptime percentages say nothing about the failure modes that actually hurt: slow responses, error spikes, and quality regressions all happen while the status page shows green.
How LLM APIs Actually Fail: Beyond Binary Outages
Classic API monitoring assumes a service is either up or down. LLM APIs fail along a spectrum, and the failure modes that matter most are the quiet ones:
- Hard outages: complete unavailability, often 30-120 minutes, caused by datacenter issues, model rollout problems, or cascading overload. These are rare but catastrophic for single-provider apps.
- Rate-limit saturation (429s): the API is up but your keys are throttled. During demand spikes providers tighten per-key limits, so your traffic pattern — not just the provider's health — determines availability.
- Latency degradation: the API returns 200 OK but p95 time-to-first-token doubles or triples. For interactive products this is a user-visible outage without a single error code.
- Elevated error rates: 5xx and timeout rates climb to 2-5% during partial incidents. Many teams miss this because their alert threshold is set for total outage.
- Silent quality regression: the model changes, prompt handling shifts, or the provider rolls out a degraded variant under load. Responses are fast, well-formed, and wrong.
- Regional and model-specific failures: one model family goes down while the rest of the API stays healthy. If you hard-code a single model, you inherit that model's availability.
Design for all six. A reliability strategy built only around hard outages will fail on the other five — especially latency degradation, which is the most common way LLM APIs hurt production apps in practice.
Reading Provider SLAs: What They Promise (and Don't)
Major LLM providers publish SLAs with careful language. Before you compare them, know what to look for:
- What is covered: most SLAs cover API availability (HTTP 5xx and timeouts) but exclude errors in the model output itself. A hallucination is never an SLA breach.
- Credit structure: providers compensate with service credits — typically 10% of your monthly bill for 99.9% breach, scaling up for worse outages. Credits rarely exceed 50% of one month's spend, so the SLA is an insurance policy with a low payout cap, not a financial hedge for your business.
- Measurement window: availability is usually measured monthly and may exclude maintenance windows, force-majeure events, and incidents outside the provider's control (including upstream cloud providers).
- What you must do: to claim credits you typically must report the incident within 30 days and document the failure. Most teams never bother — the process is manual and the payout small.
The strategic takeaway: SLAs protect you against the financial cost of downtime, not the reputational cost. Your users do not care that you received a 10% credit; they care that the chatbot stopped answering. Reliability engineering for LLM apps is about the latter.
Real-World Uptime Data: What Providers Actually Deliver
Status pages and independent monitors paint a more honest picture than SLA documents. Based on public status history through 2026:
| Provider | Stated SLA | Observed availability (typical range) | Notable failure patterns |
|---|---|---|---|
| OpenAI API | 99.9% (platform) | 99.5-99.95% | Peak-load 429 storms; occasional multi-hour incidents during model launches |
| Anthropic | 99.9% (API) | 99.5-99.95% | Latency degradation during demand spikes; regional capacity limits |
| Google Gemini | 99.9% (services) | 99.5-99.9% | Quota tightening and 429s on shared tiers; per-model availability varies |
| Azure OpenAI | 99.9% (regional) | 99.5-99.99% | Provisioned throughput limits; regional incidents isolated by design |
| Amazon Bedrock | 99.9% (regional) | 99.5-99.99% | Multi-model failover built in; dependent on underlying model providers |
| Aggregators / gateways | Varies (often 99.9%) | 99.5-99.99% | Inherit upstream outages unless multi-provider routing is built in |
Two patterns stand out. First, real-world availability clusters around 99.5-99.95% — better than many teams fear, worse than the 99.9% sticker. Second, the dominant failure mode is not total outage but degradation: elevated latency, tightened rate limits, and partial errors. DrAI's gateway observes this directly across its upstream channels, and it is why the platform routes around degraded providers automatically rather than waiting for a status page update.
Multi-Provider Redundancy: The Only Real SLA Insurance
If your reliability target is higher than a single provider's observed availability, you need at least two providers. The architecture is straightforward:
# Fallback routing: try primary, fail over to secondary on error or timeout
PRIMARY = {"base_url": "https://api.provider-a.com/v1", "model": "gpt-5-mini"}
FALLBACK = {"base_url": "https://api.provider-b.com/v1", "model": "claude-haiku"}
def chat(messages, timeout=30):
for provider in (PRIMARY, FALLBACK):
try:
client = OpenAI(api_key=provider["api_key"],
base_url=provider["base_url"])
return client.chat.completions.create(
model=provider["model"], messages=messages,
timeout=timeout)
except (TimeoutError, RateLimitError, InternalServerError) as e:
print("failover: %s -> %s (%s)" % (provider["base_url"], FALLBACK["base_url"], type(e).__name__))
continue
raise RuntimeError("all providers failed")
Production-grade fallback needs more than try/except:
- Fail over on latency, not just errors: if the primary's p95 TTFT exceeds your budget for 60 seconds, route to the secondary. Latency failure is the most common and the easiest to detect.
- Circuit breakers: after N consecutive failures, stop calling the primary for a cooldown period (exponential backoff: 30s, 60s, 120s...). Without this, every request pays the full timeout before failing over.
- Model-family mapping: keep a compatibility map (e.g., gpt-5-mini → claude-haiku → gemini-2.5-flash → qwen-32b) so fallback switches both provider and model sensibly. Never fall back to a dramatically weaker model for tasks that need reasoning.
- Idempotency and retry budgets: retries during an outage amplify load on both the provider and your bill. Cap total attempts per request (2-3) and add jitter.
Aggregator gateways implement this centrally: DrAI routes each request to a healthy upstream, retries failed channels with backoff, and switches models per channel pricing and health — so your code keeps calling one endpoint while the gateway handles provider roulette.
Degradation Strategies: Staying Up When the Provider Doesn't
When every provider is struggling — which happens during industry-wide events — graceful degradation beats hard failure. A tiered degradation ladder, applied in order as conditions worsen:
- Model downgrade: switch from a large reasoning model to a faster small model. A slightly worse answer beats no answer.
- Cache serving: serve exact or fuzzy-matched cached responses for repeated queries. Cache hit rates of 20-40% are typical for support bots and documentation assistants.
- Reduced scope: for long documents, summarize the first N chunks instead of the full context; for agents, disable tool calls and return direct answers.
- Queue and batch: non-interactive workloads (summaries, embeddings, batch classification) can be queued and processed when the API recovers. Never queue interactive requests — fail fast instead.
- Static fallbacks: for critical paths, keep canned responses or rule-based fallbacks (FAQs, keyword matching) that maintain basic functionality. Yes, it's retro — it also keeps your checkout flow alive.
Each rung should be triggered by explicit conditions (error rate, latency percentile, circuit-breaker state) and logged, so post-incident reviews show exactly which degradation level served which traffic.
Designing SLOs for LLM Features: Beyond Uptime
An SLO (service level objective) is the reliability target you commit to internally — usually stricter than the provider's SLA because your users feel failures the provider's contract ignores. For LLM features, define SLOs across four dimensions:
| Dimension | Example SLO (30-day window) | Why it matters |
|---|---|---|
| Availability | 99.5% of requests return a valid completion | Hard floor; includes provider + gateway + your code |
| Latency | 95% of responses complete < 10s; p95 TTFT < 2s | Perceived reliability for interactive features |
| Error budget | < 2% error rate (429/5xx/timeout) per day | Catches partial degradation early |
| Quality | < 5% of sampled outputs fail eval rubric | Guards against silent regression |
Then manage them with error budgets and burn rates:
- Error budget: 100% minus the availability SLO. For a 99.5% SLO you have 0.5% budget per month (~3.6 hours of degraded traffic). Track consumption in real time.
- Burn rate alerts: if the budget is burning faster than 14.4x the monthly rate for an hour, page someone. Fast burn detection is what turns a 99.5% SLO into an actually-enforced promise.
- Multi-window evaluation: evaluate SLOs over 1-hour, 7-day, and 30-day windows so a bad hour triggers action without a bad month being required.
Document the SLOs in your API docs and — for enterprise customers — in your own contracts. Buyers increasingly ask for documented SLOs from AI vendors; having them is a sales advantage, not just an engineering artifact.
Monitoring the Right Signals: The SLO Tripwire
You cannot manage reliability you cannot measure. Every LLM integration should emit, at minimum:
- Per-request status, model, latency phases (TTFT, inter-token, total), and token counts
- Error classification: timeout, 429, 5xx, 4xx, malformed output
- Failover events: which provider was tried, which succeeded, at what cost
- Cache hit/miss and degradation level served
From these, alert on the SLO conditions above rather than raw thresholds. A complete monitoring setup is covered in our AI API monitoring and observability guide; the reliability-specific addition is tracking failover activity — if your secondary provider is handling more than 5% of traffic in a week, your primary is degrading and you should investigate before it becomes an incident.
The Incident Playbook: Responding When the LLM Goes Down
Even with redundancy, incidents happen. A rehearsed playbook cuts time-to-recovery dramatically:
- Detect (target: < 1 minute): burn-rate alerts and failover counters trigger automatically. Never rely on user complaints.
- Verify (target: < 3 minutes): confirm it's the provider, not your code — check the provider status page, run a direct API call from a clean environment, and compare against gateway health data.
- Activate fallback (target: < 5 minutes): if automatic failover hasn't engaged, force routing to the secondary provider or activate the degradation ladder.
- Communicate (target: < 10 minutes): post a status-page notice and in-app banner. Users forgive known outages; they abandon silent degradation.
- Protect cost: during outages, retry storms spike token bills. Rate-limit client retries at the gateway and pause non-critical batch jobs.
- Post-mortem (within 48h): record time-to-detect, time-to-failover, time-to-recovery, and which degradation rungs served traffic. Each incident should measurably shorten the next one.
Buy vs. Build for Reliability: Gateway or In-House?
Teams building on raw provider APIs spend weeks on fallback logic, circuit breakers, and cost control — then maintain it forever. The alternatives:
| Approach | Pros | Cons |
|---|---|---|
| Direct provider API + in-house reliability layer | Full control; no intermediary; direct support relationship | Months of engineering; you absorb every provider outage; per-provider SDKs and quirks |
| Multi-provider gateway (DrAI, LiteLLM, Portkey, etc.) | Built-in failover, routing, monitoring, unified billing; single OpenAI-compatible endpoint | Gateway becomes a dependency; verify its own availability and data handling |
| Cloud-managed AI services (Bedrock, Vertex, Azure OpenAI) | Enterprise SLAs, regional redundancy, procurement-friendly | Vendor lock-in; pricing complexity; still single-family in practice |
Most teams under ~50k requests/day are better served by a gateway than by building reliability infrastructure themselves — the engineering hours are better spent on product. Whatever you choose, keep your code behind an OpenAI-compatible client interface so switching routing layers stays a configuration change, not a rewrite.
The Reliability Checklist for AI Products
- Convert every provider SLA into minutes per month and compare with your product's real requirement
- Identify your six LLM failure modes and confirm a mitigation exists for each
- Deploy at least two providers for any customer-facing feature, with latency-based failover
- Implement circuit breakers with exponential backoff on every provider client
- Define availability, latency, error-budget, and quality SLOs with burn-rate alerting
- Build the degradation ladder: model downgrade → cache → reduced scope → queue → static fallback
- Monitor failover activity and provider health as first-class signals
- Rehearse the incident playbook quarterly; measure time-to-failover after every incident
- Document your SLOs publicly — enterprise buyers ask
- Re-evaluate provider mix quarterly; the reliability landscape shifts fast
AI API reliability is a design decision, not a provider property. The teams that survive industry-wide LLM incidents are the ones that assumed their primary provider would fail and built the fallback path first. DrAI's gateway does the heavy lifting — multi-provider routing, automatic failover, and usage dashboards behind one OpenAI-compatible key. Start with a free account at sign in, or check pricing for usage-based plans that scale with you.
Start Building with DrAI Today
One OpenAI-compatible API key for GPT-5, Claude Opus 4, DeepSeek, Qwen, Llama and 40+ models — pay-as-you-go with no monthly fees.