Skip to Content
Outreach

Update contacts

Rewrite the subject and body of emails already in a campaign that are still waiting for review.

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

Changes the copy of contacts the campaign already holds, matched by email address. Use it when the user asks for a rewrite, instead of creating a second campaign (adding the same address again is skipped as duplicate_email). Only emails still waiting for review are changed, and any approval they had is cleared, so the user reviews the new version.

Path parameters

idstringrequired

The campaign id.

Body parameters

contactsarray of objectsrequired

1 to 100 { email, subject, body } items. An empty or missing array returns 400 invalid_updates; more than 100 returns 400 too_many_updates.

Show properties
emailstringrequired

The address of a contact in this campaign, matched case-insensitively. The address itself never changes. A repeat of the same address in one request is reported as invalid with duplicate_email.

subjectstringrequired

The new subject, trimmed, up to 500 characters.

bodystringrequired

The new plain-text body, trimmed, up to 10,000 characters.

Response

updatedinteger

Emails rewritten.

approval_clearedinteger

How many of those had been approved and now need review again.

resultsarray

One { "email", "status", "reason"? } per request item, in request order. status is updated; not_found (no such address in this campaign); not_editable, with reason queued, sending, sent, skipped or not_in_review; invalid, with reason invalid_email, duplicate_email, missing_copy or copy_too_long; or unavailable (a storage error on that part of the batch, safe to retry).

next_stepstring

What to do next, when something was updated or refused. After a rewrite, launch again so the new emails go back for review.

Behavior

  • Queued, sending, sent and skipped emails are never changed. A queued email is refused because the sending sweep sends whatever a queued email holds: the user first takes it back to review in RankParse (Unapprove), then you call this again. A sent email cannot change, and a skipped one must be restored in RankParse first.
  • Copy rules are the same as in Add contacts.

Errors

HTTPCodeWhen
400invalid_jsonThe body is not valid JSON.
400invalid_updatescontacts is missing, empty or not an array.
400too_many_updatesMore than 100 items.
403capability_missingYour role cannot manage outreach.
404campaign_not_foundNot in your workspace, or archived.

Plus the shared errors.

MCP tool: outreach_update_contacts (accepts campaign_id, contacts).