> ## 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.

# Cancel campaign

> Cancel a campaign. Stops dialing and marks it cancelled. This is the REST equivalent of the dashboard's archive action.

Cancellation is a terminal state. In-flight calls finish; no further calls are placed. Cancelled campaigns remain visible in [list](/api-reference/campaigns/list) and [get](/api-reference/campaigns/get) for record-keeping.

## Path parameters

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

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X DELETE "https://api.verbeo.ai/v1/campaigns/0175091d-2c3b-4aef-8c45-dbbe24f7b3ff" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  await fetch(`https://api.verbeo.ai/v1/campaigns/${campaignId}`, {
    method: "DELETE",
    headers: { Authorization: `Bearer ${process.env.VERBEO_API_KEY}` },
  });
  ```

  ```python Python theme={null}
  requests.delete(
      f"https://api.verbeo.ai/v1/campaigns/{campaign_id}",
      headers={"Authorization": f"Bearer {os.environ['VERBEO_API_KEY']}"},
  )
  ```
</CodeGroup>

## Response

`200 OK`. Returns the orchestrator's acknowledgement payload.

```json theme={null}
{
  "success": true,
  "data": {
    "campaign_id": "0175091d-2c3b-4aef-8c45-dbbe24f7b3ff",
    "status": "cancelled"
  }
}
```

## Errors

| Code | Status | When it happens |
| - | - | - |
| `CAMPAIGN_NOT_FOUND` | 404 | The campaign doesn't exist in your workspace. |
| `INVALID_STATUS` | 409 | The campaign is already `cancelled`. |
| `ORCHESTRATOR_ERROR` | 502 | Upstream campaign-orchestrator returned an unexpected error. |

See [Campaigns overview](/api-reference/campaigns/overview#error-codes) and [Errors](/api-reference/errors).

***


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