Create a campaign
Creates a campaign with its senders and a sequence, switched off. The sequence is copied from another campaign (steps, messages, branches and sending schedule), built from a template with messages written from the workspace's context, or left empty. Add leads afterwards with campaigns.leads.bulkEnrollInCampaign or leadFinder.addProspectsToCampaign, then start it with campaigns.setSequenceActive.
/campaigns.createDraftAuthorization
bearerAuth Enter your MailMoo API key (format: sk_live_...)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/campaigns.createDraft" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "sdrProfileIds": [ "588a1205-2e11-4131-97e7-171c7bbd819b" ] }'{ "campaignId": "13f8bf6d-dc27-4a04-bffe-6e5b13c19ddf", "name": "string", "active": false, "senders": [ { "sdrProfileId": "fd57902a-f94d-44c4-b010-9350234d4c62", "name": "string", "status": "available" } ], "sequence": { "source": "copy", "fromCampaign": { "campaignId": "13f8bf6d-dc27-4a04-bffe-6e5b13c19ddf", "name": "string" }, "templateId": "string", "stepCount": 0, "messagesGenerated": 0 }}List sender profiles GET
The sender profiles in the workspace, or in one campaign, and whether each can still send. Use these ids wherever a campaign takes senders. A sender with no social account, or a disconnected one, cannot send.
Copy a sequence into a campaign POST
Replaces a campaign's sequence steps with a copy of another campaign's: messages, variants, attachments, branches. The campaign keeps its own senders and schedule. Refused while the campaign is running; pause it first. Pass dryRun to see the step count and what the copy would be missing (merge fields without a column, video or slideshow not set up) without changing anything.

