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

ToolCall

A single structured tool call emitted by the model

clientToolDeadlineAt is the client answer window. Expiry ends that wait and rejects late results; the timeout policy determines the outcome.

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-1it6mqsqoo#meaning

See the definition above.

Usage profiles​

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

UsageFields and validation
In requestsView fields
In responsesView fields

In requests​

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

API JSON uses JSON field names (camelCase).

FieldTypePresenceMeaning
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-ididstringOptionalProvider-supplied call id.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-namenamestringOptionalName of the tool or function being invoked.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-argumentsjsonargumentsJsonMap from string to JSON valueOptionalJSON object payload.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-statusstatusstring (TOOL_EXECUTION_STATUS_PENDING, TOOL_EXECUTION_STATUS_EXECUTING, TOOL_EXECUTION_STATUS_COMPLETED, TOOL_EXECUTION_STATUS_FAILED, TOOL_EXECUTION_STATUS_REQUIRES_CONFIRMATION, TOOL_EXECUTION_STATUS_CANCELLED, TOOL_EXECUTION_STATUS_TIMED_OUT) or integer (int32)Optional; explicit presenceExecution status recorded for the tool call.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-resultjsonresultJsonMap from string to JSON valueOptionalTool execution result (object).
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-executedatexecutedAtstring (date-time)OptionalTime when the tool execution was recorded.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-serveridserverIdstringOptionalWhich server provides this tool (for MCP tools).
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-isclienttoolisClientToolbooleanOptionalTrue if this is a client-side tool handled by client.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-descriptiondescriptionstringOptionalTool description captured from the resolved tool definition when the call is emitted, preserving the definition used for historical calls even if the tool configuration later changes.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-parametersjsonschemaparametersJsonSchemaMap from string to JSON valueOptionalJSON Schema describing the tool’s input arguments.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-requiresapprovalatrequiresApprovalAtstring (date-time)OptionalDeadline for an approval decision, calculated from the effective approval timeout. This is not the time the call began waiting. An approval received after the deadline is rejected.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-approvedatapprovedAtstring (date-time)OptionalTimestamp when approval decision was recorded (if approved/rejected)
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-approvedbyapprovedBystringOptionalIdentifier of the approver (user id, email, or actor key)
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-executiondurationexecutionDurationstringOptionalEnd-to-end execution duration once terminal (includes tool server latency or client-side time) Pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]{1,9})?s$.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-endreasonendReasonstringOptionalSee meaning below.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-field-clienttooldeadlineatclientToolDeadlineAtstring (date-time)OptionalDeadline by which the client must submit a result for this call, stamped when the call is dispatched to a caller.

endReason

Why this call ended, in one short phrase — "approval rejected", "approval timeout", or the underlying error. Set only once status is terminal, and empty on a clean COMPLETED.

Use this reason to distinguish a rejection from a failure without parsing the tool result.

Values of status​

Section ID: DOC-API-MODEL-schema-1it6mqsqoo#request-values-status

Execution state of a tool call, including approval waiting and terminal outcomes. The terminal outcomes are COMPLETED, FAILED, CANCELLED and TIMED_OUT; inspect ToolCall.end_reason for why a call ended rather than treating the reason as another status.

Use a listed execution status. The end reason explains the outcome separately from the status.

ValueNo.FormMeaning
TOOL_EXECUTION_STATUS_PENDING0CanonicalThe tool call is waiting to begin execution.
TOOL_EXECUTION_STATUS_EXECUTING1CanonicalThe tool call is currently executing.
TOOL_EXECUTION_STATUS_COMPLETED2CanonicalThe tool call completed successfully. This is a terminal outcome.
TOOL_EXECUTION_STATUS_FAILED3CanonicalTool execution ended unsuccessfully; inspect the tool error or end reason.
TOOL_EXECUTION_STATUS_REQUIRES_CONFIRMATION4CanonicalThe tool call is waiting for approval before it can execute.
TOOL_EXECUTION_STATUS_CANCELLED5CanonicalThe tool call was cancelled before normal completion.
TOOL_EXECUTION_STATUS_TIMED_OUT6CanonicalTool execution ended because its time limit elapsed.

In responses​

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

API JSON uses JSON field names (camelCase).

