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

ToolChoice

Policy selecting automatic tool choice, no tool use, or a named tool.

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

See the definition above.

Usage profiles​

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

UsageFields and validation
In requestsView fields
In responsesView fields

In requests​

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

API JSON uses JSON field names (camelCase).

FieldTypePresenceMeaning
Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#request-field-kindkindstring (TOOL_CHOICE_KIND_AUTO, TOOL_CHOICE_KIND_NONE, TOOL_CHOICE_KIND_SPECIFIC) or integer (int32)Optional; explicit presenceDiscriminator selecting the representation or policy used by this message.
Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#request-field-specifictoolnamespecificToolNamestringOptionalOnly used when kind = TOOL_CHOICE_KIND_SPECIFIC.

Values of kind​

Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#request-values-kind

How the model provider should choose whether and which tool to call.

ValueNo.FormMeaning
TOOL_CHOICE_KIND_AUTO0CanonicalSee meaning below.
TOOL_CHOICE_KIND_NONE1CanonicalSee meaning below.
TOOL_CHOICE_KIND_SPECIFIC2CanonicalSee meaning below.

TOOL_CHOICE_KIND_AUTO

Let the provider decide whether to call an available tool.

provider decides (default)

TOOL_CHOICE_KIND_NONE

Disable tool selection for this generation.

disable tools

TOOL_CHOICE_KIND_SPECIFIC

Require the named tool specified by the enclosing tool-choice configuration.

force a specific tool by name

In responses​

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

API JSON uses JSON field names (camelCase).

FieldTypePresenceMeaning
Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#field-kindSection ID: DOC-API-MODEL-schema-1gmq0e4ilg#response-field-kindkindstring (TOOL_CHOICE_KIND_AUTO, TOOL_CHOICE_KIND_NONE, TOOL_CHOICE_KIND_SPECIFIC) or integer (int32)Optional; explicit presenceDiscriminator selecting the representation or policy used by this message.
Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#field-specifictoolnameSection ID: DOC-API-MODEL-schema-1gmq0e4ilg#response-field-specifictoolnamespecificToolNamestringOptionalOnly used when kind = TOOL_CHOICE_KIND_SPECIFIC.

Values of kind​

Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#response-values-kind

How the model provider should choose whether and which tool to call.

ValueNo.FormMeaning
TOOL_CHOICE_KIND_AUTO0CanonicalSee meaning below.
TOOL_CHOICE_KIND_NONE1CanonicalSee meaning below.
TOOL_CHOICE_KIND_SPECIFIC2CanonicalSee meaning below.

TOOL_CHOICE_KIND_AUTO

Let the provider decide whether to call an available tool.

provider decides (default)

TOOL_CHOICE_KIND_NONE

Disable tool selection for this generation.

disable tools

TOOL_CHOICE_KIND_SPECIFIC

Require the named tool specified by the enclosing tool-choice configuration.

force a specific tool by name

Where used​

Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#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
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
GenerationConfigNested in model
GenerationConfigNested in model

Download the public reference contract.

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