> For the complete documentation index, see [llms.txt](https://docs.kontinent.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kontinent.ai/models-and-routing/availability.md).

# Maximum availability

Kontinent targets **99.99% availability** by spreading each model across multiple providers. If one provider goes down, another takes over automatically. Your request keeps working; you never wire up failover yourself.

## How it works

Every model can declare a chain of routes: a **primary** provider and one or more **standby** providers. On each request, Kontinent assembles a candidate list, the primary first and then its fallbacks, and works down it.

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><h4><i class="fa-circle-1" style="color:$primary;">:circle-1:</i></h4></td><td><strong>Primary</strong></td><td>The default route. Handles the request whenever it is healthy.</td></tr><tr><td><h4><i class="fa-circle-2" style="color:$primary;">:circle-2:</i></h4></td><td><strong>Standby</strong></td><td>Next in line. Takes over the instant the primary can't serve the request.</td></tr><tr><td><h4><i class="fa-circle-3" style="color:$primary;">:circle-3:</i></h4></td><td><strong>Standby</strong></td><td>A further fallback, for the same logical model, on a different provider.</td></tr></tbody></table>

## When does a route fail over?

If an upstream returns `429`, a `5xx`, or a connection error, Kontinent retries the next provider in the chain, transparently, before any bytes reach you.

{% hint style="info" %}
For **streaming** requests, failover happens **before the first byte** is streamed. Once the first token is out, an upstream failure surfaces as a dropped connection mid-stream, so handle a truncated stream gracefully. See [Streaming](/features/streaming.md).
{% endhint %}

The result: a single provider outage, rate-limit spike, or regional hiccup is absorbed by the next route in the chain instead of turning into a failed request for you.

## One id, many routes

Because failover is keyed to the **logical model id**, your code never changes. `anthropic/claude-opus-4.8` might be served by Bedrock today and Vertex during an incident. Same request, same response shape either way.

| Route   | Role    | Behavior                                      |
| ------- | ------- | --------------------------------------------- |
| Bedrock | Primary | Serves the request while healthy.             |
| Vertex  | Standby | Takes over on `429`, `5xx`, or connect error. |
| Azure   | Standby | Second failover, same logical model.          |

## What you don't have to build

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><h4><i class="fa-arrows-rotate" style="color:$primary;">:arrows-rotate:</i></h4></td><td><strong>No retry glue</strong></td><td>Provider retries and backoff live in the gateway, not your app.</td></tr><tr><td><h4><i class="fa-shuffle" style="color:$primary;">:shuffle:</i></h4></td><td><strong>No provider juggling</strong></td><td>One id resolves to whichever route is healthy right now.</td></tr></tbody></table>

{% hint style="info" %}
Rate limiting is **fail-open**: if our limiter's backing store has trouble, your requests are never blocked by it. A separate `429 upstream_rate_limited` means a provider throttled us, so retry with backoff. See [Rate limits & credits](/features/rate-limits.md).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kontinent.ai/models-and-routing/availability.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
