Complete Native Option Reference — ML Junction docs

This table mirrors the current /v1/responses request contract. Unknown fields are rejected. Defaults shown here are gateway defaults before governance policy narrows them.

Path · Type / values · Default or constraint
model · string · Required; 1-150 characters
messages · Message[] · Required; at least one user message
messages[].role · system | developer | user | assistant | tool · Required
messages[].content · string | ContentPart[] | null · Text or typed multimodal blocks
messages[].tool_calls · object[] · Assistant tool calls; preserve IDs and ordering
messages[].tool_call_id · string | null · Required on tool-result messages
messages[].reasoning_details · object[] · Public provider-native state attached to the assistant turn that produced it
ContentPart.type · text | image_url | input_audio | file | thinking | redacted_thinking · Opaque thinking is provider-bound
stream · boolean · false
sampling.temperature · 0-2 | null · null
sampling.top_p · >0-1 | null · null
sampling.seed · integer | null · null
sampling.frequency_penalty · -2-2 | null · null
sampling.presence_penalty · -2-2 | null · null
sampling.stop · string | string[] | null · null
reasoning.enabled · boolean · false
reasoning.effort · none | minimal | low | medium | high | xhigh | max | auto · auto
reasoning.intensity · integer 0-100 | null · null
reasoning.summary · none | auto | concise | detailed · none
reasoning.context · auto | current_turn | all_turns · auto
reasoning.continuation_token · opaque string | null · null; gwrt_v3 tokens are optional and must not be decoded by clients
reasoning.input_type · user_message | tool_results | dynamic_context_update · user_message
reasoning.pending_turn_action · continue | cancel | fork | null · null
output.max_tokens · 1-131072 | null · Platform default when null
output.format.type · text | json_object | json_schema · text
output.format.schema · JSON Schema | null · Required for json_schema
output.format.name · string · response
output.format.strict · boolean · true
output.streaming_mode · text | buffered | raw_compat · text; structured output becomes buffered
output.validation.enabled · boolean · true
output.validation.heal_syntax · boolean · false
output.validation.model_repair · boolean · false
output.validation.max_repair_attempts · 0-2 · 1
tools · FunctionTool[] · Maximum 128
tool_choice · string | object | null · Provider-compatible selection
requirements.tools/json_schema/vision/audio/pdf · required | preferred | off · off
requirements.reasoning · required | preferred | off · preferred
requirements.streaming · boolean · Derived from stream
requirements.min_context_tokens · positive integer | null · null
routing.strategy · quality | cost | latency | balanced | pinned · balanced
routing.preset · stable_production | lowest_cost | lowest_latency | strongest_privacy | long_context | null · null
routing.production_mode · boolean · false; requires explicit route/provider and charge caps
routing.mode · platform_only | byok_strict | byok_first_paid_fallback | platform_first_byok_fallback · platform_only
routing.strict_params · boolean · false
routing.service_tier · auto | standard | priority | flex · auto
routing.route / provider / region · string | null · null
routing.only_providers / ignored_providers · string[] · Maximum 20 each; cannot overlap
routing.require_zdr · boolean · false
routing.allow_provider_training · boolean · false
routing.max_platform_charge_usd · positive number | null · null
routing.max_byok_fee_usd · positive number | null · null
routing.fallbacks.provider / model · boolean · true / true
routing.fallbacks.max_total_attempts · 1-10 · 5
routing.fallbacks.max_retries_per_route · 0-3 · 1
routing.fallbacks.same_or_lower_price · boolean · false
routing.fallbacks.preserve_context_window / preserve_privacy · boolean · true / true
routing.fallbacks.max_price_increase_percent · 0-1000 | null · null
routing.sticky.enabled · boolean · true
routing.sticky.scope · conversation | api_key | custom · conversation
routing.sticky.affinity_key · string ≤200 | null · Conversation metadata fallback
routing.sticky.ttl_seconds · 60-86400 · 3600
context.mode · auto_fit | strict · auto_fit
context.input_budget_ratio · >0.1-0.95 · 0.70
context.min_output_reserve_tokens · ≥256 · 4096
context.preserve_system/current_user/tool_chains · boolean · true / true / true
metadata · object · {}
idempotency_key · string ≤200 | null · null
session_id / task_id · string ≤100 | null · Generated/optional
session_name / task_name · string ≤200 | null · null
compatibility · object · {}; protocol/adapter hints

App name is carried by the X-App request header rather than the JSON body. Responses return app_name together with session and task identity.

Canonical URL: https://mljunction.com/docs/native-option-reference