# ProviderPreferences

When multiple model providers are available, optionally indicate your routing preference.


## Fields

| Field                                                                                                                                                                                                                                                                                                                                                     | Type                                                                                                                                                                                                                                                                                                                                                      | Required                                                                                                                                                                                                                                                                                                                                                  | Description                                                                                                                                                                                                                                                                                                                                               | Example                                                                                                                                                                                                                                                                                                                                                   |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allow_fallbacks`                                                                                                                                                                                                                                                                                                                                         | *OptionalNullable[bool]*                                                                                                                                                                                                                                                                                                                                  | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | Whether to allow backup providers to serve requests<br/>- true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.<br/>- false: use only the primary/custom provider, and return the upstream error if it's unavailable.<br/>                                                          |                                                                                                                                                                                                                                                                                                                                                           |
| `data_collection`                                                                                                                                                                                                                                                                                                                                         | [OptionalNullable[components.DataCollection]](../components/datacollection.md)                                                                                                                                                                                                                                                                            | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | Data collection setting. If no available model provider meets the requirement, your request will return an error.<br/>- allow: (default) allow providers which store user data non-transiently and may train on it<br/><br/>- deny: use only providers which do not collect user data.                                                                    | allow                                                                                                                                                                                                                                                                                                                                                     |
| `enforce_distillable_text`                                                                                                                                                                                                                                                                                                                                | *OptionalNullable[bool]*                                                                                                                                                                                                                                                                                                                                  | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used.                                                                                                                                                                                                   | true                                                                                                                                                                                                                                                                                                                                                      |
| `ignore`                                                                                                                                                                                                                                                                                                                                                  | List[[components.Ignore](../components/ignore.md)]                                                                                                                                                                                                                                                                                                        | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request.                                                                                                                                                                                                                     | [<br/>"openai",<br/>"anthropic"<br/>]                                                                                                                                                                                                                                                                                                                     |
| `max_price`                                                                                                                                                                                                                                                                                                                                               | [Optional[components.MaxPrice]](../components/maxprice.md)                                                                                                                                                                                                                                                                                                | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.                                                                                                                                                                                                                        |                                                                                                                                                                                                                                                                                                                                                           |
| `only`                                                                                                                                                                                                                                                                                                                                                    | List[[components.Only](../components/only.md)]                                                                                                                                                                                                                                                                                                            | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.                                                                                                                                                                                                                      | [<br/>"openai",<br/>"anthropic"<br/>]                                                                                                                                                                                                                                                                                                                     |
| `order`                                                                                                                                                                                                                                                                                                                                                   | List[[components.Order](../components/order.md)]                                                                                                                                                                                                                                                                                                          | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message.                                                                           | [<br/>"openai",<br/>"anthropic"<br/>]                                                                                                                                                                                                                                                                                                                     |
| `preferred_max_latency`                                                                                                                                                                                                                                                                                                                                   | [OptionalNullable[components.PreferredMaxLatency]](../components/preferredmaxlatency.md)                                                                                                                                                                                                                                                                  | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold.              | 5                                                                                                                                                                                                                                                                                                                                                         |
| `preferred_min_throughput`                                                                                                                                                                                                                                                                                                                                | [OptionalNullable[components.PreferredMinThroughput]](../components/preferredminthroughput.md)                                                                                                                                                                                                                                                            | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 100                                                                                                                                                                                                                                                                                                                                                       |
| `quantizations`                                                                                                                                                                                                                                                                                                                                           | List[[components.Quantization](../components/quantization.md)]                                                                                                                                                                                                                                                                                            | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | A list of quantization levels to filter the provider by.                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                           |
| `require_parameters`                                                                                                                                                                                                                                                                                                                                      | *OptionalNullable[bool]*                                                                                                                                                                                                                                                                                                                                  | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest.                                                                                                                                     |                                                                                                                                                                                                                                                                                                                                                           |
| `sort`                                                                                                                                                                                                                                                                                                                                                    | [OptionalNullable[components.Sort]](../components/sort.md)                                                                                                                                                                                                                                                                                                | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed.                                                                                                                                                                                                                                      | price                                                                                                                                                                                                                                                                                                                                                     |
| `zdr`                                                                                                                                                                                                                                                                                                                                                     | *OptionalNullable[bool]*                                                                                                                                                                                                                                                                                                                                  | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                        | Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used.                                                                                                                                                                                                               | true                                                                                                                                                                                                                                                                                                                                                      |