---
title: "Update a web tool by Id."
method: PATCH
path: "/v1/voice-agents/web-tool/{id}"
deprecated: true
---

# Update a web tool by Id.

`PATCH /v1/voice-agents/web-tool/{id}`

> **Deprecated.**

## Path parameters

- `id` string, uuid, required

## Request body

- UpdateWebToolRequest
  - `type` 'FUNCTION' | 'MCP' — The type of the web tool.
  - `name` string — The name of the web tool.
  - `description` string — A description of what the web tool does.
  - `async` boolean — Whether the tool should run asynchronously. Required when type is FUNCTION, not allowed when type is MCP.
  - `toolSettings` object — Server configuration settings for the web tool.
    - `serverUrl` string, uri, required — The server URL for the web tool.
    - `authToken` string — Authentication token for the server.
    - `timeOut` number — Request timeout in milliseconds.
    - `methodType` string, required — HTTP method type for the request.
    - `httpHeaders` object — HTTP headers to include in the request.
    - `pathParameters` object — The path parameters you've included in the request's URL.
  - `messages` object[] — Array of message configurations for the web tool. Each message type must be unique.
    - `type` string — The type of the message.
    - `content` string — The content of the message.
  - `params` object — Parameter schema definition for the web tool. Not allowed when type is MCP. This field is a recursive OpenAPI-style shape with 'type', 'properties', 'required', 'items', ...etc. Please refer to the [OpenAPI specification](https://swagger.io/specification/) for more information.

## Response `200`

Successful response

- UpdateWebToolResponse
  - `success` boolean
  - `message` string
  - `data` WebToolSchema
    - `id` string — The unique identifier of the web tool.
    - `persistentId` string — The unique identifier of the web tool across all versions of the tool.
    - `version` number — The version of the tool.
    - `name` string — The name of the web tool.
    - `type` 'FUNCTION' | 'MCP' — The type of the web tool.
    - `userId` string — The user ID associated with the web tool.
    - `projectId` string — The project ID associated with the web tool.
    - `isActive` boolean — Indicates whether the web tool is currently active in any voice agent.
    - `async` boolean — Whether the tool runs asynchronously.
    - `description` string, nullable — A description of what the web tool does.
    - `collectionId` string — The collection ID associated with the web tool.
    - `toolSettings` object — Server configuration settings for the web tool.
      - `httpHeaders` object, nullable — HTTP headers to include in the request.
      - `pathParameters` object, nullable — Path parameters you've included in the request's URL.
      - `serverUrl` string, required — The server URL for the web tool.
      - `timeout` number, nullable — Request timeout in milliseconds.
      - `authToken` string, nullable — Authentication token for the server.
      - `methodType` string, nullable — HTTP method type for the request.
    - `params` object, nullable — Parameter schema definition for the web tool.
    - `messages` object[] — Array of message configurations for the web tool.
      - `type` string, required — The type of the message.
      - `content` string, required — The content of the message.

## Other responses

- `400` — Bad Request
- `401` — Bad Request
- `403` — Bad Request
- `404` — Not Found
- `500` — Internal Server Error

---

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