---
title: "List Web Tools"
method: GET
path: "/v2/voice-agents/web-tool/list"
---

# List Web Tools

`GET /v2/voice-agents/web-tool/list`

Retrieves a paginated list of web tools with optional filtering by project, status, type, collection, and search term.

## Query parameters

- `isActive` boolean
- `returnUncategorized` boolean
- `voiceAgentId` string, uuid
- `skip` integer
- `take` integer
- `search` string
- `type` 'FUNCTION' | 'MCP' | 'WEB_TOOL'
- `collectionId` string, uuid

## Response `200`

Successful response

- ListWebToolsResponseV2
  - `success` boolean
  - `data` object
    - `items` WebToolData[]
      - `id` string, uuid — The unique identifier of the web tool
      - `persistentId` string, uuid, nullable — The persistent ID used for versioning
      - `version` integer — The version number of the web tool
      - `name` string — The name of the web tool
      - `type` 'FUNCTION' | 'MCP' | 'WEB_TOOL' — The type of web tool
      - `userId` string, uuid — The ID of the user who created the tool
      - `projectId` string, uuid — The ID of the project
      - `isActive` boolean — Whether the web tool is active
      - `async` boolean — Whether the tool runs asynchronously
      - `description` string, nullable — Description of the web tool
      - `collectionId` string, uuid, nullable — The collection ID if grouped
      - `toolSettings` object, nullable — Tool server settings (null for WEB_TOOL type)
        - `httpHeaders` object, nullable — Custom HTTP headers
        - `pathParameters` object, nullable — URL path parameters
        - `serverUrl` string, nullable — The server endpoint URL
        - `timeout` number, nullable — Request timeout in seconds
        - `authToken` string, nullable — Authentication token
        - `methodType` string, nullable — HTTP method type
      - `params` object, nullable — The parameters schema in OpenAPI format
      - `messages` WebToolMessage[] — Messages to display during tool execution
        - `type` 'REQUEST_START' | 'REQUEST_COMPLETE', required — The type of message. Each type can only appear once.
        - `content` string, required — The message content to display
    - `total` integer — Total number of web tools matching the criteria
    - `filtered` integer — Number of web tools after applying filters

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `500` — Server Side 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)
