Skip to main content
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#overview

ToolExecutionPolicy

Per-run policy for approvals, MCP execution concurrency, admitted tool-call budget and answer windows. Some stored controls are not enforced by the current workflow.

If an expected approval does not appear, inspect the tool/server require rules and auto-approve exceptions. Auto-approve takes precedence; server IDs are compared case-insensitively after trimming whitespace. An exception does not establish that the user reviewed the action.

An omitted or zero approvalTimeoutMs waits five minutes. At expiry, failOnApprovalTimeoutToolNamePatterns yields FAILED for matching calls and TIMED_OUT for others; an unset list makes every expiry FAILED.

The retry controls retriableToolNamePatterns, retryableErrorSubstrings, nonRetryableErrorSubstrings, maxRetries and retryBackoff are stored but do not schedule retries. Ordering rules, tie-breaking, the per-loop call cap, client-tool scheduling mode, failure mode and stop-on-failure rules are also not enforced; do not rely on them as execution or safety controls.

maxTotalToolCalls limits admitted calls across the run; zero or omission leaves the cap unset. A client call consumes budget when armed. A routable MCP call consumes budget before approval, including when held for approval or later rejected. Unknown tools and calls refused because the cap is already exhausted do not consume budget. Further calls at the limit receive FAILED tool results naming the limit, which the model can use when continuing the run.

maxParallelToolCalls limits concurrent MCP execution. Zero or one runs MCP calls sequentially; values greater than one permit concurrency. Client calls are armed separately, and your application controls their execution concurrency.

Choose clientToolTimeoutMs for your application's validation and action. Zero or omission gives a five-minute answer window; there is no unbounded setting. Each call returns its resolved clientToolDeadlineAt.

See Tool execution policies for policy selection and caller reconciliation.

Type-reference view: API Schema 9frhv4euve, API Schema 9ftjkkjhfa. Request and response views describe this type; they do not declare an endpoint.

Meaning and usage​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#meaning

See the definition above.

Usage profiles​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#fields

UsageFields and validation
In requestsView fields
In responsesView fields

In requests​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request

API JSON uses JSON field names (camelCase).

FieldTypePresenceMeaning
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-requireapprovaltoolnamepatternsrequireApprovalToolNamePatternsArray of stringOptionalTool-name patterns selecting calls that require an approval decision.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-requireapprovalserveridsrequireApprovalServerIdsArray of stringOptionalMCP server identifiers whose calls require approval. IDs are compared case-insensitively after trimming whitespace.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-autoapprovetoolnamepatternsautoApproveToolNamePatternsArray of stringOptionalTool-name patterns whose matching calls may be approved automatically.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-autoapproveserveridsautoApproveServerIdsArray of stringOptionalMCP server identifiers exempted from approval require rules. IDs are compared case-insensitively after trimming whitespace.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-approvalmodeapprovalModestring (APPROVAL_MODE_MIXED, APPROVAL_MODE_BLOCK_ALL) or integer (int32)Optional; explicit presenceSee meaning below.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-clienttoolmodeclientToolModestring (CLIENT_TOOL_MODE_MIXED, CLIENT_TOOL_MODE_BLOCK_ALL) or integer (int32)Optional; explicit presenceSee meaning below.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-approvaltimeoutmsapprovalTimeoutMsstring (int64)OptionalTime allowed for an approval decision, in milliseconds. Zero or omission selects the five-minute default; a positive value overrides it. There is no unbounded wait setting. At expiry, matching fail_on_approval_timeout_tool_name_patterns produces FAILED; other calls become TIMED_OUT. An empty pattern list makes every expiry FAILED. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-failonapprovaltimeouttoolnamepatternsfailOnApprovalTimeoutToolNamePatternsArray of stringOptionalSelects approval timeouts reported as FAILED; nonmatching calls become TIMED_OUT. An empty list makes every approval expiry FAILED. Global failure_mode is not enforced.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-orderrulesorderRulesArray of ToolExecutionOrderRuleOptionalStored requested ordering rules; not applied by the current generation workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-stablesortbycallindexontiestableSortByCallIndexOnTiebooleanOptionalStored requested ordering tie-breaker; not applied by the current generation workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-maxparalleltoolcallsmaxParallelToolCallsstring (int64)OptionalMaximum concurrent MCP tool executions. Zero, omission or one runs MCP calls sequentially; larger values permit concurrency. Client calls are armed separately, and their execution concurrency is controlled by the caller application. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-maxtoolcallsperloopmaxToolCallsPerLoopstring (int64)OptionalSee meaning below. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-maxtotaltoolcallsmaxTotalToolCallsstring (int64)OptionalMaximum admitted tool calls across the run; zero or omission leaves the cap unset. Client calls count when armed. Routable MCP calls count before approval, including calls later rejected. Unknown tools and calls refused by an exhausted cap do not count. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-retriabletoolnamepatternsretriableToolNamePatternsArray of stringOptionalStored requested retry selection; does not enable retries in the current workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-maxretriesmaxRetriesstring (int64)OptionalSee meaning below. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-retrybackoffretryBackoffBackoffOptionalStored requested retry delays; not applied by the current generation workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-retryableerrorsubstringsretryableErrorSubstringsArray of stringOptionalStored requested retryable-error selection; not evaluated by the current workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-nonretryableerrorsubstringsnonRetryableErrorSubstringsArray of stringOptionalStored requested retry exclusions; not evaluated by the current generation workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-timeoutstimeoutsTimeoutPolicyOptionalOverall execution time budget for the generation run.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-clienttooltimeoutmsclientToolTimeoutMsstring (int64)OptionalTime allowed for a client-side tool result, in milliseconds. Zero or omission selects the five-minute default; a positive value overrides it. There is no unbounded wait. The resolved answer deadline is returned as clientToolDeadlineAt on each call. A result arriving after the deadline is rejected. At expiry, an empty or matching fail_on_approval_timeout_tool_name_patterns list yields FAILED; other calls become TIMED_OUT. Expiry closes the answer window and does not cancel a client action already in progress. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-failuremodefailureModestring (FAILURE_MODE_CONTINUE, FAILURE_MODE_STOP_LOOP, FAILURE_MODE_STOP_RUN) or integer (int32)Optional; explicit presenceSee meaning below.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-field-stoponfailurerulesstopOnFailureRulesArray of StopOnFailureRuleOptionalStored requested stop rules; not evaluated by the current generation workflow.

