Launch a campaign
Put a campaign's emails up for review (agents) or queue them for sending (direct calls).
https://api.rankparse.com/v1/outreach/campaigns/:id/launchFreeAPI keyTakes the campaign's emails that are waiting (added or rewritten since the last launch) and moves them forward. What "forward" means depends on who calls. It takes no body, and it is safe to call again: it never re-sends an email that is queued or sent.
Who calls decides what happens
| Caller | Result |
|---|---|
An agent: the RankParse MCP server, or any call with the header X-RankParse-Client: mcp | Nothing is queued. The campaign is marked ready and the response has status: "ready_for_review" and a review_url (the campaign page). A person approves the emails there and only approved emails are sent. Where the approval inbox is on, an outreach_send proposal of up to 100 emails is recorded too. |
| An agent, on a mailbox where a person switched on Let Claude send without review, while approval enforcement is off for the account | Queued directly, as for a direct call. |
| A direct REST call with your key, without the agent header | Queued immediately. You are acting yourself. |
With ready_for_review, the review_url is the campaign page, https://rankparse.com/dashboard/outreach/campaigns/<id>. RankParse emails the campaign's creator once when a campaign first becomes ready for review, so an agent should also share the link in chat.
Path parameters
idstringrequiredThe campaign id. The campaign must send through Gmail, and the mailbox it sends from (its website's mailbox, else the default) must be connected and working.
Response
queuedintegerEmails queued for sending by this call. 0 when the emails went up for review.
suppressedintegerEmails skipped because you already emailed that address from another campaign.
auto_send_enabledbooleanWhether the campaign's mailbox is switched on.
max_sends_per_dayintegerThe mailbox's daily cap, lowered to the plan's cap when one applies.
estimated_daysintegerDays to send what was queued: queued divided by the daily cap, rounded up. 0 for a review.
statusstringAgent calls only. ready_for_review, or approved when a person already approved this exact set of emails and it is running (do not launch again).
proposal_idstring | nullAgent calls only. The proposal recorded for the review, or null when the approval inbox is not on for the account.
review_urlstringAgent calls only. Show it to the user.
messagestringAgent calls, and a direct call where every email was suppressed: plain-text guidance. Says so when more than 100 emails are waiting and another launch is needed after this one.
warningstringDirect calls: present when the mailbox is switched off, so nothing will send until it is turned on.
paused_warningstringDirect calls: present when the campaign is paused, so the queued emails are held.
If every waiting email was suppressed, a direct call returns only queued: 0, suppressed and message.
Errors
| HTTP | Code | When |
|---|---|---|
| 400 | no_contacts | Nothing waiting to launch: add contacts first, or every email is already queued or sent. |
| 400 | gmail_not_connected | The campaign's mailbox is not connected, or Google stopped accepting it. Nothing was queued. |
| 400 | sending_provider_unsupported | The campaign does not send through Gmail (a dashboard wizard campaign). |
| 402 | plan_limit_reached | The campaign's website or mailbox is beyond what your plan covers. Emails already queued keep sending. |
| 403 | capability_missing | Your role cannot send outreach. |
| 403 | action_disabled_by_policy | Agent calls: the owner turned outreach Off for this website. |
| 404 | campaign_not_found | Not in your workspace, or archived. |
| 409 | campaign_launch_in_progress | Another launch of this campaign is running. Nothing was lost; retry. |
| 429 | too_many_pending_proposals, daily_proposal_limit_reached | Agent calls: the proposal limits. See Proposals. |
Plus the shared errors.
Related
MCP tool: outreach_launch_campaign (accepts campaign_id). propose_outreach_send adds contacts and puts them up for review in one call.