Delete a draft tool
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
uuiduuidResponse Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/agents/497f6eca-6276-4993-bfeb-53cbbbba6f08/tools/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "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" }}Create or update a draft tool PUT
Upsert keyed by `toolID` (client-minted UUID). `headers` values are write-only — stored encrypted, echoed back only as `header_keys`. Requires a writer role.
Place a one-off AI agent call POST
The single-call primitive: dials one number, composing the agent's `base_prompt` with the per-call `prompt_template` (+ `variables`), bypassing broadcast schedule/retry machinery. Billed normally; occupies a concurrency seat like any broadcast dial. The caller-ID is the workspace's own dialable number (422 `send.no_caller_number` if none). Pass `revision` to compose against a pinned published revision instead of the mutable draft.