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.
/campaigns.rerunAuthorization
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.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 }}Score a campaign's leads POST
Runs Lead Fit (how well each lead matches the workspace's ideal customer) and the Oracle reply score for the campaign's leads that are not scored yet, in the background. Leads that already have Lead Fit are only Oracle-scored, which costs nothing; Lead Fit is charged in workspace credits per lead. Pass dryRun to get the counts and credit cost first. Results appear in the campaign's Lead Fit and Oracle columns over a few minutes.
Count what needs attention GET
Returns how many leads sit in each bucket of the triage queue: waiting on a reply, due a catch-up, carrying a due task, gone quiet, stalled, or due to wake from on-hold. A lead lands in exactly one bucket, so the buckets sum to `total`.

