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

# Delete phone number

> Disconnect a phone number from Verbeo. Its call history and finished campaigns are kept; a campaign that can still dial from it blocks the delete.

Deletes a phone number from your workspace. This cannot be undone, but the number can be [added again](/api-reference/phone-numbers/overview#two-ways-to-add-a-number).

* **Call history** is kept. Past calls stay in your logs with the number they used.
* **Campaigns** that have finished or were cancelled are kept, without a number to dial from.
* For a SIP-trunk number, the **trunks** Verbeo set up for it are removed.
* Nothing changes at your carrier: the number is still yours there.

<Warning>
  A campaign that can still dial from the number — any campaign that is not completed or cancelled, so a draft, a scheduled, a running or a paused one — **blocks the delete** with `409 CONFLICT`. Cancel it, or let it finish, first.
</Warning>

## Path parameters

<ParamField path="id" type="string" required>
  UUID of the phone number.
</ParamField>

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X DELETE "https://api.verbeo.ai/v1/phone-number/7d9f3b52-4c1e-4a8e-9b1a-2f6c0d4e8a11" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const id = "7d9f3b52-4c1e-4a8e-9b1a-2f6c0d4e8a11";
  const res = await fetch(`https://api.verbeo.ai/v1/phone-number/${id}`, {
    method: "DELETE",
    headers: { Authorization: `Bearer ${process.env.VERBEO_API_KEY}` },
  });
  // 204 No Content
  ```

  ```python Python theme={null}
  import os, requests

  number_id = "7d9f3b52-4c1e-4a8e-9b1a-2f6c0d4e8a11"
  res = requests.delete(
      f"https://api.verbeo.ai/v1/phone-number/{number_id}",
      headers={"Authorization": f"Bearer {os.environ['VERBEO_API_KEY']}"},
  )
  assert res.status_code == 204
  ```
</CodeGroup>

## Response

`204 No Content`, with no body.

## Errors

| Code | Status | When |
| - | - | - |
| `CONFLICT` | 409 | A campaign can still dial from this number. The message names it: `Campaign "Renewals" is still using this number (scheduled). Cancel it or let it finish before deleting the number.` |
| `NOT_FOUND` | 404 | No such phone number, or it belongs to another workspace. |
| `VALIDATION_FAILED` | 422 | `id` is not a UUID. |


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