> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryhamsa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Return a list of Web Tools.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/voice-agents/web-tool/list
openapi: 3.0.1
info:
  title: Hamsa API
  description: Trying out our transcription and media-to-text APIs
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.tryhamsa.com
security: []
paths:
  /v1/voice-agents/web-tool/list:
    get:
      summary: Return a list of Web Tools.
      parameters:
        - name: voiceAgentId
          in: query
          schema:
            type: string
            format: uuid
            description: Optional UUID of the voice agent to filter associated web tools.
            example: d949f13f-40d2-4e48-ac86-b66633070603
          required: false
        - name: isActive
          in: query
          schema:
            type: boolean
            description: >-
              Optional boolean indicating whether to fetch active web tools or
              not.
            example: true
          required: false
        - name: skip
          in: query
          schema:
            type: string
            description: Page number for pagination. Defaults to '1'.
            example: '1'
          required: false
        - name: take
          in: query
          schema:
            type: string
            description: Number of items to take for pagination. Defaults to '10'.
            example: '10'
          required: false
        - name: type
          in: query
          schema:
            type: string
            description: The type of the web tool to filter.
            enum:
              - MCP
              - FUNCTION
              - WEB_TOOL
            example: MCP
          required: false
        - name: search
          in: query
          schema:
            type: string
            description: A search query to filter web tools.
            example: Get callee info
          required: false
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListWebToolsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '500':
          description: Server Side Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
      deprecated: true
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ListWebToolsResponse:
      type: object
      properties:
        success:
          type: boolean
          default: false
        message:
          type: string
          default: success
        data:
          type: object
          properties:
            total:
              type: number
              description: The total number of web tools over all pages.
              example: 100
            filtered:
              type: number
              description: The filtered/returned number of web tools.
              example: 100
            items:
              type: array
              items:
                $ref: '#/components/schemas/WebToolSchema'
    ErrorSchema:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
    WebToolSchema:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the web tool.
          example: d949f13f-40d2-4e48-ac86-b66633070603
        persistentId:
          type: string
          description: >-
            The unique identifier of the web tool across all versions of the
            tool.
          example: cmjx8qzw0000004kz3jek1ktu
        version:
          type: number
          description: The version of the tool.
          example: 1
        name:
          type: string
          description: The name of the web tool.
          example: Weather API Tool
        type:
          type: string
          description: The type of the web tool.
          enum:
            - FUNCTION
            - MCP
          example: FUNCTION
        userId:
          type: string
          description: The user ID associated with the web tool.
          example: 550e8400-e29b-41d4-a716-446655440000
        projectId:
          type: string
          description: The project ID associated with the web tool.
          example: d949f13f-40d2-4e48-ac86-b66633070603
        isActive:
          type: boolean
          description: >-
            Indicates whether the web tool is currently active in any voice
            agent.
          example: true
        async:
          type: boolean
          description: Whether the tool runs asynchronously.
          example: true
        description:
          type: string
          nullable: true
          description: A description of what the web tool does.
          example: >-
            A tool that fetches current weather information for a given
            location.
        collectionId:
          type: string
          description: The collection ID associated with the web tool.
          example: 550e8400-e29b-41d4-a716-446655440000
        toolSettings:
          type: object
          description: Server configuration settings for the web tool.
          properties:
            httpHeaders:
              type: object
              nullable: true
              description: HTTP headers to include in the request.
              example:
                Content-Type: application/json
                Authorization: Bearer token
            pathParameters:
              type: object
              nullable: true
              description: Path parameters you've included in the request's URL.
              example:
                userId: '12345'
            serverUrl:
              type: string
              description: The server URL for the web tool.
              example: https://api.example.com/webhook
            timeout:
              type: number
              nullable: true
              description: Request timeout in milliseconds.
              example: 5000
            authToken:
              type: string
              nullable: true
              description: Authentication token for the server.
              example: bearer_token_12345
            methodType:
              type: string
              nullable: true
              description: HTTP method type for the request.
              example: POST
          required:
            - serverUrl
        params:
          type: object
          description: Parameter schema definition for the web tool.
          nullable: true
          example:
            location:
              type: string
              description: The location to get weather for
        messages:
          type: array
          description: Array of message configurations for the web tool.
          items:
            type: object
            properties:
              type:
                type: string
                description: The type of the message.
                example: system
              content:
                type: string
                description: The content of the message.
                example: You are a helpful weather assistant.
            required:
              - type
              - content
          example:
            - type: system
              content: You are a helpful weather assistant.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Pass the API key in the Authorization header, You need to put Token
        keyword before the API key. e.g. 'Authorization: Token <api-key>'

````