Vapi Tools API

Define and manage Tools (function tools, transfer-call tools, end-call tools, DTMF tools, hangup tools, voicemail tools, MCP tools, query tools, Make/Zapier tools, knowledge-base tools, and Google/Slack/ GoHighLevel integrations) that the assistant LLM can invoke during a call.

Vapi Tools API is one of 15 APIs that Vapi publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Tools, Voice AI, and Function Calling. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

vapi-tools-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Vapi Tools API
  description: Vapi API — Tools resource. Voice AI for developers.
  version: '1.0'
  contact:
    name: Vapi
    url: https://vapi.ai
servers:
- url: https://api.vapi.ai
security:
- bearer: []
tags:
- name: Tools
  description: Tools endpoints.
paths:
  /tool:
    post:
      operationId: ToolController_create
      summary: Create Tool
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateApiRequestToolDTO'
                title: ApiRequestTool
              - $ref: '#/components/schemas/CreateCodeToolDTO'
                title: CodeTool
              - $ref: '#/components/schemas/CreateDtmfToolDTO'
                title: DtmfTool
              - $ref: '#/components/schemas/CreateEndCallToolDTO'
                title: EndCallTool
              - $ref: '#/components/schemas/CreateFunctionToolDTO'
                title: FunctionTool
              - $ref: '#/components/schemas/CreateTransferCallToolDTO'
                title: TransferCallTool
              - $ref: '#/components/schemas/CreateHandoffToolDTO'
                title: HandoffTool
              - $ref: '#/components/schemas/CreateBashToolDTO'
                title: BashTool
              - $ref: '#/components/schemas/CreateComputerToolDTO'
                title: ComputerTool
              - $ref: '#/components/schemas/CreateTextEditorToolDTO'
                title: TextEditorTool
              - $ref: '#/components/schemas/CreateQueryToolDTO'
                title: QueryTool
              - $ref: '#/components/schemas/CreateGoogleCalendarCreateEventToolDTO'
                title: GoogleCalendarCreateEventTool
              - $ref: '#/components/schemas/CreateGoogleSheetsRowAppendToolDTO'
                title: GoogleSheetsRowAppendTool
              - $ref: '#/components/schemas/CreateGoogleCalendarCheckAvailabilityToolDTO'
                title: GoogleCalendarCheckAvailabilityTool
              - $ref: '#/components/schemas/CreateSlackSendMessageToolDTO'
                title: SlackSendMessageTool
              - $ref: '#/components/schemas/CreateSmsToolDTO'
                title: SmsSendTool
              - $ref: '#/components/schemas/CreateMcpToolDTO'
                title: McpTool
              - $ref: '#/components/schemas/CreateGoHighLevelCalendarAvailabilityToolDTO'
                title: GoHighLevelCalendarAvailabilityTool
              - $ref: '#/components/schemas/CreateGoHighLevelCalendarEventCreateToolDTO'
                title: GoHighLevelCalendarEventCreateTool
              - $ref: '#/components/schemas/CreateGoHighLevelContactCreateToolDTO'
                title: GoHighLevelContactCreateTool
              - $ref: '#/components/schemas/CreateGoHighLevelContactGetToolDTO'
                title: GoHighLevelContactGetTool
              - $ref: '#/components/schemas/CreateSipRequestToolDTO'
                title: SipRequestTool
              - $ref: '#/components/schemas/CreateVoicemailToolDTO'
                title: VoicemailTool
              discriminator:
                propertyName: type
                mapping:
                  apiRequest: '#/components/schemas/CreateApiRequestToolDTO'
                  dtmf: '#/components/schemas/CreateDtmfToolDTO'
                  endCall: '#/components/schemas/CreateEndCallToolDTO'
                  function: '#/components/schemas/CreateFunctionToolDTO'
                  transferCall: '#/components/schemas/CreateTransferCallToolDTO'
                  handoff: '#/components/schemas/CreateHandoffToolDTO'
                  bash: '#/components/schemas/CreateBashToolDTO'
                  computer: '#/components/schemas/CreateComputerToolDTO'
                  textEditor: '#/components/schemas/CreateTextEditorToolDTO'
                  query: '#/components/schemas/CreateQueryToolDTO'
                  google.calendar.event.create: '#/components/schemas/CreateGoogleCalendarCreateEventToolDTO'
                  google.sheets.row.append: '#/components/schemas/CreateGoogleSheetsRowAppendToolDTO'
                  google.calendar.availability.check: '#/components/schemas/CreateGoogleCalendarCheckAvailabilityToolDTO'
                  slack.message.send: '#/components/schemas/CreateSlackSendMessageToolDTO'
                  sms: '#/components/schemas/CreateSmsToolDTO'
                  mcp: '#/components/schemas/CreateMcpToolDTO'
                  gohighlevel.calendar.availability.check: '#/components/schemas/CreateGoHighLevelCalendarAvailabilityToolDTO'
                  gohighlevel.calendar.event.create: '#/components/schemas/CreateGoHighLevelCalendarEventCreateToolDTO'
                  gohighlevel.contact.create: '#/components/schemas/CreateGoHighLevelContactCreateToolDTO'
                  gohighlevel.contact.get: '#/components/schemas/CreateGoHighLevelContactGetToolDTO'
                  sipRequest: '#/components/schemas/CreateSipRequestToolDTO'
                  voicemail: '#/components/schemas/CreateVoicemailToolDTO'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ApiRequestTool'
                  title: ApiRequestTool
                - $ref: '#/components/schemas/CodeTool'
                  title: CodeTool
                - $ref: '#/components/schemas/DtmfTool'
                  title: DtmfTool
                - $ref: '#/components/schemas/EndCallTool'
                  title: EndCallTool
                - $ref: '#/components/schemas/FunctionTool'
                  title: FunctionTool
                - $ref: '#/components/schemas/GhlTool'
                  title: GhlTool
                - $ref: '#/components/schemas/TransferCallTool'
                  title: TransferCallTool
                - $ref: '#/components/schemas/HandoffTool'
                  title: HandoffTool
                - $ref: '#/components/schemas/BashTool'
                  title: BashTool
                - $ref: '#/components/schemas/ComputerTool'
                  title: ComputerTool
                - $ref: '#/components/schemas/TextEditorTool'
                  title: TextEditorTool
                - $ref: '#/components/schemas/QueryTool'
                  title: QueryTool
                - $ref: '#/components/schemas/GoogleCalendarCreateEventTool'
                  title: GoogleCalendarCreateEventTool
                - $ref: '#/components/schemas/GoogleSheetsRowAppendTool'
                  title: GoogleSheetsRowAppendTool
                - $ref: '#/components/schemas/GoogleCalendarCheckAvailabilityTool'
                  title: GoogleCalendarCheckAvailabilityTool
                - $ref: '#/components/schemas/SlackSendMessageTool'
                  title: SlackSendMessageTool
                - $ref: '#/components/schemas/SmsTool'
                  title: SmsSendTool
                - $ref: '#/components/schemas/McpTool'
                  title: McpTool
                - $ref: '#/components/schemas/GoHighLevelCalendarAvailabilityTool'
                  title: GoHighLevelCalendarAvailabilityTool
                - $ref: '#/components/schemas/GoHighLevelCalendarEventCreateTool'
                  title: GoHighLevelCalendarEventCreateTool
                - $ref: '#/components/schemas/GoHighLevelContactCreateTool'
                  title: GoHighLevelContactCreateTool
                - $ref: '#/components/schemas/GoHighLevelContactGetTool'
                  title: GoHighLevelContactGetTool
                - $ref: '#/components/schemas/SipRequestTool'
                  title: SipRequestTool
                - $ref: '#/components/schemas/VoicemailTool'
                  title: VoicemailTool
                discriminator:
                  propertyName: type
                  mapping:
                    apiRequest: '#/components/schemas/ApiRequestTool'
                    code: '#/components/schemas/CodeTool'
                    dtmf: '#/components/schemas/DtmfTool'
                    endCall: '#/components/schemas/EndCallTool'
                    function: '#/components/schemas/FunctionTool'
                    transferCall: '#/components/schemas/TransferCallTool'
                    handoff: '#/components/schemas/HandoffTool'
                    bash: '#/components/schemas/BashTool'
                    computer: '#/components/schemas/ComputerTool'
                    textEditor: '#/components/schemas/TextEditorTool'
                    query: '#/components/schemas/QueryTool'
                    google.calendar.event.create: '#/components/schemas/GoogleCalendarCreateEventTool'
                    google.sheets.row.append: '#/components/schemas/GoogleSheetsRowAppendTool'
                    google.calendar.availability.check: '#/components/schemas/GoogleCalendarCheckAvailabilityTool'
                    slack.message.send: '#/components/schemas/SlackSendMessageTool'
                    sms: '#/components/schemas/SmsTool'
                    mcp: '#/components/schemas/McpTool'
                    gohighlevel.calendar.availability.check: '#/components/schemas/GoHighLevelCalendarAvailabilityTool'
                    gohighlevel.calendar.event.create: '#/components/schemas/GoHighLevelCalendarEventCreateTool'
                    gohighlevel.contact.create: '#/components/schemas/GoHighLevelContactCreateTool'
                    gohighlevel.contact.get: '#/components/schemas/GoHighLevelContactGetTool'
                    sipRequest: '#/components/schemas/SipRequestTool'
                    voicemail: '#/components/schemas/VoicemailTool'
      tags:
      - Tools
      security:
      - bearer: []
    get:
      operationId: ToolController_findAll
      summary: List Tools
      parameters:
      - name: limit
        required: false
        in: query
        description: This is the maximum number of items to return. Defaults to 100.
        schema:
          minimum: 0
          maximum: 1000
          type: number
      - name: createdAtGt
        required: false
        in: query
        description: This will return items where the createdAt is greater than the specified value.
        schema:
          format: date-time
          type: string
      - name: createdAtLt
        required: false
        in: query
        description: This will return items where the createdAt is less than the specified value.
        schema:
          format: date-time
          type: string
      - name: createdAtGe
        required: false
        in: query
        description: This will return items where the createdAt is greater than or equal to the specified value.
        schema:
          format: date-time
          type: string
      - name: createdAtLe
        required: false
        in: query
        description: This will return items where the createdAt is less than or equal to the specified value.
        schema:
          format: date-time
          type: string
      - name: updatedAtGt
        required: false
        in: query
        description: This will return items where the updatedAt is greater than the specified value.
        schema:
          format: date-time
          type: string
      - name: updatedAtLt
        required: false
        in: query
        description: This will return items where the updatedAt is less than the specified value.
        schema:
          format: date-time
          type: string
      - name: updatedAtGe
        required: false
        in: query
        description: This will return items where the updatedAt is greater than or equal to the specified value.
        schema:
          format: date-time
          type: string
      - name: updatedAtLe
        required: false
        in: query
        description: This will return items where the updatedAt is less than or equal to the specified value.
        schema:
          format: date-time
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                  - $ref: '#/components/schemas/ApiRequestTool'
                    title: ApiRequestTool
                  - $ref: '#/components/schemas/CodeTool'
                    title: CodeTool
                  - $ref: '#/components/schemas/DtmfTool'
                    title: DtmfTool
                  - $ref: '#/components/schemas/EndCallTool'
                    title: EndCallTool
                  - $ref: '#/components/schemas/FunctionTool'
                    title: FunctionTool
                  - $ref: '#/components/schemas/GhlTool'
                    title: GhlTool
                  - $ref: '#/components/schemas/TransferCallTool'
                    title: TransferCallTool
                  - $ref: '#/components/schemas/HandoffTool'
                    title: HandoffTool
                  - $ref: '#/components/schemas/BashTool'
                    title: BashTool
                  - $ref: '#/components/schemas/ComputerTool'
                    title: ComputerTool
                  - $ref: '#/components/schemas/TextEditorTool'
                    title: TextEditorTool
                  - $ref: '#/components/schemas/QueryTool'
                    title: QueryTool
                  - $ref: '#/components/schemas/GoogleCalendarCreateEventTool'
                    title: GoogleCalendarCreateEventTool
                  - $ref: '#/components/schemas/GoogleSheetsRowAppendTool'
                    title: GoogleSheetsRowAppendTool
                  - $ref: '#/components/schemas/GoogleCalendarCheckAvailabilityTool'
                    title: GoogleCalendarCheckAvailabilityTool
                  - $ref: '#/components/schemas/SlackSendMessageTool'
                    title: SlackSendMessageTool
                  - $ref: '#/components/schemas/SmsTool'
                    title: SmsSendTool
                  - $ref: '#/components/schemas/McpTool'
                    title: McpTool
                  - $ref: '#/components/schemas/GoHighLevelCalendarAvailabilityTool'
                    title: GoHighLevelCalendarAvailabilityTool
                  - $ref: '#/components/schemas/GoHighLevelCalendarEventCreateTool'
                    title: GoHighLevelCalendarEventCreateTool
                  - $ref: '#/components/schemas/GoHighLevelContactCreateTool'
                    title: GoHighLevelContactCreateTool
                  - $ref: '#/components/schemas/GoHighLevelContactGetTool'
                    title: GoHighLevelContactGetTool
                  - $ref: '#/components/schemas/SipRequestTool'
                    title: SipRequestTool
                  - $ref: '#/components/schemas/VoicemailTool'
                    title: VoicemailTool
                  discriminator:
                    propertyName: type
                    mapping:
                      apiRequest: '#/components/schemas/ApiRequestTool'
                      code: '#/components/schemas/CodeTool'
                      dtmf: '#/components/schemas/DtmfTool'
                      endCall: '#/components/schemas/EndCallTool'
                      function: '#/components/schemas/FunctionTool'
                      transferCall: '#/components/schemas/TransferCallTool'
                      handoff: '#/components/schemas/HandoffTool'
                      bash: '#/components/schemas/BashTool'
                      computer: '#/components/schemas/ComputerTool'
                      textEditor: '#/components/schemas/TextEditorTool'
                      query: '#/components/schemas/QueryTool'
                      google.calendar.event.create: '#/components/schemas/GoogleCalendarCreateEventTool'
                      google.sheets.row.append: '#/components/schemas/GoogleSheetsRowAppendTool'
                      google.calendar.availability.check: '#/components/schemas/GoogleCalendarCheckAvailabilityTool'
                      slack.message.send: '#/components/schemas/SlackSendMessageTool'
                      sms: '#/components/schemas/SmsTool'
                      mcp: '#/components/schemas/McpTool'
                      gohighlevel.calendar.availability.check: '#/components/schemas/GoHighLevelCalendarAvailabilityTool'
                      gohighlevel.calendar.event.create: '#/components/schemas/GoHighLevelCalendarEventCreateTool'
                      gohighlevel.contact.create: '#/components/schemas/GoHighLevelContactCreateTool'
                      gohighlevel.contact.get: '#/components/schemas/GoHighLevelContactGetTool'
                      sipRequest: '#/components/schemas/SipRequestTool'
                      voicemail: '#/components/schemas/VoicemailTool'
      tags:
      - Tools
      security:
      - bearer: []
  /tool/{id}:
    get:
      operationId: ToolController_findOne
      summary: Get Tool
      parameters:
      - name: id
        required: true
        in: path
        description: The unique identifier for the resource.
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ApiRequestTool'
                  title: ApiRequestTool
                - $ref: '#/components/schemas/CodeTool'
                  title: CodeTool
                - $ref: '#/components/schemas/DtmfTool'
                  title: DtmfTool
                - $ref: '#/components/schemas/EndCallTool'
                  title: EndCallTool
                - $ref: '#/components/schemas/FunctionTool'
                  title: FunctionTool
                - $ref: '#/components/schemas/GhlTool'
                  title: GhlTool
                - $ref: '#/components/schemas/TransferCallTool'
                  title: TransferCallTool
                - $ref: '#/components/schemas/HandoffTool'
                  title: HandoffTool
                - $ref: '#/components/schemas/BashTool'
                  title: BashTool
                - $ref: '#/components/schemas/ComputerTool'
                  title: ComputerTool
                - $ref: '#/components/schemas/TextEditorTool'
                  title: TextEditorTool
                - $ref: '#/components/schemas/QueryTool'
                  title: QueryTool
                - $ref: '#/components/schemas/GoogleCalendarCreateEventTool'
                  title: GoogleCalendarCreateEventTool
                - $ref: '#/components/schemas/GoogleSheetsRowAppendTool'
                  title: GoogleSheetsRowAppendTool
                - $ref: '#/components/schemas/GoogleCalendarCheckAvailabilityTool'
                  title: GoogleCalendarCheckAvailabilityTool
                - $ref: '#/components/schemas/SlackSendMessageTool'
                  title: SlackSendMessageTool
                - $ref: '#/components/schemas/SmsTool'
                  title: SmsSendTool
                - $ref: '#/components/schemas/McpTool'
                  title: McpTool
                - $ref: '#/components/schemas/GoHighLevelCalendarAvailabilityTool'
                  title: GoHighLevelCalendarAvailabilityTool
                - $ref: '#/components/schemas/GoHighLevelCalendarEventCreateTool'
                  title: GoHighLevelCalendarEventCreateTool
                - $ref: '#/components/schemas/GoHighLevelContactCreateTool'
                  title: GoHighLevelContactCreateTool
                - $ref: '#/components/schemas/GoHighLevelContactGetTool'
                  title: GoHighLevelContactGetTool
                - $ref: '#/components/schemas/SipRequestTool'
                  title: SipRequestTool
                - $ref: '#/components/schemas/VoicemailTool'
                  title: VoicemailTool
                discriminator:
                  propertyName: type
                  mapping:
                    apiRequest: '#/components/schemas/ApiRequestTool'
                    code: '#/components/schemas/CodeTool'
                    dtmf: '#/components/schemas/DtmfTool'
                    endCall: '#/components/schemas/EndCallTool'
                    function: '#/components/schemas/FunctionTool'
                    transferCall: '#/components/schemas/TransferCallTool'
                    handoff: '#/components/schemas/HandoffTool'
                    bash: '#/components/schemas/BashTool'
                    computer: '#/components/schemas/ComputerTool'
                    textEditor: '#/components/schemas/TextEditorTool'
                    query: '#/components/schemas/QueryTool'
                    google.calendar.event.create: '#/components/schemas/GoogleCalendarCreateEventTool'
                    google.sheets.row.append: '#/components/schemas/GoogleSheetsRowAppendTool'
                    google.calendar.availability.check: '#/components/schemas/GoogleCalendarCheckAvailabilityTool'
                    slack.message.send: '#/components/schemas/SlackSendMessageTool'
                    sms: '#/components/schemas/SmsTool'
                    mcp: '#/components/schemas/McpTool'
                    gohighlevel.calendar.availability.check: '#/components/schemas/GoHighLevelCalendarAvailabilityTool'
                    gohighlevel.calendar.event.create: '#/components/schemas/GoHighLevelCalendarEventCreateTool'
                    gohighlevel.contact.create: '#/components/schemas/GoHighLevelContactCreateTool'
                    gohighlevel.contact.get: '#/components/schemas/GoHighLevelContactGetTool'
                    sipRequest: '#/components/schemas/SipRequestTool'
                    voicemail: '#/components/schemas/VoicemailTool'
      tags:
      - Tools
      security:
      - bearer: []
    patch:
      operationId: ToolController_update
      summary: Update Tool
      parameters:
      - name: id
        required: true
        in: path
        description: The unique identifier for the resource.
        schema:
          format: uuid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/UpdateApiRequestToolDTO'
                title: ApiRequestTool
              - $ref: '#/components/schemas/UpdateCodeToolDTO'
                title: CodeTool
              - $ref: '#/components/schemas/UpdateDtmfToolDTO'
                title: DtmfTool
              - $ref: '#/components/schemas/UpdateEndCallToolDTO'
                title: EndCallTool
              - $ref: '#/components/schemas/UpdateFunctionToolDTO'
                title: FunctionTool
              - $ref: '#/components/schemas/UpdateTransferCallToolDTO'
                title: TransferCallTool
              - $ref: '#/components/schemas/UpdateHandoffToolDTO'
                title: HandoffTool
              - $ref: '#/components/schemas/UpdateBashToolDTO'
                title: BashTool
              - $ref: '#/components/schemas/UpdateComputerToolDTO'
                title: ComputerTool
              - $ref: '#/components/schemas/UpdateTextEditorToolDTO'
                title: TextEditorTool
              - $ref: '#/components/schemas/UpdateQueryToolDTO'
                title: QueryTool
              - $ref: '#/components/schemas/UpdateGoogleCalendarCreateEventToolDTO'
                title: GoogleCalendarCreateEventTool
              - $ref: '#/components/schemas/UpdateGoogleSheetsRowAppendToolDTO'
                title: GoogleSheetsRowAppendTool
              - $ref: '#/components/schemas/UpdateGoogleCalendarCheckAvailabilityToolDTO'
                title: GoogleCalendarCheckAvailabilityTool
              - $ref: '#/components/schemas/UpdateSlackSendMessageToolDTO'
                title: SlackSendMessageTool
              - $ref: '#/components/schemas/UpdateSmsToolDTO'
                title: SmsSendTool
              - $ref: '#/components/schemas/UpdateMcpToolDTO'
                title: McpTool
              - $ref: '#/components/schemas/UpdateGoHighLevelCalendarAvailabilityToolDTO'
                title: GoHighLevelCalendarAvailabilityTool
              - $ref: '#/components/schemas/UpdateGoHighLevelCalendarEventCreateToolDTO'
                title: GoHighLevelCalendarEventCreateTool
              - $ref: '#/components/schemas/UpdateGoHighLevelContactCreateToolDTO'
                title: GoHighLevelContactCreateTool
              - $ref: '#/components/schemas/UpdateGoHighLevelContactGetToolDTO'
                title: GoHighLevelContactGetTool
              - $ref: '#/components/schemas/UpdateSipRequestToolDTO'
                title: SipRequestTool
              - $ref: '#/components/schemas/UpdateVoicemailToolDTO'
                title: VoicemailTool
              discriminator:
                propertyName: type
                mapping:
                  apiRequest: '#/components/schemas/UpdateApiRequestToolDTO'
                  dtmf: '#/components/schemas/UpdateDtmfToolDTO'
                  endCall: '#/components/schemas/UpdateEndCallToolDTO'
                  function: '#/components/schemas/UpdateFunctionToolDTO'
                  transferCall: '#/components/schemas/UpdateTransferCallToolDTO'
                  handoff: '#/components/schemas/UpdateHandoffToolDTO'
                  bash: '#/components/schemas/UpdateBashToolDTO'
                  computer: '#/components/schemas/UpdateComputerToolDTO'
                  textEditor: '#/components/schemas/UpdateTextEditorToolDTO'
                  query: '#/components/schemas/UpdateQueryToolDTO'
                  google.calendar.event.create: '#/components/schemas/UpdateGoogleCalendarCreateEventToolDTO'
                  google.sheets.row.append: '#/components/schemas/UpdateGoogleSheetsRowAppendToolDTO'
                  google.calendar.availability.check: '#/components/schemas/UpdateGoogleCalendarCheckAvailabilityToolDTO'
                  slack.message.send: '#/components/schemas/UpdateSlackSendMessageToolDTO'
                  sms: '#/components/schemas/UpdateSmsToolDTO'
                  mcp: '#/components/schemas/UpdateMcpToolDTO'
                  gohighlevel.calendar.availability.check: '#/components/schemas/UpdateGoHighLevelCalendarAvailabilityToolDTO'
                  gohighlevel.calendar.event.create: '#/components/schemas/UpdateGoHighLevelCalendarEventCreateToolDTO'
                  gohighlevel.contact.create: '#/components/schemas/UpdateGoHighLevelContactCreateToolDTO'
                  gohighlevel.contact.get: '#/components/schemas/UpdateGoHighLevelContactGetToolDTO'
                  sipRequest: '#/components/schemas/UpdateSipRequestToolDTO'
                  voicemail: '#/components/schemas/UpdateVoicemailToolDTO'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ApiRequestTool'
                  title: ApiRequestTool
                - $ref: '#/components/schemas/CodeTool'
                  title: CodeTool
                - $ref: '#/components/schemas/DtmfTool'
                  title: DtmfTool
                - $ref: '#/components/schemas/EndCallTool'
                  title: EndCallTool
                - $ref: '#/components/schemas/FunctionTool'
                  title: FunctionTool
                - $ref: '#/components/schemas/GhlTool'
                  title: GhlTool
                - $ref: '#/components/schemas/TransferCallTool'
                  title: TransferCallTool
                - $ref: '#/components/schemas/HandoffTool'
                  title: HandoffTool
                - $ref: '#/components/schemas/BashTool'
                  title: BashTool
                - $ref: '#/components/schemas/ComputerTool'
                  title: ComputerTool
                - $ref: '#/components/schemas/TextEditorTool'
                  title: TextEditorTool
                - $ref: '#/components/schemas/QueryTool'
                  title: QueryTool
                - $ref: '#/components/schemas/GoogleCalendarCreateEventTool'
                  title: GoogleCalendarCreateEventTool
                - $ref: '#/components/schemas/GoogleSheetsRowAppendTool'
                  title: GoogleSheetsRowAppendTool
                - $ref: '#/components/schemas/GoogleCalendarCheckAvailabilityTool'
                  title: GoogleCalendarCheckAvailabilityTool
                - $ref: '#/components/schemas/SlackSendMessageTool'
                  title: SlackSendMessageTool
                - $ref: '#/components/schemas/SmsTool'
                  title: SmsSendTool
                - $ref: '#/components/schemas/McpTool'
                  title: McpTool
                - $ref: '#/components/schemas/GoHighLevelCalendarAvailabilityTool'
                  title: GoHighLevelCalendarAvailabilityTool
                - $ref: '#/components/schemas/GoHighLevelCalendarEventCreateTool'
                  title: GoHighLevelCalendarEventCreateTool
                - $ref: '#/components/schemas/GoHighLevelContactCreateTool'
                  title: GoHighLevelContactCreateTool
                - $ref: '#/components/schemas/GoHighLevelContactGetTool'
                  title: GoHighLevelContactGetTool
                - $ref: '#/components/schemas/SipRequestTool'
                  title: SipRequestTool
                - $ref: '#/components/schemas/VoicemailTool'
                  title: VoicemailTool
                discriminator:
                  propertyName: type
                  mapping:
                    apiRequest: '#/components/schemas/ApiRequestTool'
                    code: '#/components/schemas/CodeTool'
                    dtmf: '#/components/schemas/DtmfTool'
                    endCall: '#/components/schemas/EndCallTool'
                    function: '#/components/schemas/FunctionTool'
                    transferCall: '#/components/schemas/TransferCallTool'
                    handoff: '#/components/schemas/HandoffTool'
                    bash: '#/components/schemas/BashTool'
                    computer: '#/components/schemas/ComputerTool'
                    textEditor: '#/components/schemas/TextEditorTool'
                    query: '#/components/schemas/QueryTool'
                    google.calendar.event.create: '#/components/schemas/GoogleCalendarCreateEventTool'
                    google.sheets.row.append: '#/components/schemas/GoogleSheetsRowAppendTool'
                    google.calendar.availability.check: '#/components/schemas/GoogleCalendarCheckAvailabilityTool'
                    slack.message.send: '#/components/schemas/SlackSendMessageTool'
                    sms: '#/components/schemas/SmsTool'
                    mcp: '#/components/schemas/McpTool'
                    gohighlevel.calendar.availability.check: '#/components/schemas/GoHighLevelCalendarAvailabilityTool'
                    gohighlevel.calendar.event.create: '#/components/schemas/GoHighLevelCalendarEventCreateTool'
                    gohighlevel.contact.create: '#/components/schemas/GoHighLevelContactCreateTool'
                    gohighlevel.contact.get: '#/components/schemas/GoHighLevelContactGetTool'
                    sipRequest: '#/components/schemas/SipRequestTool'
                    voicemail: '#/components/schemas/VoicemailTool'
      tags:
      - Tools
      security:
      - bearer: []
    delete:
      operationId: ToolController_remove
      summary: Delete Tool
      parameters:
      - name: id
        required: true
        in: path
        description: The unique identifier for the resource.
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ApiRequestTool'
                  title: ApiRequestTool
                - $ref: '#/components/schemas/CodeTool'
                  title: CodeTool
                - $ref: '#/components/schemas/DtmfTool'
                  title: DtmfTool
                - $ref: '#/components/schemas/EndCallTool'
                  title: EndCallTool
                - $ref: '#/components/schemas/FunctionTool'
                  title: FunctionTool
                - $ref: '#/components/schemas/GhlTool'
                  title: GhlTool
                - $ref: '#/components/schemas/TransferCallTool'
                  title: TransferCallTool
                - $ref: '#/components/schemas/HandoffTool'
                  title: HandoffTool
                - $ref: '#/components/sch

# --- truncated at 32 KB (985 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vapi-ai/refs/heads/main/openapi/vapi-tools-api-openapi.yml