FieldTypePresenceMeaning
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-idSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-ididstringOptionalProvider-supplied call id.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-nameSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-namenamestringOptionalName of the tool or function being invoked.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-argumentsjsonSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-argumentsjsonargumentsJsonMap from string to JSON valueOptionalJSON object payload.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-statusSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-statusstatusstring (TOOL_EXECUTION_STATUS_PENDING, TOOL_EXECUTION_STATUS_EXECUTING, TOOL_EXECUTION_STATUS_COMPLETED, TOOL_EXECUTION_STATUS_FAILED, TOOL_EXECUTION_STATUS_REQUIRES_CONFIRMATION, TOOL_EXECUTION_STATUS_CANCELLED, TOOL_EXECUTION_STATUS_TIMED_OUT) or integer (int32)Optional; explicit presenceExecution status recorded for the tool call.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-resultjsonSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-resultjsonresultJsonMap from string to JSON valueOptionalTool execution result (object).
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-executedatSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-executedatexecutedAtstring (date-time)OptionalTime when the tool execution was recorded.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-serveridSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-serveridserverIdstringOptionalWhich server provides this tool (for MCP tools).
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-isclienttoolSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-isclienttoolisClientToolbooleanOptionalTrue if this is a client-side tool handled by client.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-descriptionSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-descriptiondescriptionstringOptionalTool description captured from the resolved tool definition when the call is emitted, preserving the definition used for historical calls even if the tool configuration later changes.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-parametersjsonschemaSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-parametersjsonschemaparametersJsonSchemaMap from string to JSON valueOptionalJSON Schema describing the tool’s input arguments.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-requiresapprovalatSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-requiresapprovalatrequiresApprovalAtstring (date-time)OptionalDeadline for an approval decision, calculated from the effective approval timeout. This is not the time the call began waiting. An approval received after the deadline is rejected.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-approvedatSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-approvedatapprovedAtstring (date-time)OptionalTimestamp when approval decision was recorded (if approved/rejected)
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-approvedbySection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-approvedbyapprovedBystringOptionalIdentifier of the approver (user id, email, or actor key)
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-executiondurationSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-executiondurationexecutionDurationstringOptionalEnd-to-end execution duration once terminal (includes tool server latency or client-side time) Pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]{1,9})?s$.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-endreasonSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-endreasonendReasonstringOptionalSee meaning below.
Section ID: DOC-API-MODEL-schema-1it6mqsqoo#field-clienttooldeadlineatSection ID: DOC-API-MODEL-schema-1it6mqsqoo#response-field-clienttooldeadlineatclientToolDeadlineAtstring (date-time)OptionalDeadline by which the client must submit a result for this call, stamped when the call is dispatched to a caller.

endReason

Why this call ended, in one short phrase — "approval rejected", "approval timeout", or the underlying error. Set only once status is terminal, and empty on a clean COMPLETED.

Use this reason to distinguish a rejection from a failure without parsing the tool result.

Values of status​

Section ID: DOC-API-MODEL-schema-1it6mqsqoo#response-values-status

Execution state of a tool call, including approval waiting and terminal outcomes. The terminal outcomes are COMPLETED, FAILED, CANCELLED and TIMED_OUT; inspect ToolCall.end_reason for why a call ended rather than treating the reason as another status.

Use a listed execution status. The end reason explains the outcome separately from the status.

ValueNo.FormMeaning
TOOL_EXECUTION_STATUS_PENDING0CanonicalThe tool call is waiting to begin execution.
TOOL_EXECUTION_STATUS_EXECUTING1CanonicalThe tool call is currently executing.
TOOL_EXECUTION_STATUS_COMPLETED2CanonicalThe tool call completed successfully. This is a terminal outcome.
TOOL_EXECUTION_STATUS_FAILED3CanonicalTool execution ended unsuccessfully; inspect the tool error or end reason.
TOOL_EXECUTION_STATUS_REQUIRES_CONFIRMATION4CanonicalThe tool call is waiting for approval before it can execute.
TOOL_EXECUTION_STATUS_CANCELLED5CanonicalThe tool call was cancelled before normal completion.
TOOL_EXECUTION_STATUS_TIMED_OUT6CanonicalTool execution ended because its time limit elapsed.

Where used​

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

ReferenceRelationship
Withdraw your rating on a messagePOST /api/v1/llm/delete-message-rating
Get full conversation statePOST /api/v1/llm/conversation-state
Get a single tool call by IDPOST /api/v1/llm/get-tool-call
List pending tool approvalsPOST /api/v1/llm/list-pending-approvals
List client-side tool calls awaiting a resultPOST /api/v1/llm/list-pending-client-tools
Execute an MCP toolPOST /api/v1/llm/mcp-call-tool
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
Append a message without generatingPOST /api/v1/llm/append-message
Send a message to a conversationPOST /api/v1/llm/send-message
ReceiveMessageRequestAPI JSON uses JSON field names (camelCase).
ClientToolDispatchAPI JSON uses JSON field names (camelCase).
Models containing this value
ModelRelationship
MessageNested in model
MessageNested in model
ToolCallCompletedEventNested in model
ToolCallCompletedEventNested in model
ToolCallStartedEventNested in model
ToolCallStartedEventNested in model
ClientToolDispatchNested in model
ClientToolDispatchNested in model

Download the public reference contract.

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