MailMoo
EndpointsCampaigns

Rerun a campaign

Runs a campaign's leads again in a new campaign, optionally with another campaign's sequence. The new campaign gets the sequence and sending schedule of sequenceFromCampaignId (default: the source campaign's own), the source campaign's columns with their values, and the source campaign's senders that can still send. A sender with no social account, or a disconnected one, is dropped and their leads unassigned so the remaining senders pick them up; everyone else keeps their sender. Every lead in the source campaign is included unless search or conditions narrow it, and their sequences still running there are stopped. Do Not Contact and blocklisted people are skipped. The new campaign is not started. Pass dryRun to get the same summary without creating or changing anything.

POST/campaigns.rerun

Authorization

bearerAuth
AuthorizationBearer <token>

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.rerun" \  -H "Content-Type: application/json" \  -d '{    "campaignId": "13f8bf6d-dc27-4a04-bffe-6e5b13c19ddf"  }'
{  "dryRun": true,  "campaignId": "13f8bf6d-dc27-4a04-bffe-6e5b13c19ddf",  "name": "string",  "active": false,  "sourceCampaign": {    "campaignId": "13f8bf6d-dc27-4a04-bffe-6e5b13c19ddf",    "name": "string"  },  "sequenceFrom": {    "campaignId": "13f8bf6d-dc27-4a04-bffe-6e5b13c19ddf",    "name": "string",    "stepCount": 0  },  "senders": {    "kept": [      {        "sdrProfileId": "fd57902a-f94d-44c4-b010-9350234d4c62",        "name": "string",        "status": "available"      }    ],    "dropped": [      {        "sdrProfileId": "fd57902a-f94d-44c4-b010-9350234d4c62",        "name": "string",        "status": "available"      }    ]  },  "leads": {    "selected": 0,    "enrolled": 0,    "alreadyEnrolled": 0,    "skippedDoNotContact": 0,    "skippedBlocklisted": 0,    "skippedMissing": 0,    "stoppedInSource": 0,    "keptSender": 0,    "unassigned": 0  },  "warnings": {    "missingVariables": [      "string"    ],    "videoNotConfigured": true,    "slidesNotConfigured": true,    "icpScoreMissing": true  }}