Full reference for every request parameter accepted by the OpenDunes chat completions endpoint.
Send parameters in the JSON body of POST /v1/chat/completions. Parameters are forwarded to the upstream provider as-is, so support is provider- and model-dependent — a model that doesn't recognise one ignores it.
| Type | string |
| Required | Yes |
The model to run. Use a provider/model slug from the model catalog, for example anthropic/claude-opus-4.8 or openai/gpt-5.4. The full list with DA pricing is at GET /api/models.
| Type | array |
| Required | Yes |
The conversation history as an ordered array of message objects. Each object has a role (system, user, assistant, or tool) and a content field. Content may be a plain string or an array of content parts (text and/or image URLs) for vision-capable models.
See Messages & roles for the full content-parts schema.
Type: array of strings · Optional · max 4 entries
Fallback chain. If the primary model errors or is rate-limited upstream, the request is retried with the next slug in this list, in order. Billing always reflects the model that actually served the response.
Provider-level failover within a single model happens automatically and does not need this parameter.
| Type | boolean |
| Default | false |
Set to true to receive tokens as server-sent events instead of waiting for the full completion. See Streaming.
| Type | integer |
| Default | Model-dependent |
Maximum number of tokens the model may generate. Setting this caps spending on a single request. If the model hits this limit, finish_reason will be "length". The OpenAI-style alias max_completion_tokens is also accepted and forwarded.
| Type | number |
| Range | 0 – 2 |
| Default | 1 |
Sampling temperature. Lower values (e.g. 0.2) make output more deterministic; higher values (e.g. 1.4) increase randomness. For tasks requiring reproducible outputs, use 0. Cannot be set simultaneously with top_p on some models.
| Type | number |
| Range | 0 – 1 |
| Default | 1 |
Nucleus sampling threshold. The model samples from the smallest set of tokens whose cumulative probability exceeds top_p. 1.0 means no filtering. OpenAI recommends altering either temperature or top_p, but not both.
The following parameters are forwarded to the upstream provider as-is. Support is provider- and model-dependent — a model that doesn't recognise one ignores it.
| Type | integer |
| Status | Forwarded (provider-dependent) |
Limits sampling to the top-K most probable tokens at each step. Not exposed by all providers.
| Type | number |
| Range | -2 – 2 |
| Status | Forwarded (provider-dependent) |
Reduces the likelihood of tokens that have already appeared frequently in the output. Positive values discourage repetition.
| Type | number |
| Range | -2 – 2 |
| Status | Forwarded (provider-dependent) |
Reduces the likelihood of tokens that have appeared at all in the output so far. Encourages introducing new topics.
| Type | number |
| Range | > 0 |
| Status | Forwarded (provider-dependent) |
Alternative repetition control used by some providers. Values above 1.0 penalize repetition; values below 1.0 encourage it.
| Type | number |
| Range | 0 – 1 |
| Status | Forwarded (provider-dependent) |
Minimum probability threshold relative to the top token. Tokens with probability below min_p × p(top token) are discarded.
| Type | number |
| Range | 0 – 1 |
| Status | Forwarded (provider-dependent) |
Alternative nucleus filter based on the absolute top-token probability. Tokens with probability below top_a × p(top token)² are discarded.
| Type | integer |
| Status | Forwarded (provider-dependent) |
If set, the model attempts deterministic sampling. Same seed + same prompt should produce the same output (best-effort; not guaranteed across versions).
| Type | object |
| Status | Forwarded (provider-dependent) |
Map of token IDs to bias values (-100 to 100). Use to ban specific tokens (-100) or boost them (100).
| Type | boolean |
| Status | Forwarded (provider-dependent) |
Return log probabilities for output tokens when true.
| Type | integer |
| Range | 0 – 20 |
| Status | Forwarded (provider-dependent) |
Number of most-likely tokens to return log probabilities for at each position. Requires logprobs: true.
| Type | object |
| Status | Forwarded (provider-dependent) |
Controls output format. Set { "type": "json_object" } to request guaranteed JSON output (structured outputs). See Features for details.
| Type | string or array |
| Status | Forwarded (provider-dependent) |
One or more sequences at which the model will stop generating. The stop string itself is not included in the output.
| Type | array |
| Status | Forwarded (provider-dependent) |
Array of tool definitions the model may call. Each tool has a type ("function"), a name, a description, and a JSON Schema parameters object.
| Type | string or object |
| Status | Forwarded (provider-dependent) |
Controls whether the model calls a tool. "auto" (default), "none", "required", or a specific { "type": "function", "function": { "name": "..." } }.
| Type | boolean |
| Default | true |
| Status | Forwarded (provider-dependent) |
Set to false to force the model to call at most one tool per turn.
| Type | object |
| Status | Forwarded (provider-dependent) |
The unified control for extended chain-of-thought reasoning on models that support it. Accepts:
effort — "high", "medium", "low" (some models also accept "max", "xhigh", "minimal", "none").max_tokens — an explicit thinking-token budget, for models that support direct allocation. Use effort or max_tokens, not both.exclude — true makes the model reason internally without returning the reasoning text.enabled — true turns reasoning on with the model's default settings.Reasoning tokens are billed at the model's output token rate. Models that return their reasoning expose it on the assistant message as a reasoning string (or a structured reasoning_details array).
Models that support reasoning carry the reasoning capability flag in the catalog — filter with GET /api/models?capability=reasoning.
| Type | string |
| Status | Forwarded (provider-dependent) |
The OpenAI-style scalar alias for reasoning.effort (e.g. reasoning_effort: "high"). Use it when a client SDK only exposes the flat field; the structured reasoning object is the recommended form.