Accounts & API Keys
Calls, Messages, Stages
Webhooks
Schema
Update Tool
Replaces an existing tool
API key
The base definition of a tool that can be used during a call. Exactly one implementation (http or client) should be set.
The name of the tool, as presented to the model. Must match ^[a-zA-Z0-9_-]{1,64}$.
The description of the tool.
The parameters that the tool accepts.
The static parameters added when the tool is invoked.
Additional parameters that are automatically set by the system when the tool is invoked.
Requirements that must be fulfilled when creating a call for the tool to be used.
Security requirements for an HTTP tool.
The options for security. Only one must be met. The first one that can be satisfied will be used in general. The single exception to this rule is that we always prefer a non-empty set of requirements over an empty set unless no non-empty set can be satisfied.
Dynamic parameters that must be overridden with an explicit (static) value.
The maximum amount of time the tool is allowed for execution. The conversation is frozen while tools run, so prefer sticking to the default unless you're comfortable with that consequence. If your tool is too slow for the default and can't be made faster, still try to keep this timeout as low as possible.
The tool is guaranteed to be non-mutating, repeatable, and free of side-effects. Such tools can safely be executed speculatively, reducing their effective latency. However, the fact they were called may not be reflected in the call history if their result ends up unused.
Details for an HTTP tool.
The base URL pattern for the tool, possibly with placeholders for path parameters.
The HTTP method for the tool.
Details for a client-implemented tool. Only body parameters are allowed for client tools.
Updating a single field in a tool is not supported. The entire tool definition must be provided.
Authorizations
API key
Path Parameters
Body
40
The base definition of a tool that can be used during a call. Exactly one implementation (http or client) should be set.
The name of the tool, as presented to the model. Must match ^[a-zA-Z0-9_-]{1,64}$.
The description of the tool.
The parameters that the tool accepts.
The name of the parameter.
Where the parameter is used.
PARAMETER_LOCATION_UNSPECIFIED
, PARAMETER_LOCATION_QUERY
, PARAMETER_LOCATION_PATH
, PARAMETER_LOCATION_HEADER
, PARAMETER_LOCATION_BODY
The JsonSchema definition of the parameter. This typically includes things like type, description, enum values, format, other restrictions, etc.
Whether the parameter is required.
The static parameters added when the tool is invoked.
The name of the parameter.
Where the parameter is used.
PARAMETER_LOCATION_UNSPECIFIED
, PARAMETER_LOCATION_QUERY
, PARAMETER_LOCATION_PATH
, PARAMETER_LOCATION_HEADER
, PARAMETER_LOCATION_BODY
The value of the parameter.
Additional parameters that are automatically set by the system when the tool is invoked.
The name of the parameter.
Where the parameter is used.
PARAMETER_LOCATION_UNSPECIFIED
, PARAMETER_LOCATION_QUERY
, PARAMETER_LOCATION_PATH
, PARAMETER_LOCATION_HEADER
, PARAMETER_LOCATION_BODY
The value to set for the parameter.
KNOWN_PARAM_UNSPECIFIED
, KNOWN_PARAM_CALL_ID
, KNOWN_PARAM_CONVERSATION_HISTORY
Requirements that must be fulfilled when creating a call for the tool to be used.
Security requirements for an HTTP tool.
The options for security. Only one must be met. The first one that can be satisfied will be used in general. The single exception to this rule is that we always prefer a non-empty set of requirements over an empty set unless no non-empty set can be satisfied.
Requirements keyed by name.
Dynamic parameters that must be overridden with an explicit (static) value.
The maximum amount of time the tool is allowed for execution. The conversation is frozen while tools run, so prefer sticking to the default unless you're comfortable with that consequence. If your tool is too slow for the default and can't be made faster, still try to keep this timeout as low as possible.
The tool is guaranteed to be non-mutating, repeatable, and free of side-effects. Such tools can safely be executed speculatively, reducing their effective latency. However, the fact they were called may not be reflected in the call history if their result ends up unused.
Details for a client-implemented tool. Only body parameters are allowed for client tools.
Response
40
The base definition of a tool that can be used during a call. Exactly one implementation (http or client) should be set.
The name of the tool, as presented to the model. Must match ^[a-zA-Z0-9_-]{1,64}$.
The description of the tool.
The parameters that the tool accepts.
The name of the parameter.
Where the parameter is used.
PARAMETER_LOCATION_UNSPECIFIED
, PARAMETER_LOCATION_QUERY
, PARAMETER_LOCATION_PATH
, PARAMETER_LOCATION_HEADER
, PARAMETER_LOCATION_BODY
The JsonSchema definition of the parameter. This typically includes things like type, description, enum values, format, other restrictions, etc.
Whether the parameter is required.
The static parameters added when the tool is invoked.
The name of the parameter.
Where the parameter is used.
PARAMETER_LOCATION_UNSPECIFIED
, PARAMETER_LOCATION_QUERY
, PARAMETER_LOCATION_PATH
, PARAMETER_LOCATION_HEADER
, PARAMETER_LOCATION_BODY
The value of the parameter.
Additional parameters that are automatically set by the system when the tool is invoked.
The name of the parameter.
Where the parameter is used.
PARAMETER_LOCATION_UNSPECIFIED
, PARAMETER_LOCATION_QUERY
, PARAMETER_LOCATION_PATH
, PARAMETER_LOCATION_HEADER
, PARAMETER_LOCATION_BODY
The value to set for the parameter.
KNOWN_PARAM_UNSPECIFIED
, KNOWN_PARAM_CALL_ID
, KNOWN_PARAM_CONVERSATION_HISTORY
Requirements that must be fulfilled when creating a call for the tool to be used.
Security requirements for an HTTP tool.
The options for security. Only one must be met. The first one that can be satisfied will be used in general. The single exception to this rule is that we always prefer a non-empty set of requirements over an empty set unless no non-empty set can be satisfied.
Requirements keyed by name.
Dynamic parameters that must be overridden with an explicit (static) value.
The maximum amount of time the tool is allowed for execution. The conversation is frozen while tools run, so prefer sticking to the default unless you're comfortable with that consequence. If your tool is too slow for the default and can't be made faster, still try to keep this timeout as low as possible.
The tool is guaranteed to be non-mutating, repeatable, and free of side-effects. Such tools can safely be executed speculatively, reducing their effective latency. However, the fact they were called may not be reflected in the call history if their result ends up unused.
Details for a client-implemented tool. Only body parameters are allowed for client tools.