chat_mode field (llm_router, light_agent, full_agent). This page documents config.agent_model, which selects the model implementation and which tools are allowed.
Default mode: New chats and omitted/default chat_mode run as Execute (full_agent) with the default agent_model: magpie-2.5, unless you explicitly set a different supported agent_model.
Auto mode: chat_mode: auto is still accepted for compatibility, but currently runs as Execute (full_agent). It does not predict Ask, Extended, or Execute per message.
Orchestrator turns: A turn on the orchestrator always runs as Execute and reports chat_mode: full_agent, whatever chat_mode you send. See Agent routing.
Structured outputs: For any agent_model, you can request JSON that matches a schema by passing text.format (JSON Schema) on the Converse request. The same mechanism applies across modes; tool limits below still apply.
Important: The Ask mode in the web app is the llm_router chat_mode, not magpie-1.1-flash. The magpie-1.1-flash model aligns with Extended in the app (search-backed, lighter agent). Use both chat_mode and agent_model when reproducing in-app behavior from the API.
Ask (in-app; chat_mode: llm_router)
Ask is a product / routing mode, not a value of config.agent_model. In the web app it is selected with chat_mode: llm_router.
What it is good for: Fast, LLM-forward answers when the product has already chosen an agent for instructions and context. The server resolves routing (including agent context), then follows an LLM-focused path rather than full Execute-style multi-tool planning.
How it differs from llm-only: llm-only is an explicit agent_model on the Converse API: you get the direct LLM tier with no tool execution and predictable behavior from that string alone. llm_router instead means “use the in-app Ask routing rules” (agent resolution, mode refinement, default models) on top of whatever agent_model and agent_id you pass. To mirror Ask from the API, set chat_mode to llm_router and the same agent identifiers you use in the app; do not assume agent_model: llm-only alone reproduces Ask, and do not confuse llm_router with Extended (light_agent / magpie-1.1-flash).
Structured outputs for turns that use llm_router still use text.format like any other Converse call.
Execute (full agent models)
Full agent with multi-step planning, reasoning, and broad tool execution. Matches Execute in the Datagrid web app (chat_mode: full_agent). This is the default for new chats and omitted/default chat_mode; when agent_model is omitted, Execute uses magpie-2.5.
All tools listed for agents are available for Execute-tier models. Structured outputs use
text.format (see Structured outputs).
Extended (search-focused agent)
Lightweight turns optimized for RAG (retrieval-augmented generation). Matches Extended in the Datagrid web app (chat_mode: light_agent). Faster than Execute-tier models with lower latency.
Only the
semantic_search tool is supported for magpie-1.1-flash. Requests specifying other tools will be rejected. Structured outputs use text.format like other models (see Structured outputs).
Direct LLM (llm-only)
Direct LLM response with no planning or tool execution. Lowest latency, best for simple conversational or structured JSON answers that do not need retrieval or actions.
llm-only is the API’s explicit tool-free model key. It is not the same thing as selecting Ask in the web app: Ask is chat_mode: llm_router (see the Ask section at the top of this page).
No tools are executed for llm-only. Requests specifying tools will be rejected. Structured outputs use text.format (see Structured outputs).
Beta (magpie-3.0)
BETA: Magpie 3.0. Behavior and schema may change.
config.agent_model: "magpie-3.0" selects Magpie 3.0 on the public Converse API. The request runs Magpie 3.0 whether or not Magpie 3.0 is enabled for that user in the Datagrid web app. It is not an Ask, Extended, or Execute model.
Structured outputs use text.format (see Structured outputs).
Agent routing (agent_routing)
chat_mode and agent_model decide how a turn runs. agent_routing decides which agent runs it. Send either agent_id or agent_routing, not both.
auto and manual always select a single agent. Only orchestrator delegates to several agents in one turn.
Orchestrator mode
- The orchestrator is the agent that answers.
agent_idon thestartandendevents and on the response is the orchestrator’s. The specialists it used are listed indelegations(see Streaming). - Follow-ups stay on the orchestrator. A later turn that sends only
conversation_idkeeps running on the orchestrator. Sendagent_routingoragent_idto move the conversation to another agent. - Personal conversations only. Continuing a channel or shared conversation in orchestrator mode returns
400withvalidation_error. - Only reachable through this mode. The orchestrator isn’t listed by
GET /v1/agents, and sending its id asagent_idor as amanualtarget returns404withresource_not_found, the same as an unknown agent. targetsisn’t accepted, and the mode can’t be combined withagent_id.chat_modeis alwaysfull_agent. The orchestrator reaches specialists through tools, and Ask (llm_router) and Extended (light_agent) run without them. A turn requested as either runs as Execute and reportschat_mode: full_agenton theendevent and the response.- Credits include the specialists.
credits.consumedis the orchestrator’s own spend plus what each specialist consumed. Each entry indelegationscarries its owncredits_consumed. - Turns can take minutes. Each delegation is a full agent run. Stream the response or raise your client timeout (see Long running calls).
Choosing a mode
When
config.agent_model is omitted, the API defaults to magpie-2.5 (Execute tier).