Create or update a draft tool
Upsert keyed by toolID (client-minted UUID). headers values are
write-only — stored encrypted, echoed back only as header_keys.
Requires a writer role.
Authorization
bearerAuth Long-lived ES256 JWT minted from the dashboard (https://app.sautikit.com/developers/api-keys). Signed by the
platform keyring. Carries workspace_id and scopes claims;
revoked via the platform deny-list.
In: header
Path Parameters
uuiduuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Upsert body for PUT /v1/agents/{id}/tools/{toolID}.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/agents/497f6eca-6276-4993-bfeb-53cbbbba6f08/tools/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{ "name": "book_appointment", "description": "Book a slot in the clinic calendar.", "url": "https://api.example.com/bookings", "method": "POST", "headers": { "Authorization": "Bearer cal_live_xxx" }, "timeout_ms": 5000 }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "description": "string", "parameters": {}, "url": "string", "method": "string", "header_keys": [ "string" ], "body_params": {}, "timeout_ms": 0}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string" }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string" }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string" }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string" }}