Saasco logoSaasco logo
Saasco logoSaasco logo

Introduction

OverviewGetting startedAgent setupWhat is Saasco?

SDK

Quick startTrackingIdentifyConfigurationWidgetsProperties

MCP

Quick startHow it worksAuthorizationTool reference
Skills for agents

REST API

Quick start
getList Email CampaignsgetGet Email CampaignpostCreate Email CampaignputUpdate Email CampaignpostDuplicate Email CampaigndelDelete Email CampaignpostSend Email CampaignpostResume Sending Email CampaignpostStop Sending Email CampaignpostSend Test EmailgetCount Campaign EmailsgetGet Email StatsputUpdate Campaign Message
Email MarketingCampaigns

Duplicate Email Campaign

View as MarkdownAgent setup

Copies a campaign (its messages, audience, and settings) into a new DRAFT. The copy is named "<original> (Copy)", incrementing to (Copy 2) and beyond if that name is taken. Send counts, sent timestamps, and any A/B winner are reset, so the duplicate behaves like a fresh campaign rather than inheriting the original's results.

POST
/projects/{projectId}/email-campaigns/{campaignId}/duplicate

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project that owns the campaign.

campaignIdrequiredstring

ID of the campaign to copy.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/projects/string/email-campaigns/string/duplicate"
{  "id": "string",  "createdAt": "string",  "updatedAt": "string",  "projectId": "string",  "name": "string",  "status": "DRAFT",  "type": "STANDARD",  "workflowId": "string",  "workflowStepId": "string",  "sentAt": "string",  "contactListId": "string",  "contactsFilterGroups": [],  "lastSuccessContactId": "string",  "lastSuccessContactCreatedAt": "string",  "sendOrderByProperty": {    "direction": "asc",    "propertyKey": "string"  },  "abTestConfig": {    "variable": "SUBJECT",    "samplePercent": 20,    "winnerMetric": "OPEN_RATE",    "winnerWaitHours": 4,    "winnerWaitUnit": "HOURS",    "sendTimeDelayHours": 2,    "sendTimeDelayUnit": "HOURS",    "winnerMessageId": "string",    "winnerSelectedAt": "string",    "winnerRolloutAt": "string",    "winnerWaitStartedAt": "string",    "status": "AWAITING_SAMPLE",    "samplePaginationEnd": 0  },  "utmConfig": {    "enabled": true,    "params": {      "campaign": "",      "content": "",      "medium": "",      "source": "",      "term": ""    }  },  "sendCount": 0,  "sendingTargetDurationMs": 0,  "sendPaginationCount": 0,  "messages": [],  "bcc": "string",  "bodyHTML": "string",  "bodyJSON": {    "property1": null,    "property2": null  },  "cc": "string",  "fromDomain": "string",  "fromEmailUsername": "string",  "fromName": "string",  "previewTextHTML": "string",  "previewTextJSON": {    "property1": null,    "property2": null  },  "replyTo": "string",  "scheduledAt": "string",  "subjectHTML": "string",  "subjectJSON": {    "property1": null,    "property2": null  },  "text": "string",  "theme": {    "body": {      "align": "left",      "background": "string",      "container": "string"    },    "button": {      "background": "string",      "borderColor": "string",      "borderSize": 0,      "color": "string",      "radius": 0    },    "link": {      "color": "string"    },    "template": "string",    "typography": {      "h1": {        "color": "string",        "fontSize": 0,        "lineHeight": 0      },      "h2": {        "color": "string",        "fontSize": 0,        "lineHeight": 0      },      "h3": {        "color": "string",        "fontSize": 0,        "lineHeight": 0      },      "p": {        "color": "string",        "fontSize": 0,        "lineHeight": 0      }    }  }}

Update Email Campaign

Updates a campaign's settings. Despite the PUT, only the fields present in `changes` are written. Anything omitted keeps its current value. Editing a campaign that has already sent changes future behaviour only; it does not alter or resend emails already delivered.

Delete Email Campaign

Permanently deletes a campaign and its messages. Only campaigns still in DRAFT can be deleted. Once a campaign has started sending it is rejected with 400, so delivery history is never destroyed this way. Cannot be undone.