approvalMode

How to schedule execution when approvals are required for some tools

default: APPROVAL_MODE_MIXED

clientToolMode

Stored requested client-tool scheduling mode; not enforced by the current workflow.

default: CLIENT_TOOL_MODE_MIXED

maxToolCallsPerLoop

Stored requested per-loop tool-call cap; not enforced by the current generation workflow.

0 = no cap

maxRetries

Stored requested retry count; does not enable retries in the current workflow.

per tool-call

failureMode

Stored requested failure action; not enforced by the current generation workflow.

default if no rule matches

Values of approvalMode​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-values-approvalmode

How approval-required tool calls affect other tool calls in the same execution loop.

ValueNo.FormMeaning
APPROVAL_MODE_MIXED0CanonicalSee meaning below.
APPROVAL_MODE_BLOCK_ALL1CanonicalSee meaning below.

APPROVAL_MODE_MIXED

Run automatically approved calls immediately and hold only calls that require approval.

Run auto-approved tool calls immediately; hold only those requiring approval.

APPROVAL_MODE_BLOCK_ALL

Hold execution of all tool calls in the loop until the approval-required calls are approved or rejected.

Block execution of all tool calls in the loop until all approval-required calls are approved/rejected.

Values of clientToolMode​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-values-clienttoolmode

How unresolved caller-executed tools affect progression of the tool loop.

ValueNo.FormMeaning
CLIENT_TOOL_MODE_MIXED0CanonicalSee meaning below.
CLIENT_TOOL_MODE_BLOCK_ALL1CanonicalSee meaning below.

CLIENT_TOOL_MODE_MIXED

Record pending client tools and continue with server-executed MCP tools and the loop.

Do not wait on client tools; record pending and continue executing MCP tools and loop

CLIENT_TOOL_MODE_BLOCK_ALL

Hold loop advancement until the caller submits results for all pending client tools.

Block loop advancement until all client-side tool calls are resolved by the client

Values of failureMode​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#request-values-failuremode

Requested scope of stopping after a tool execution failure.

ValueNo.FormMeaning
FAILURE_MODE_CONTINUE0CanonicalRequest continued processing after the failed tool call.
FAILURE_MODE_STOP_LOOP1CanonicalRequest stopping the current tool-execution loop after the failure.
FAILURE_MODE_STOP_RUN2CanonicalRequest stopping the generation run after the failure.

In responses​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#response

API JSON uses JSON field names (camelCase).

