Documentation Index
Fetch the complete documentation index at: https://docs.naga.ac/llms.txt
Use this file to discover all available pages before exploring further.
Messages API uses Anthropic-style thinking blocks rather than Responses reasoning items or chat-style reasoning_details fields.
Use this page when you need reasoning controls but your integration depends on the Anthropic Messages protocol.
Request Controls
Two request surfaces affect reasoning behavior here:thinkingwithtype: enabled,disabled, oradaptiveoutput_config.effortwithlow,medium,high, ormax
output_config is a reasoning control on this API. It is not the generic structured-output equivalent.
Start with a modest reasoning budget and raise it only when the extra quality is worth the cost and latency.
Non-Streaming Response Shape
Thinking can appear as a typed content block before text blocks.Streaming Behavior
The stream can emit thinking before text.- a thinking block starts with
content_block_start - thinking text streams through
content_block_delta - signatures arrive as
content_block_deltawithtype: signature_delta - normal answer text can begin in a later content block
Preserve Thinking Blocks Across Tool Turns
If you continue a tool-using conversation in a later request, replay the assistant’s priorthinking blocks unchanged before you send the later tool_result block.
thinking text and signature exactly as generated if you want reasoning continuity across turns.
Caveats
- clients that only read text blocks can miss thinking output completely
thinking: {"type":"disabled"}takes precedence over effort-style hintsadaptivemaps to a medium-style reasoning setting internallyoutput_config.effort: "max"maps to the highest normalized reasoning effort internally
Common mistakes
- treating
output_configlike a generic output-format feature instead of a reasoning control - modifying replayed thinking blocks before a later tool turn
- assuming all models expose visible thinking blocks