Update a tool revision
Authorizations
Path Parameters
Body
Mutable fields on a single ToolRevision.
input_defaults is the operator-set input-arg config for input variables
({variable_name: {"value": ..., "type": "default"|"pinned"}} — ENG-590): a
default the agent may override, or a pinned value it cannot; neither is
injected at runtime in this scope. It is validated at the service layer against
the revision's effective variables (the row + any configuration in the
same request), so a wrong-type value or unknown variable is rejected there with
a 422.
Unlike the sibling fields (which use is not None gating), input_defaults
is written via model_fields_set so an explicit null clears all config
while omitting the field is a no-op.
Configuration for an API_CALL tool, stored in Tool.configuration.
Supports {{variable}} placeholders in url, headers, and body that are
resolved at execution time from the tool's input variables and runtime
metadata (via {{metadata.key}}).
Operator-supplied config for a shared call_transfer target (ENG, voice).
The reusable cold-transfer destination. Mirrors the storage-facing fields of
:class:~src.shared.transfer_contracts.TransferTargetConfig; the request
layer only checks shape/mode here, while destination validity (E.164
or sip: URI) is enforced at the service layer via
:func:~src.custom_tools.api._shared.transfer_target.validate_transfer_target_config
so a bad destination surfaces as a clean 422. The label / when-to-use are
carried on the Tool's name / description, not here.
Defines which fields to extract from a tool response.
active, deprecated, disabled Response
Successful Response
How many input variables carry an operator default (ENG-590).
How many input variables are operator-pinned (ENG-590).
Configured variables removed/renamed/retyped by an operator edit.
The input schema with each operator value injected as default.
Configuration for an API_CALL tool, stored in Tool.configuration.
Supports {{variable}} placeholders in url, headers, and body that are
resolved at execution time from the tool's input variables and runtime
metadata (via {{metadata.key}}).
A call_transfer revision's stored target, surfaced on reads.
ToolRevisionResponse.configuration is api_call-typed and parses to
None for a transfer config (it has no url), so this field carries the
destination/mode back for the transfer-target picker. label /
when_to_use come from the parent Tool's name / description.
Defines which fields to extract from a tool response.