> 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/reference/limits.md).

# Limits & conventions

There is no configuration file to maintain. Kontinent is configured by the key you send and the model id you address. What follows are the values the gateway enforces on every request.

## Requests

| Limit             | Value                             | Notes                                                          |
| ----------------- | --------------------------------- | -------------------------------------------------------------- |
| Request body size | 2 MiB                             | Larger bodies return `400 invalid_request`.                    |
| Required fields   | `model`, `messages`               | A missing `model` returns `400 invalid_request`.               |
| Model id format   | `provider/model`                  | e.g. `mistral/mistral-large-latest`. Unknown ids return `404`. |
| Auth              | `Authorization: Bearer sk-kt-...` | Required on everything except `/healthz`.                      |

## Throughput and credits

| Limit                 | Value                           | Notes                                                          |
| --------------------- | ------------------------------- | -------------------------------------------------------------- |
| Rate limit            | Per key, in requests per minute | Sliding window of two 1-minute buckets.                        |
| Limiter behavior      | Fail-open                       | Infrastructure trouble never blocks your requests.             |
| Credit check          | Optimistic                      | A small overdraft, bounded by your RPM, is possible by design. |
| Credit reconciliation | About 60 s                      | Background worker; a top-up lifts suspension immediately.      |
| Exhausted balance     | `402 insufficient_credits`      | Hard failure until a top-up lands.                             |

See [Rate limits & credits](/features/rate-limits.md) for the full behavior.

## Timeouts

| Timeout                    | Value      | Notes                                                                               |
| -------------------------- | ---------- | ----------------------------------------------------------------------------------- |
| Overall stream deadline    | None       | Streams may run as long as the provider keeps sending.                              |
| Upstream response headers  | 300 s      | Time until the provider sends headers. For non-stream this is the whole generation. |
| Idle upstream (stream)     | 90 s       | Cut after 90 s of silence; provider chunks act as keep-alives.                      |
| Idle at the load balancer  | 300 s      | Applies behind the gateway.                                                         |
| Key revocation propagation | About 30 s | The auth cache TTL.                                                                 |

## Availability

| Property            | Value                                      |
| ------------------- | ------------------------------------------ |
| Availability target | 99.99%                                     |
| Failover triggers   | Upstream `429`, `5xx`, connection errors   |
| Failover window     | Before the first streamed byte             |
| Route chain         | One primary, one or more standby providers |

See [Maximum availability](/models-and-routing/availability.md).

## Money and pricing

| Convention    | Value                                                     |
| ------------- | --------------------------------------------------------- |
| Money unit    | Integer micro-EUR: 1 EUR = 1,000,000 µEUR                 |
| Price unit    | Per million tokens, split into input and output rates     |
| Billing model | Prepaid; each request debits the exact cost of its tokens |
| Rounding      | None. Integers throughout, no floating point in billing   |

## Sovereignty tiers

| Tier        | Meaning                                                          |
| ----------- | ---------------------------------------------------------------- |
| `strict`    | Served by an **EU-owned** provider.                              |
| `pragmatic` | Served from an **EU region** of a provider with a non-EU parent. |

## Model kinds

| Kind        | Endpoint                    |
| ----------- | --------------------------- |
| `chat`      | `POST /v1/chat/completions` |
| `embedding` | `POST /v1/embeddings`       |

## Routing

| Setting                | Range      | Notes                                                                                       |
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------- |
| Smart router           | —          | Classifies each request and picks among the models you configured.                          |
| Model pool             | You choose | Frontier, open-weight, or mixed. Sovereignty still applies.                                 |
| Cost-quality threshold | 1 to 10    | Optional. Used when the pool mixes cheaper open-weight models with stronger ones.           |
| Custom routers         | —          | Other methods: latency, throughput, error rate. Combined with classification or used alone. |

See [Price & performance](/models-and-routing/price-performance.md).

## Retention

| Data                                   | Stored |
| -------------------------------------- | ------ |
| Prompt and completion bodies           | Never  |
| Token counts (prompt/completion/total) | Yes    |
| Latency and HTTP status                | Yes    |
| Model id and computed cost             | Yes    |

See [Privacy & retention](/privacy/privacy.md).


---

# 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/reference/limits.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.
