Update a tool
Partially update a tool. Omitted fields are preserved.
Nested objects (api, code, api.request) merge key-by-key.
Arrays (inputs, outputs, headers, environment) replace in full
when the key is present — send the complete list, including entries you
are not changing. availability_rules is the one null-delete: omit it to
leave the rule untouched, send null to detach, send an object to
replace.
For api and code tools, contract, control, and implementation
are writable.
Rename an output, or a code input, by sending its id with the
new name. A rename without id returns 422. api inputs are
name-keyed and cannot be renamed. Editing key, source, or
is_visible_to_llm is allowed. Authorization headers stay stripped
on read-back.
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Path parameters
Request
A two-level tree of conditions that determines availability based on variable values during a conversation. The root group has a match combinator and a list of conditions or condition groups. A rule may contain at most 1000 conditions in total, counting every condition across the root and all nested condition groups.
Partial api implementation. Omitted keys are preserved.
Partial code implementation. Omitted keys are preserved.
Response
The rule that gates when the tool is offered. null when the tool is always available.
How an api tool calls its HTTP endpoint
The sandboxed Python a code tool runs