Cancel Campaign
Cancel a campaign that is in flight.
Only a queued or sending campaign can be canceled. Canceling a campaign in any
other status returns 409 CAMPAIGN_NOT_CANCELABLE. On success the campaign moves
to canceled and the remaining sends are stopped. Emails that have already been
delivered cannot be recalled.
A scheduled campaign is not canceled — it is unscheduled. Use
Unschedule Campaign to return a scheduled campaign to
draft.
Request
POST /campaigns/{uuid}/cancel
This endpoint takes no request body.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
uuid | string | Campaign's UUID |
Example Request
curl -X POST "https://email.easy.tools/api/v1/campaigns/550e8400-e29b-41d4-a716-446655440000/cancel" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Response
Success Response (200 OK)
Returns the full campaign, identical in shape to Get Campaign,
with status now canceled.
{
"data": {
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"name": "Spring Sale",
"status": "canceled",
"subject": "Up to 40% off this week",
"preheader": "Our biggest sale of the season",
"from_name": "Acme",
"reply_to": "support@acme.com",
"from_identity": "8f14e45f-ceea-467a-9575-1a1b2c3d4e5f",
"from_email": "hello@acme.com",
"content": "## Spring sale\n\nUp to **40% off**. [Shop now](https://acme.com/sale)",
"content_editable_via_api": true,
"content_overwrite_required": false,
"audience": {
"list_uuid": "660e8400-e29b-41d4-a716-446655440001",
"segment_uuid": null
},
"readiness": {
"can_send": true,
"missing": []
},
"created_at": "2026-06-24T10:00:00Z",
"updated_at": "2026-06-26T08:00:00Z",
"last_updated_at": "2026-06-24T10:05:00Z"
}
}
See Get Campaign for the full field reference.
Error Responses
Not Found Error (404)
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Campaign with UUID '550e8400-e29b-41d4-a716-446655440000' not found"
}
}
Conflict Error (409 — Not Cancelable)
The campaign is not queued or sending. A scheduled campaign is unscheduled
with Unschedule Campaign, not canceled.
{
"error": {
"code": "CAMPAIGN_NOT_CANCELABLE",
"message": "Campaign cannot be canceled because it is not queued or sending"
}
}
Conflict Error (409 — Transition In Progress)
Another change to the same campaign is already in flight. Retry after a moment.
{
"error": {
"code": "CAMPAIGN_TRANSITION_IN_PROGRESS",
"message": "Another transition is already in progress for this campaign"
}
}