---
title: "update tool"
method: PUT
path: "/v1/tools/{id}"
tags: ["Tools"]
---

# update tool

`PUT /v1/tools/{id}`

Update an existing tool

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `name` string — Updated name for the tool
  - `description` string — Updated description of what the tool does
  - `type` 'CLIENT' | 'SERVER_RAG' | 'SERVER_WEBHOOK' | 'SYSTEM' — Updated tool type
  - `disableInterruptions` boolean — When true, interruptions are disabled while this tool is executing. Defaults to false.
  - `config` union — Updated type-specific configuration
    - object
      - `parameters` object — JSON schema for parameters
      - `awaitResult` boolean — If true, engine pauses until client sends a result back. Default is fire-and-forget.
      - `toolTimeoutSeconds` number — Per-tool timeout in seconds when awaitResult is true. Default 10s.
    - object
      - `documentFolderIds` string[] — IDs of knowledge folders to search
    - object
      - `url` string, uri — Webhook URL to call
      - `method` 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
      - `headers` object
      - `bodyTemplate` string
    - object
      - `action` 'end_call' | 'interrupt'

## Response `200`

Successfully updated tool

- Tool
  - `id` string, uuid — Unique identifier for the tool
  - `name` string — Name of the tool
  - `description` string — Description of what the tool does
  - `type` 'CLIENT' | 'SERVER_RAG' | 'SERVER_WEBHOOK' | 'SYSTEM' — Type of tool
  - `config` object — Type-specific configuration
  - `disableInterruptions` boolean — When true, interruptions are disabled while this tool is executing
  - `createdAt` string, date-time — When the tool was created
  - `updatedAt` string, date-time, nullable — When the tool was last updated
  - `usageCount` integer — Number of personas using this tool

## Other responses

- `400` — Bad request - Invalid tool data
- `401` — Unauthorized - Invalid or missing API key
- `403` — Forbidden - System tools cannot be modified, or the API key lacks the required permission
- `404` — Tool not found
- `500` — Server error

---

[API](https://skmtc.net/anam/apis/anam-ai-api.md) · [All operations](https://skmtc.net/anam/apis/anam-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/anam/anam-ai-api/versions/67afd1c5db59/schema)
