> For the complete documentation index, see [llms.txt](https://infronai.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://infronai.gitbook.io/docs/features/presets.md).

# Presets

Save and reuse model and provider routing settings across API requests.

Presets let you save a reusable routing configuration once and apply it consistently across API requests.

Use a preset when you want the same model, service tier, provider routing, performance, or compliance settings to be reused without adding the full configuration to every request.

## What is a preset?

A preset is a named collection of optional request settings. Each configuration section can be included or left out:

* **Models** — Limit the preset to one model. Leave this section off to allow any model.
* **Service tier** — Select Standard, Flex, or Priority.
* **Provider routing** — Configure provider sorting, provider allow and ignore lists, provider order, and fallbacks.
* **Advanced settings** — Set preferred throughput, latency, time to first token, and accepted quantizations.
* **Compliance** — Restrict routing to Zero Data Retention (ZDR) providers or providers that do not train on your data.

Only included settings are added to the preset. Settings you leave out continue to use the request or Infron defaults.

## Quick start

1. Open **Developer >** [**Presets**](https://infron.ai/dashboard/presets) in the Infron Dashboard.
2. Select an Infron preset or click **New Preset**.
3. Give the preset a name. Infron automatically generates its identifier.
4. Turn on only the configuration sections you want the preset to control.
5. Save the preset.
6. Reference it in an API request or apply it to an API key.

<figure><img src="https://3822312837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ9C9AjT7j46HAcQrOVWw%2Fuploads%2Flie0NStb6bCHEM1crv41%2Fimage.png?alt=media&amp;token=eda8cee5-93b1-4e2a-beee-27c78ef98879" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3822312837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ9C9AjT7j46HAcQrOVWw%2Fuploads%2FnLHzxGtbDzz6Y5HzUFpG%2Fimage.png?alt=media&amp;token=7b42cac7-cda5-4453-9a2c-504e5fb08ed4" alt=""><figcaption></figcaption></figure>

## Configure a preset

### Basics

Every preset has:

* **Name** — The human-readable name shown in the Dashboard.
* **Identifier** — The stable value used by the API.
* **Description** — An optional explanation of when to use the preset.

### Models

Include Models to restrict the preset to one selected model. Leave it off to allow any model.

### Service tier

Choose the provider service tier used by the preset:

* **Standard** — The default balance of availability, cost, and latency.
* **Flex** — Lower-cost capacity that may have higher latency or lower availability.
* **Priority** — Faster priority capacity where supported.

Service tier availability depends on the requested model and provider. If Flex or Priority is unavailable, the request falls back to Standard.

### Provider routing

Use Provider routing to control how eligible providers are selected:

| Setting              | Behavior                                                                                                                           |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **Sort**             | Prioritize providers by lowest price, highest throughput, or lowest latency. Leave it as `--` to use the default routing strategy. |
| **Providers only**   | Limit routing to the selected providers.                                                                                           |
| **Providers ignore** | Exclude the selected providers.                                                                                                    |
| **Provider order**   | Try selected providers in the specified order.                                                                                     |
| **Allow fallbacks**  | Allow other eligible providers when the preferred provider cannot serve the request.                                               |

### Advanced settings

Advanced settings let you express preferred performance characteristics and accepted endpoint formats, including minimum throughput, maximum latency, maximum time to first token, and quantization.

These preferences are evaluated together with the model and provider filters in the preset.

### Compliance

* **ZDR providers only** restricts routing to endpoints with a Zero Data Retention policy.
* **No data training providers only** restricts routing to providers that do not train on request data.

ZDR is the stricter requirement. Enabling ZDR providers only automatically enables and locks No data training providers only.

## Use a preset

You can use a preset in two ways.

### Reference a preset in an API request

<figure><img src="https://3822312837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ9C9AjT7j46HAcQrOVWw%2Fuploads%2FQPjDKHAzUvWbOkzL7TH7%2Fimage.png?alt=media&amp;token=e437e425-ae4d-4537-8247-e9c1deb6c1ef" alt=""><figcaption></figcaption></figure>

Add the preset identifier to the request body:

```json
"preset": "infron-lock-in-providers-with-enterprise-discounts"
```

Here is a complete Chat Completions request using the preset:

{% tabs %}
{% tab title="Python" %}

```python
import requests

headers = {
    "Authorization": "Bearer <API_KEY>",
    "Content-Type": "application/json",
}

response = requests.post(
    "https://llm.onerouter.pro/v1/chat/completions",
    headers=headers,
    json={
        "model": "openai/gpt-5.6-terra",
        "messages": [
            {"role": "user", "content": "Hello"},
        ],
        "preset": "infron-lock-in-providers-with-enterprise-discounts",
    },
)
```

{% endtab %}

{% tab title="cURL" %}

```bash
curl https://llm.onerouter.pro/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d '{
    "model": "openai/gpt-5.6-terra",
    "messages": [
      {
        "role": "user",
        "content": "Hello"
      }
    ],
    "preset": "balanced"
  }'
```

{% endtab %}
{% endtabs %}

Use the identifier shown in the preset's details, not its display name.

### Apply a preset to an API key

If all requests made with an API key should use the same preset, apply the preset directly to that key. This avoids changing your application code.

1. Open the preset in **Developer >** [**Presets**](https://infron.ai/dashboard/presets).
2. Click **Apply to API key**.
3. Review each API key and its current preset.
4. Click **Apply** next to the key you want to update.

An API key can have one preset at a time. Applying a different preset replaces the key's existing preset; it does not change the preset assignments of other API keys.

Keys already using the selected preset are marked **Applied**.

<figure><img src="https://3822312837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ9C9AjT7j46HAcQrOVWw%2Fuploads%2FLTgfpsu2Wx0Y5lcoHGL0%2Fimage.png?alt=media&amp;token=2d243eee-4bc8-443c-a730-23e12e07fdd1" alt=""><figcaption></figcaption></figure>

## How settings are resolved

When more than one configuration source is present, Infron uses this order of precedence:

1. Explicit fields in the API request
2. The preset referenced by the request's `preset` field
3. The preset applied to the API key

## Default Infron presets

Infron may add ready-to-use presets to your library:

| Preset                                          | Intended behavior                                                           |
| ----------------------------------------------- | --------------------------------------------------------------------------- |
| **Prioritize lowest latency**                   | Sorts eligible providers by lowest latency.                                 |
| **Prioritize highest throughput**               | Sorts eligible providers by highest throughput.                             |
| **Prioritize lowest price**                     | Sorts eligible providers by lowest price.                                   |
| **Zero Data Retention Enforcement**             | Routes requests only to Zero Data Retention and no-data-training providers. |
| **Lock in providers with enterprise discounts** | Routes requests only to providers with enterprise discounts.                |

Infron may also create and assign a preset specifically for your account. It appears with the other Infron presets in your library.

## Manage presets

Presets you create are visible only in your own preset library. Your library also includes presets created by Infron for your account.

Depending on your role, you can view, apply, create, edit, duplicate, or delete presets. Changes are recorded in the preset's change history.

Deleting a preset that is assigned to an API key or referenced by an integration can interrupt requests that depend on it. Review its API key assignments before deleting it.

## Related documentation

* Inference Provider Routing
* Zero Data Retention


---

# 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://infronai.gitbook.io/docs/features/presets.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.
