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

# Disconnect a WhatsApp number

> Stops Wixzel Voice using the number: its webhooks are unsubscribed, agents sending from it stop, and the chats, contacts and scheduled messages Wixzel Voice kept for it are deleted. The number itself stays yours in WhatsApp Manager. Requires `whatsapp:write`.



## OpenAPI

````yaml /openapi.json delete /v1/whatsapp/accounts/{id}
openapi: 3.1.0
info:
  title: Wixzel Voice API
  version: '2026-09-01'
  description: >-
    APIs for agentic telephony. One API key, one balance, every voice engine.


    ## Authentication

    Send your key as `Authorization: Bearer wv_live_...`. Keys are scoped: grant
    only what an integration needs. There is no admin scope.


    ## Versioning

    The `/v1` prefix covers additive changes. Behavioural changes ship behind a
    dated `Wixzel-Version` header, and existing keys keep the behaviour they
    were created with.


    ## Money

    Amounts are integer **micro-USD** (1,000,000 = $1.00). Voice usage is billed
    per second, per token and per character, so a float dollar figure cannot
    represent it without disagreeing with the ledger.


    ## Errors

    Every error carries a stable `code` and a `request_id`. Match on `code`; the
    `message` is for humans and may change.
  contact:
    name: Wixzel Voice
    url: https://voice.wixzel.com
servers:
  - url: https://api.voice.wixzel.com
    description: Production
security: []
tags:
  - name: Calls
    description: Place calls and read what happened on them.
  - name: Realtime
    description: Talk to an agent from a browser or app, with no phone line.
  - name: Agents
    description: >-
      The prompt, voice and behaviour of a caller, and its mascot: the animated
      face people see on your share link, your website and in your apps.
  - name: Leads
    description: People to call, and data to merge into prompts.
  - name: Campaigns
    description: Call a list of leads with one agent.
  - name: Knowledge bases
    description: Facts an agent can draw on mid-call.
  - name: Phone numbers
    description: Numbers on your SIP trunks.
  - name: SIP trunks
    description: Your carrier connections.
  - name: Appointments
    description: Bookings, including ones agents make on calls.
  - name: Usage
    description: Itemised billing lines.
  - name: Billing
    description: Balance, ledger and top-ups.
  - name: API keys
    description: Create, scope and rotate keys.
  - name: Engines
    description: What the platform can serve, and what it costs.
  - name: Voices
    description: Cloned voices, made from your own recordings, for your agents to speak in.
  - name: Callers
    description: Who called your agents, where from and on what, and the blocklist.
  - name: Webhooks
    description: Where events are sent, and what happened when they got there.
  - name: MCP servers
    description: Other apps’ tools, for agents to use while they are on a call.
  - name: Tools
    description: >-
      Your own tools, for agents to use while they are on a call: a webhook to
      your server, or an action in the caller’s app.
  - name: WhatsApp
    description: >-
      WhatsApp business numbers, the agents that answer their chats, and
      messages agents send.
  - name: Meetings
    description: >-
      Agents in Zoom, Google Meet and Teams meetings, through your own Attendee
      account.
paths:
  /v1/whatsapp/accounts/{id}:
    delete:
      tags:
        - WhatsApp
      summary: Disconnect a WhatsApp number
      description: >-
        Stops Wixzel Voice using the number: its webhooks are unsubscribed,
        agents sending from it stop, and the chats, contacts and scheduled
        messages Wixzel Voice kept for it are deleted. The number itself stays
        yours in WhatsApp Manager. Requires `whatsapp:write`.
      parameters:
        - schema:
            type: string
            pattern: ^[0-9a-f]{24}$
            example: 6a96a3ead6e886d42462dd3e
          required: true
          name: id
          in: path
      responses:
        '204':
          description: Disconnected
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Key lacks the required scope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited. Retry after the interval in `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - invalid_request_error
                - authentication_error
                - permission_error
                - rate_limit_error
                - insufficient_credits
                - not_found_error
                - conflict_error
                - api_error
            code:
              type: string
              description: Stable machine-readable code.
              example: agent_not_found
            message:
              type: string
              description: >-
                Human-readable explanation. Do not match on this — match on
                code.
            param:
              type: string
              description: Which field caused the failure, when applicable.
            doc_url:
              type: string
            request_id:
              type: string
              description: Quote this when asking for help.
              example: req_01HXYZ...
          required:
            - type
            - code
            - message
            - request_id
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Wixzel Voice API key: `Authorization: Bearer wv_live_...`. Keys are
        scoped; grant only what the integration needs.

````

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