FieldTypePresenceMeaning
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-requireapprovaltoolnamepatternsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-requireapprovaltoolnamepatternsrequireApprovalToolNamePatternsArray of stringOptionalTool-name patterns selecting calls that require an approval decision.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-requireapprovalserveridsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-requireapprovalserveridsrequireApprovalServerIdsArray of stringOptionalMCP server identifiers whose calls require approval. IDs are compared case-insensitively after trimming whitespace.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-autoapprovetoolnamepatternsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-autoapprovetoolnamepatternsautoApproveToolNamePatternsArray of stringOptionalTool-name patterns whose matching calls may be approved automatically.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-autoapproveserveridsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-autoapproveserveridsautoApproveServerIdsArray of stringOptionalMCP server identifiers exempted from approval require rules. IDs are compared case-insensitively after trimming whitespace.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-approvalmodeSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-approvalmodeapprovalModestring (APPROVAL_MODE_MIXED, APPROVAL_MODE_BLOCK_ALL) or integer (int32)Optional; explicit presenceSee meaning below.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-clienttoolmodeSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-clienttoolmodeclientToolModestring (CLIENT_TOOL_MODE_MIXED, CLIENT_TOOL_MODE_BLOCK_ALL) or integer (int32)Optional; explicit presenceSee meaning below.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-approvaltimeoutmsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-approvaltimeoutmsapprovalTimeoutMsstring (int64)OptionalTime allowed for an approval decision, in milliseconds. Zero or omission selects the five-minute default; a positive value overrides it. There is no unbounded wait setting. At expiry, matching fail_on_approval_timeout_tool_name_patterns produces FAILED; other calls become TIMED_OUT. An empty pattern list makes every expiry FAILED. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-failonapprovaltimeouttoolnamepatternsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-failonapprovaltimeouttoolnamepatternsfailOnApprovalTimeoutToolNamePatternsArray of stringOptionalSelects approval timeouts reported as FAILED; nonmatching calls become TIMED_OUT. An empty list makes every approval expiry FAILED. Global failure_mode is not enforced.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-orderrulesSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-orderrulesorderRulesArray of ToolExecutionOrderRuleOptionalStored requested ordering rules; not applied by the current generation workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-stablesortbycallindexontieSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-stablesortbycallindexontiestableSortByCallIndexOnTiebooleanOptionalStored requested ordering tie-breaker; not applied by the current generation workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-maxparalleltoolcallsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-maxparalleltoolcallsmaxParallelToolCallsstring (int64)OptionalMaximum concurrent MCP tool executions. Zero, omission or one runs MCP calls sequentially; larger values permit concurrency. Client calls are armed separately, and their execution concurrency is controlled by the caller application. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-maxtoolcallsperloopSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-maxtoolcallsperloopmaxToolCallsPerLoopstring (int64)OptionalSee meaning below. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-maxtotaltoolcallsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-maxtotaltoolcallsmaxTotalToolCallsstring (int64)OptionalMaximum admitted tool calls across the run; zero or omission leaves the cap unset. Client calls count when armed. Routable MCP calls count before approval, including calls later rejected. Unknown tools and calls refused by an exhausted cap do not count. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-retriabletoolnamepatternsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-retriabletoolnamepatternsretriableToolNamePatternsArray of stringOptionalStored requested retry selection; does not enable retries in the current workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-maxretriesSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-maxretriesmaxRetriesstring (int64)OptionalSee meaning below. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-retrybackoffSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-retrybackoffretryBackoffBackoffOptionalStored requested retry delays; not applied by the current generation workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-retryableerrorsubstringsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-retryableerrorsubstringsretryableErrorSubstringsArray of stringOptionalStored requested retryable-error selection; not evaluated by the current workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-nonretryableerrorsubstringsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-nonretryableerrorsubstringsnonRetryableErrorSubstringsArray of stringOptionalStored requested retry exclusions; not evaluated by the current generation workflow.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-timeoutsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-timeoutstimeoutsTimeoutPolicyOptionalOverall execution time budget for the generation run.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-clienttooltimeoutmsSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-clienttooltimeoutmsclientToolTimeoutMsstring (int64)OptionalTime allowed for a client-side tool result, in milliseconds. Zero or omission selects the five-minute default; a positive value overrides it. There is no unbounded wait. The resolved answer deadline is returned as clientToolDeadlineAt on each call. A result arriving after the deadline is rejected. At expiry, an empty or matching fail_on_approval_timeout_tool_name_patterns list yields FAILED; other calls become TIMED_OUT. Expiry closes the answer window and does not cancel a client action already in progress. Pattern: ^-?\d+$.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-failuremodeSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-failuremodefailureModestring (FAILURE_MODE_CONTINUE, FAILURE_MODE_STOP_LOOP, FAILURE_MODE_STOP_RUN) or integer (int32)Optional; explicit presenceSee meaning below.
Section ID: DOC-API-MODEL-schema-1h2ji21uc4#field-stoponfailurerulesSection ID: DOC-API-MODEL-schema-1h2ji21uc4#response-field-stoponfailurerulesstopOnFailureRulesArray of StopOnFailureRuleOptionalStored requested stop rules; not evaluated by the current generation workflow.

