PUT /v1/sessions/{session_id}/clients/{client_id}/tools
PUT
/v1/sessions/{session_id}/clients/{client_id}/toolsAuthorization
AuthorizationBearer token · headerrequiredPath parameters
session_idstring<uuid>requiredSession id
client_idstring<uuid>requiredClient id
Request body
requiredapplication/jsontoolsClientToolBody[]requiredmax items 64
Show propertiesHide properties
Array of
ClientToolBodydescriptionstringrequiredWhat the tool does, as the model reads it.
max length 4096
namestringrequiredmin length 1 · max length 64 · matches ^[A-Za-z0-9_-]+$
parametersobjectrequiredJSON Schema object describing the tool's arguments.
Responses
200Replaced, and recorded in the log. A live run reads the new list before its next model call, and a tool dropped here is refused from this moment: a call naming it comes back to the model as an error listing what the client does offer. A tool call that changes the page (a navigation) should replace the list here before answering the call, so the model reads the answer and the new tools together.
seqinteger<int64>required400Malformed body or path parameter, or a tool outside its charset, length, or count.
errorErrorDetailrequiredShow propertiesHide properties
codeErrorCoderequiredThe machine-readable half of an error response, and the field a client
branches on. Closed: every error carries exactly one of these.
Allowed:
unauthorizedforbiddennot_foundinvalid_requestconflictclient_outdatedprecondition_failedtoo_many_requestsinternalmessagestringrequired401Missing, malformed, or invalid credential.
errorErrorDetailrequiredShow propertiesHide properties
codeErrorCoderequiredThe machine-readable half of an error response, and the field a client
branches on. Closed: every error carries exactly one of these.
Allowed:
unauthorizedforbiddennot_foundinvalid_requestconflictclient_outdatedprecondition_failedtoo_many_requestsinternalmessagestringrequired403A workspace credential lacking session.manage.
errorErrorDetailrequiredShow propertiesHide properties
codeErrorCoderequiredThe machine-readable half of an error response, and the field a client
branches on. Closed: every error carries exactly one of these.
Allowed:
unauthorizedforbiddennot_foundinvalid_requestconflictclient_outdatedprecondition_failedtoo_many_requestsinternalmessagestringrequired404No such live client on this session.
errorErrorDetailrequiredShow propertiesHide properties
codeErrorCoderequiredThe machine-readable half of an error response, and the field a client
branches on. Closed: every error carries exactly one of these.
Allowed:
unauthorizedforbiddennot_foundinvalid_requestconflictclient_outdatedprecondition_failedtoo_many_requestsinternalmessagestringrequired