---
title: "Delete Campaign"
method: DELETE
path: "/api/v1/campaigns/{campaign_id}"
tags: ["campaigns"]
---

# Delete Campaign

`DELETE /api/v1/campaigns/{campaign_id}`

Soft-archive a campaign (visible-but-inactive; history preserved).

Refuses (409) to archive a campaign mid-blast — pause it first. The archive
write itself excludes a ``sending`` campaign, so this is race-safe even if the
campaign starts sending between the read and the write.

## Path parameters

- `campaign_id` string, uuid, required

## Response `204`

Successful Response

## Other responses

- `404` — Campaign not found
- `409` — Campaign is in a conflicting state
- `422` — Validation Error

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanana/cleon-api/revisions/c0f54348e251/schema)
