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

> End app voice call through the Voice SDK integration. Use with the authentication and customer identity flow described in the app voice guide.

# End an app voice call

See [Voice SDK integration](/phone/voice-sdk) for authentication, platform packages, routing, and preview availability.

Use `Authorization: Bearer <controlToken>` for this exact call. Returns HTTP 200 with `{ "success": true }`. Ending a call disconnects all its participants and settles its call history. Repeated requests are safe while the control token remains valid.

If the request fails, the SDK still stops local audio. Server cleanup handles abandoned calls independently. Invalid, expired, or mismatched control tokens return 401.


## OpenAPI

````yaml delete /phone/web-calls/{callId}
openapi: 3.1.0
info:
  title: OpenCX API
  description: >

    OpenCX is an AI-powered, all-in-one platform for customer support and
    outbound communications.


    Use this API to manage your OpenCX organization's AI agents, actions,
    conversations, contacts, and more.


    To get started, generate a new API key from the dashboard.


    ## Authentication

    All API endpoints require authentication using a Bearer token. You can
    generate an API key from your OpenCX dashboard.


    ## Rate Limiting

    API requests are rate limited to ensure fair usage. The current limits are:

    - 100 requests per minute for standard endpoints

    - 1000 requests per minute for streaming endpoints


    ## Error Handling

    The API uses standard HTTP status codes and returns detailed error messages
    in the response body.
  version: 1.0-beta
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: http://localhost:8080
    description: Development
  - url: https://api.open.cx
    description: Production
security:
  - bearerAuth: []
paths:
  /phone/web-calls/{callId}:
    delete:
      tags:
        - Phone
      summary: End an app voice call
      description: >-
        Authorize with this call’s controlToken. Ends all participants in this
        call. Repeated requests are safe.
      operationId: endWebCall
      parameters:
        - schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          in: path
          name: callId
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebCallSuccessDto'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
components:
  schemas:
    WebCallSuccessDto:
      $schema: https://json-schema.org/draft/2020-12/schema
      $id: '#/components/schemas/WebCallSuccessDto'
      type: object
      properties:
        success:
          type: boolean
      required:
        - success
      additionalProperties: false
    ErrorDto:
      type: object
      properties:
        statusCode:
          type: integer
        message:
          type: string
        error:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.