Restore Campaign Version
Puts a version back into the campaign. The state before it stays in history. It changes the content, sender, subject and preview text. It keeps the name, audience and topic. Needs a Full key. A key limited to one domain answers 403. Send an optional Idempotency-Key header to retry safely. See Idempotency.
{ "id": "cpg_06d2mfk8r7hm4ps9wb2kd", "name": "October product update", "status": "draft", "from": "Acme <hello@acme.dev>", "reply_to": null, "subject": "What’s new in October", "preheader": "Scheduled sends are here", "html": "<!DOCTYPE html><html>…</html>", "text": "Hi Suhasinee, scheduled sends are here…", "template_id": null, "template": null, "include_segment_ids": [ "seg_06d2mfk8r2kd7fq4mx9ab" ], "include_segments": [ { "id": "seg_06d2mfk8r2kd7fq4mx9ab", "name": "Customers" } ], "exclude_segment_ids": [], "exclude_segments": [], "topic_id": "top_06d2mfk8r6pn2tc8yw3hd", "topic": { "id": "top_06d2mfk8r6pn2tc8yw3hd", "name": "Product updates" }, "audience_count": null, "queued_count": 0, "skipped_count": 0, "paused_reason": null, "failure_reason": null, "scheduled_at": null, "started_at": null, "completed_at": null, "warmup_next_limit": null, "created_at": "2026-10-21T09:00:00.000Z", "updated_at": "2026-10-21T09:00:00.000Z" }
Restored the version into the campaign. The state before it stays in history.
Path Parameters
The campaign id.
The version id.
Response
The campaign id.
The campaign name.
draft, scheduled, sending, paused, failed, sent or canceled.
The from address.
The reply-to address.
The subject.
The preview text.
The rendered HTML, or null before there is content.
The plain text version.
The id of the linked template.
The linked template.
The ids of the segments it sends to.
The segments it sends to.
The ids of the segments it leaves out.
The segments it leaves out.
The id of the topic.
The topic.
How many contacts the campaign goes to, once it starts.
Emails queued so far.
Contacts skipped, such as suppressed addresses.
Why a paused campaign stopped: manual, daily_limit, warmup, sending_paused or domain_unverified.
Why a failed campaign stopped.
When a scheduled campaign starts.
When sending started.
When sending finished.
The daily limit of the next warmup step when domain warmup paused the campaign, otherwise null.
When it was created.
When it last changed.