Duplicate Email Campaign
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.
Authorization
Authorization In: header
Path Parameters
ID of the project that owns the campaign.
ID of the campaign to copy.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://www.saasco.com/api/v2/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": 9007199254740991
},
"utmConfig": {
"enabled": true,
"params": {
"campaign": "",
"content": "",
"medium": "",
"source": "",
"term": ""
}
},
"sendCount": 0,
"sendingTargetDurationMs": 9007199254740991,
"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
}
}
}
}{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}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.