> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ModelReasoning

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

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `DefaultEffort` | optionalnullable.OptionalNullable\[[components.DefaultEffort](../../models/components/defaulteffort.mdx)] | :heavy\_minus\_sign: | N/A | medium |
| `DefaultEnabled` | `*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. | |
| `SupportedEfforts` | optionalnullable.OptionalNullable\[\[][\*components.ReasoningEffort](../../models/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. | |
| `SupportsMaxTokens` | `*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. | |
