Skip to Content
Outreach

Launch a campaign

Put a campaign's emails up for review (agents) or queue them for sending (direct calls).

POSThttps://api.rankparse.com/v1/outreach/campaigns/:id/launchFreeAPI key

Takes 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

CallerResult
An agent: the RankParse MCP server, or any call with the header X-RankParse-Client: mcpNothing 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 accountQueued directly, as for a direct call.
A direct REST call with your key, without the agent headerQueued 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

idstringrequired

The 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

queuedinteger

Emails queued for sending by this call. 0 when the emails went up for review.

suppressedinteger

Emails skipped because you already emailed that address from another campaign.

auto_send_enabledboolean

Whether the campaign's mailbox is switched on.

max_sends_per_dayinteger

The mailbox's daily cap, lowered to the plan's cap when one applies.

estimated_daysinteger

Days to send what was queued: queued divided by the daily cap, rounded up. 0 for a review.

statusstring

Agent 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 | null

Agent calls only. The proposal recorded for the review, or null when the approval inbox is not on for the account.

review_urlstring

Agent calls only. Show it to the user.

messagestring

Agent 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.

warningstring

Direct calls: present when the mailbox is switched off, so nothing will send until it is turned on.

paused_warningstring

Direct 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

HTTPCodeWhen
400no_contactsNothing waiting to launch: add contacts first, or every email is already queued or sent.
400gmail_not_connectedThe campaign's mailbox is not connected, or Google stopped accepting it. Nothing was queued.
400sending_provider_unsupportedThe campaign does not send through Gmail (a dashboard wizard campaign).
402plan_limit_reachedThe campaign's website or mailbox is beyond what your plan covers. Emails already queued keep sending.
403capability_missingYour role cannot send outreach.
403action_disabled_by_policyAgent calls: the owner turned outreach Off for this website.
404campaign_not_foundNot in your workspace, or archived.
409campaign_launch_in_progressAnother launch of this campaign is running. Nothing was lost; retry.
429too_many_pending_proposals, daily_proposal_limit_reachedAgent calls: the proposal limits. See Proposals.

Plus the shared errors.

MCP tool: outreach_launch_campaign (accepts campaign_id). propose_outreach_send adds contacts and puts them up for review in one call.