---
title: "Restore campaign to draft"
method: POST
path: "/campaigns/{id}/restoreToDraft"
tags: ["Campaigns"]
---

# Restore campaign to draft

`POST /campaigns/{id}/restoreToDraft`

## Request

- Base URL: `https://api.omnisend.com/api`
- URL: `https://api.omnisend.com/api/campaigns/{id}/restoreToDraft`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://app.omnisend.com/oauth2/token` scopes: `campaigns.write`
  - API key in header `Authorization`

Restore a scheduled campaign to draft while preserving its ID and name.

Only campaigns in `scheduled` status are supported. Regular email, SMS, push, and A/B test parent campaigns can be restored. Booster campaigns are not supported.

Restoring cancels the scheduled send, deletes send progress, and changes the campaign status to `draft`. For A/B tests, all child campaigns are also restored to draft.

**Scopes:**
`campaigns.write`

**Rate Limiting:**
This endpoint is rate limited to 400 requests per minute.

## Path parameters

- `id` string, required

## Headers

- `Omnisend-Version` string, required

## Response `204`

Campaign restored to draft successfully

## Other responses

- `400`: Request contains invalid or missing fields
- `401`: Authentication is missing or invalid
- `403`: Insufficient permissions for this operation
- `404`: Campaign not found
- `409`: Campaign is not scheduled
- `410`: API version has been retired
- `422`: Campaign type is not supported
- `429`: Rate limit exceeded
- `500`: Unexpected error occurred

---

[API](https://skmtc.dev/omnisend/apis/campaigns-api.md) - [All operations](https://skmtc.dev/omnisend/apis/campaigns-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnisend/apis/campaigns-api/revisions/fef4d9467305?raw)