approvalMode

How to schedule execution when approvals are required for some tools

default: APPROVAL_MODE_MIXED

clientToolMode

Stored requested client-tool scheduling mode; not enforced by the current workflow.

default: CLIENT_TOOL_MODE_MIXED

maxToolCallsPerLoop

Stored requested per-loop tool-call cap; not enforced by the current generation workflow.

0 = no cap

maxRetries

Stored requested retry count; does not enable retries in the current workflow.

per tool-call

failureMode

Stored requested failure action; not enforced by the current generation workflow.

default if no rule matches

Values of approvalMode​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#response-values-approvalmode

How approval-required tool calls affect other tool calls in the same execution loop.

ValueNo.FormMeaning
APPROVAL_MODE_MIXED0CanonicalSee meaning below.
APPROVAL_MODE_BLOCK_ALL1CanonicalSee meaning below.

APPROVAL_MODE_MIXED

Run automatically approved calls immediately and hold only calls that require approval.

Run auto-approved tool calls immediately; hold only those requiring approval.

APPROVAL_MODE_BLOCK_ALL

Hold execution of all tool calls in the loop until the approval-required calls are approved or rejected.

Block execution of all tool calls in the loop until all approval-required calls are approved/rejected.

Values of clientToolMode​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#response-values-clienttoolmode

How unresolved caller-executed tools affect progression of the tool loop.

ValueNo.FormMeaning
CLIENT_TOOL_MODE_MIXED0CanonicalSee meaning below.
CLIENT_TOOL_MODE_BLOCK_ALL1CanonicalSee meaning below.

CLIENT_TOOL_MODE_MIXED

Record pending client tools and continue with server-executed MCP tools and the loop.

Do not wait on client tools; record pending and continue executing MCP tools and loop

CLIENT_TOOL_MODE_BLOCK_ALL

Hold loop advancement until the caller submits results for all pending client tools.

Block loop advancement until all client-side tool calls are resolved by the client

Values of failureMode​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#response-values-failuremode

Requested scope of stopping after a tool execution failure.

ValueNo.FormMeaning
FAILURE_MODE_CONTINUE0CanonicalRequest continued processing after the failed tool call.
FAILURE_MODE_STOP_LOOP1CanonicalRequest stopping the current tool-execution loop after the failure.
FAILURE_MODE_STOP_RUN2CanonicalRequest stopping the generation run after the failure.

Where used​

Section ID: DOC-API-MODEL-schema-1h2ji21uc4#where-used

ReferenceRelationship
Create an agent profilePOST /api/v1/agent-profiles/create
Get an agent profilePOST /api/v1/agent-profiles/get
Import a prompt libraryPOST /api/v1/agent-profiles/import
List agent profilesPOST /api/v1/agent-profiles/list
Update an agent profilePOST /api/v1/agent-profiles/update
Withdraw your rating on a messagePOST /api/v1/llm/delete-message-rating
Get full conversation statePOST /api/v1/llm/conversation-state
Rate an assistant messagePOST /api/v1/llm/rate-message
Send a message and wait for the resultPOST /api/v1/llm/send-message-sync
Submit client-side tool results and wait for the next segmentPOST /api/v1/llm/submit-client-tool-results-sync
Update context management settingsPOST /api/v1/llm/update-context-management-settings
Update default generation configPOST /api/v1/llm/update-default-generation-config
Update prompt variablesPOST /api/v1/llm/update-prompt-variables
Update conversation settingsPOST /api/v1/llm/update-settings
Get the caller's end-user profilePOST /api/v1/enduser/get
Append a message without generatingPOST /api/v1/llm/append-message
Create a new conversation threadPOST /api/v1/llm/create-thread
Send a message to a conversationPOST /api/v1/llm/send-message
Update the caller's default generation configPOST /api/v1/enduser/update-generation-config
ReceiveMessageRequestAPI JSON uses JSON field names (camelCase).
ClientToolDispatchAPI JSON uses JSON field names (camelCase).
Models containing this value
ModelRelationship
ConversationSettingsNested in model
ConversationSettingsNested in model
GenerationConfigNested in model
GenerationConfigNested in model

Download the public reference contract.

Document ID: DOC-API-MODEL-schema-1h2ji21uc4