---
title: "ModelReasoning"
---

Reasoning effort configuration. Omitted for non-reasoning models and dynamic router models.


## Fields

| Field                                                                                                                                                              | Type                                                                                                                                                               | Required                                                                                                                                                           | Description                                                                                                                                                        | Example                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `default_effort`                                                                                                                                                   | [OptionalNullable[components.DefaultEffort]](../components/defaulteffort.mdx)                                                                                       | :heavy_minus_sign:                                                                                                                                                 | N/A                                                                                                                                                                | medium                                                                                                                                                             |
| `default_enabled`                                                                                                                                                  | *Optional[bool]*                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                 | Default reasoning enabled state when the client does not set `reasoning.enabled`.                                                                                  |                                                                                                                                                                    |
| `mandatory`                                                                                                                                                        | *bool*                                                                                                                                                             | :heavy_check_mark:                                                                                                                                                 | When true, reasoning cannot be disabled and effort "none" is rejected.                                                                                             |                                                                                                                                                                    |
| `supported_efforts`                                                                                                                                                | List[[Nullable[components.ReasoningEffort]](../components/reasoningeffort.mdx)]                                                                                     | :heavy_minus_sign:                                                                                                                                                 | Allowed reasoning effort values for this model, in descending effort order (highest first). Null means no allowlist — all gateway effort values are accepted.      |                                                                                                                                                                    |
| `supports_max_tokens`                                                                                                                                              | *Optional[bool]*                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                 | Present and `true` when the model accepts `reasoning.max_tokens` in requests (Anthropic-style) instead of or in addition to `reasoning.effort`. Omitted otherwise. |                                                                                                                                                                    |