# Route by explicit model ID, with operational boundaries you can inspect

> KeepRouter routes a request from its public model ID to an eligible configured channel. The public response keeps the requested canonical identity, while route health and availability remain operational concerns rather than hidden marketing claims.

_Last reviewed 2026-08-15 · [Editorial review](https://keeprouter.com/editorial-policy#editorial-team)_

## Explicit selection first

Every request names a model from the live catalog. That makes application behavior reviewable: the model ID appears in configuration, request logs, usage reports, and the public model page. KeepRouter does not require a vague “smart” alias that can change quality or price without an application decision.

## How a route is chosen

The gateway checks authentication, key restrictions, published price, route compatibility, and configured channel health before forwarding a request. When more than one eligible route is configured, routing can use available candidates according to gateway policy. A successful response is normalized back to the public model identity so an upstream version label does not leak into your application's model accounting.

## What routing does not guarantee

A configured route is not a perpetual availability promise. Provider incidents, rate limits, regional restrictions, parameter incompatibility, and exhausted account credit can still fail a request. The public [status page](/status) reports KeepRouter database and routing-configuration health; it deliberately does not claim that every upstream model was probed.

Production clients should:

- set connection and overall timeouts;
- retry only safe transient failures with jitter;
- avoid retrying authentication, validation, or insufficient-credit errors;
- preserve idempotency for any tool or side-effect workflow;
- record the requested model and request ID;
- choose an application-owned fallback only after testing semantic differences.

## Stable public IDs and rolling backends

Some model makers expose a stable API ID while updating the backend revision. KeepRouter catalogs the callable stable ID. Dated or provider-internal labels are not automatically separate public products. This keeps keys, prices, logs, and model pages aligned around what a customer actually sends.

## Design fallbacks as product behavior

An automatic fallback can keep an endpoint alive while changing output style, context limits, tool behavior, or cost. Decide which transitions are acceptable per task, cap the maximum price, and surface a fallback event to your application telemetry. Availability is useful only when the resulting response still meets the product contract.

## Frequently asked questions

### Does KeepRouter automatically choose any model?

No. The request names a public model ID. Routing selects an eligible configured channel for that ID, not an unrelated model.

### Does the status page probe every upstream model?

No. It reports gateway database, schema, and routing-configuration health. A real model call is separate evidence.

### Why keep stable model IDs?

Stable callable IDs keep configuration, key policy, pricing, logs, and public documentation aligned when an upstream rolls backend revisions.

### Should my app still implement retries?

Yes. Use bounded retries for transient failures and never assume routing removes the need for timeout, idempotency, and error policy.

## Sources reviewed

1. [KeepRouter OpenAPI](https://keeprouter.com/api/openapi.json)
2. [KeepRouter live model catalog](https://keeprouter.com/models)
3. [KeepRouter service status](https://keeprouter.com/status)

## Related guides

- [LLM routing vs load balancing: four policies teams often confuse](https://keeprouter.com/blog/llm-routing-vs-load-balancing.md)
- [API observability](https://keeprouter.com/features/api-observability.md)
- [status](https://keeprouter.com/status.md)
- [errors](https://keeprouter.com/docs/errors.md)

## Inspect the route contract before production

Choose a model, run a bounded request, then review status, model identity, tokens, cost, and latency.

[Create a free key](https://keeprouter.com/login?returnTo=%2Fconsole%2Fkeys%3Fmodel%3Dfree) · [Live models and pricing](https://keeprouter.com/models.md)
