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
| Usage | Fields and validation |
|---|---|
| In requests | View fields |
| In responses | View fields |
In requests
Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#request
API JSON uses JSON field names (camelCase).
| Field | Type | Presence | Meaning |
|---|---|---|---|
Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#request-field-kindkind | string (TOOL_CHOICE_KIND_AUTO, TOOL_CHOICE_KIND_NONE, TOOL_CHOICE_KIND_SPECIFIC) or integer (int32) | Optional; explicit presence | Discriminator selecting the representation or policy used by this message. |
Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#request-field-specifictoolnamespecificToolName | string | Optional | Only 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.
| Value | No. | Form | Meaning |
|---|---|---|---|
TOOL_CHOICE_KIND_AUTO | 0 | Canonical | See meaning below. |
TOOL_CHOICE_KIND_NONE | 1 | Canonical | See meaning below. |
TOOL_CHOICE_KIND_SPECIFIC | 2 | Canonical | See 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).
| Field | Type | Presence | Meaning |
|---|---|---|---|
Section ID: DOC-API-MODEL-schema-1gmq0e4ilg#field-kindSection ID: DOC-API-MODEL-schema-1gmq0e4ilg#response-field-kindkind | string (TOOL_CHOICE_KIND_AUTO, TOOL_CHOICE_KIND_NONE, TOOL_CHOICE_KIND_SPECIFIC) or integer (int32) | Optional; explicit presence | Discriminator 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-specifictoolnamespecificToolName | string | Optional | Only 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.
| Value | No. | Form | Meaning |
|---|---|---|---|
TOOL_CHOICE_KIND_AUTO | 0 | Canonical | See meaning below. |
TOOL_CHOICE_KIND_NONE | 1 | Canonical | See meaning below. |
TOOL_CHOICE_KIND_SPECIFIC | 2 | Canonical | See 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
| Reference | Relationship |
|---|---|
| Create an agent profile | POST /api/v1/agent-profiles/create |
| Get an agent profile | POST /api/v1/agent-profiles/get |
| Import a prompt library | POST /api/v1/agent-profiles/import |
| List agent profiles | POST /api/v1/agent-profiles/list |
| Update an agent profile | POST /api/v1/agent-profiles/update |
| Withdraw your rating on a message | POST /api/v1/llm/delete-message-rating |
| Get full conversation state | POST /api/v1/llm/conversation-state |
| Rate an assistant message | POST /api/v1/llm/rate-message |
| Send a message and wait for the result | POST /api/v1/llm/send-message-sync |
| Submit client-side tool results and wait for the next segment | POST /api/v1/llm/submit-client-tool-results-sync |
| Update context management settings | POST /api/v1/llm/update-context-management-settings |
| Update default generation config | POST /api/v1/llm/update-default-generation-config |
| Get the caller's end-user profile | POST /api/v1/enduser/get |
| Append a message without generating | POST /api/v1/llm/append-message |
| Create a new conversation thread | POST /api/v1/llm/create-thread |
| Send a message to a conversation | POST /api/v1/llm/send-message |
| Update the caller's default generation config | POST /api/v1/enduser/update-generation-config |
| ReceiveMessageRequest | API JSON uses JSON field names (camelCase). |
| ClientToolDispatch | API JSON uses JSON field names (camelCase). |
Models containing this value
| Model | Relationship |
|---|---|
| GenerationConfig | Nested in model |
| GenerationConfig | Nested in model |
Download the public reference contract.
Document ID: DOC-API-MODEL-schema-1gmq0e4ilg