Submit Turn
Submit a turn in an episode and receive observation, reward, and completion status
Raw overall of a fact-scored turn
For a scenario scored by facts, every scored turn returns two fields at every score access tier:raw_overall_value: the scoring tree’s overall on the 0 to 100 scale.raw_reward: the same value divided by 100, on the 0 to 1 scale.
Read or store fact readings
Scored fact-based turns returnobservations at the full score access tier, whether or not production storage is enabled. The scores and reward-only tiers withhold these per-fact readings.
store_attempt_run is meant for grading attempts on episodes started from a recording with baseline_run_id. Set it to true to save the attempt in production and receive its run_id. The flag defaults to false. A verifier can save the full-tier observations locally instead.
For an episode started with baseline_run_id, compare raw_reward with the start response’s baseline.reward. The selected judge must match the baseline’s judge. These attempts reject reward_config overrides before generating the person’s reply.
Where the time went
Every turn response carries atiming object at every score access tier. It says how long each part of the turn took, in whole milliseconds rounded down, so a slow grading can be traced to its cause:
load_ms: loading the episode and its scenario.persona_ms: the simulated person composing its answer.scoring_ms: resolving the scoring tree, the judge reads, the composition of the score and, whenstore_attempt_runor turn storage is on, the write of the stored run.total_ms: from the start of the episode load to the end of scoring. The three phases above never add up to more than this; the gap is the work between them.judge_reads: the number of judge reads this turn sent, one per open fact, repeat and judge. A turn the legacy scorers scored, or a turn with scoring skipped, reports 0.read_limit: the most judge reads the server runs at once. Every scoring in progress on the server shares this limit, so a turn’s reads can wait for other turns’ reads.
judge_reads of 50 with a read_limit of 32 sent its reads in two waves. Compare scoring_ms with judge_reads across turns to see whether the judge or the person’s answer is the slow part.Authorizations
API key obtained from Labs Portal
Headers
Judge model ID. Must match judge_model when both are supplied.
bedrock-llama-3.1-70b, bedrock-llama-3.1-8b, bedrock-llama-3-70b, bedrock-llama-3-8b, minimax-m2.5, mistral-7b, mistral-large-2402, mistral-small-2402, mixtral-8x7b, kimi-k3, nemotron-super-120b, bedrock-gpt-5.4, bedrock-gpt-5.5, bedrock-gpt-5.6-luna, bedrock-gpt-5.6-sol, bedrock-gpt-5.6-terra, bedrock-gpt-6-astra, bedrock-gpt-6-luna, bedrock-gpt-6-sol, bedrock-gpt-6.1-sol, palmyra-vision-7b, bedrock-grok-4.6, bedrock-grok-4.7, glm-5, glm-5.3, claude-haiku-5-5, claude-sonnet-5, claude-sonnet-5-5, claude-opus-4-7, claude-opus-4-8, claude-opus-5, claude-opus-5-5, claude-fable-5, claude-fable-5-1, claude-4-5-haiku, claude-sonnet-4-6, claude-opus-4-5, claude-opus-4-6, glm-4.7-flash, glm-4.7, nova-micro, nova-lite, nova-pro, nova-2-lite, deepseek-r1, deepseek-v3, deepseek-v3.2, kimi-k2-thinking, kimi-k2.5, minimax-m2, minimax-m2.1, bedrock-qwen3-32b, bedrock-qwen3-235b, bedrock-qwen3-coder-30b, bedrock-qwen3-coder-480b, bedrock-qwen3-coder-next, bedrock-qwen3-next-80b, bedrock-qwen3-vl-235b, mistral-large-3, devstral-123b, magistral-small, pixtral-large, ministral-14b, ministral-8b, ministral-3b, bedrock-llama-4-maverick, bedrock-llama-4-scout, bedrock-llama-3.3-70b, gemma-3-27b, gemma-3-12b, gemma-3-4b, nemotron-nano-30b, nemotron-nano-12b, nemotron-nano-9b, bedrock-gpt-oss-120b, bedrock-gpt-oss-20b, palmyra-x5, palmyra-x4 Path Parameters
The episode ID (from path parameter)
Body
The episode ID (from path parameter)
New messages in this turn (user prompt and model response)
bedrock-llama-3.1-70b, bedrock-llama-3.1-8b, bedrock-llama-3-70b, bedrock-llama-3-8b, minimax-m2.5, mistral-7b, mistral-large-2402, mistral-small-2402, mixtral-8x7b, kimi-k3, nemotron-super-120b, bedrock-gpt-5.4, bedrock-gpt-5.5, bedrock-gpt-5.6-luna, bedrock-gpt-5.6-sol, bedrock-gpt-5.6-terra, bedrock-gpt-6-astra, bedrock-gpt-6-luna, bedrock-gpt-6-sol, bedrock-gpt-6.1-sol, palmyra-vision-7b, bedrock-grok-4.6, bedrock-grok-4.7, glm-5, glm-5.3, claude-haiku-5-5, claude-sonnet-5, claude-sonnet-5-5, claude-opus-4-7, claude-opus-4-8, claude-opus-5, claude-opus-5-5, claude-fable-5, claude-fable-5-1, claude-4-5-haiku, claude-sonnet-4-6, claude-opus-4-5, claude-opus-4-6, glm-4.7-flash, glm-4.7, nova-micro, nova-lite, nova-pro, nova-2-lite, deepseek-r1, deepseek-v3, deepseek-v3.2, kimi-k2-thinking, kimi-k2.5, minimax-m2, minimax-m2.1, bedrock-qwen3-32b, bedrock-qwen3-235b, bedrock-qwen3-coder-30b, bedrock-qwen3-coder-480b, bedrock-qwen3-coder-next, bedrock-qwen3-next-80b, bedrock-qwen3-vl-235b, mistral-large-3, devstral-123b, magistral-small, pixtral-large, ministral-14b, ministral-8b, ministral-3b, bedrock-llama-4-maverick, bedrock-llama-4-scout, bedrock-llama-3.3-70b, gemma-3-27b, gemma-3-12b, gemma-3-4b, nemotron-nano-30b, nemotron-nano-12b, nemotron-nano-9b, bedrock-gpt-oss-120b, bedrock-gpt-oss-20b, palmyra-x5, palmyra-x4 Store this grading attempt in production. Defaults to false; the verifier can save observations locally instead.
Per-turn reward configuration. Controls which scorers run and their weights. Omitted quality weight keys default to 0, so only specified scorers execute. Saves tokens during curriculum learning. turn_discovery_credit selects the per-turn discovery credit in place of discovery.
Response
Success
Current turn number (1-indexed)
The observation for the next turn
Reward score (0 to 1) based on the full conversation so far
0 <= x <= 1Where this turn spent its time, in whole milliseconds rounded down. Returned at every score access tier.
Whether the episode has ended
Stored scoring run when turn or attempt storage is enabled.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Per-fact readings from this scored turn. Full score access only.
Fact scoring tree overall on the 0 to 100 scale, before reward overrides.
0 <= x <= 100Fact scoring tree overall on the 0 to 1 scale, before reward overrides.
0 <= x <= 1bedrock-llama-3.1-70b, bedrock-llama-3.1-8b, bedrock-llama-3-70b, bedrock-llama-3-8b, minimax-m2.5, mistral-7b, mistral-large-2402, mistral-small-2402, mixtral-8x7b, kimi-k3, nemotron-super-120b, bedrock-gpt-5.4, bedrock-gpt-5.5, bedrock-gpt-5.6-luna, bedrock-gpt-5.6-sol, bedrock-gpt-5.6-terra, bedrock-gpt-6-astra, bedrock-gpt-6-luna, bedrock-gpt-6-sol, bedrock-gpt-6.1-sol, palmyra-vision-7b, bedrock-grok-4.6, bedrock-grok-4.7, glm-5, glm-5.3, claude-haiku-5-5, claude-sonnet-5, claude-sonnet-5-5, claude-opus-4-7, claude-opus-4-8, claude-opus-5, claude-opus-5-5, claude-fable-5, claude-fable-5-1, claude-4-5-haiku, claude-sonnet-4-6, claude-opus-4-5, claude-opus-4-6, glm-4.7-flash, glm-4.7, nova-micro, nova-lite, nova-pro, nova-2-lite, deepseek-r1, deepseek-v3, deepseek-v3.2, kimi-k2-thinking, kimi-k2.5, minimax-m2, minimax-m2.1, bedrock-qwen3-32b, bedrock-qwen3-235b, bedrock-qwen3-coder-30b, bedrock-qwen3-coder-480b, bedrock-qwen3-coder-next, bedrock-qwen3-next-80b, bedrock-qwen3-vl-235b, mistral-large-3, devstral-123b, magistral-small, pixtral-large, ministral-14b, ministral-8b, ministral-3b, bedrock-llama-4-maverick, bedrock-llama-4-scout, bedrock-llama-3.3-70b, gemma-3-27b, gemma-3-12b, gemma-3-4b, nemotron-nano-30b, nemotron-nano-12b, nemotron-nano-9b, bedrock-gpt-oss-120b, bedrock-gpt-oss-20b, palmyra-x5, palmyra-x4 Optional breakdown of individual score dimensions. When omitted, only the combined reward is provided.
Textual reasoning per score dimension. Only included for subscriptions with full score access.
Reason for episode termination (only present when episode_complete is true)
client_terminated, max_turns_reached, error, completed