Skip to content

Outreaches

An Outreach is a container for related campaigns. When two or more campaigns under the same outreach have unique_contacts: true, a contact enrolled in any one campaign is automatically skipped by the others. Useful for running parallel A/B tests or geo-segmented variants of the same outreach without double-emailing anyone.

Campaigns can exist outside an outreach (outreach_id: null) — they just don’t dedupe across siblings.

GET /outreaches
Authorization: Bearer <key>
[
{ "id": "...", "name": "Q2 OC contractors", "unique_contacts": true, "created_at": "..." }
]
POST /outreaches
Authorization: Bearer <key>
Content-Type: application/json
{ "outreach": { "name": "Q2 OC contractors", "unique_contacts": true } }
{ "id": "...", "name": "Q2 OC contractors", "unique_contacts": true }
GET /outreaches/:id
Authorization: Bearer <key>
{
"id": "...",
"name": "Q2 OC contractors",
"unique_contacts": true,
"totals": { "pending": 1500, "sent": 800, "opened": 320, "replied": 12, "bounced": 40 },
"campaigns": [
{ "id": "...", "name": "Variant A", "status": "active" },
{ "id": "...", "name": "Variant B", "status": "active" }
]
}
PATCH /outreaches/:id
Authorization: Bearer <key>
Content-Type: application/json
{ "outreach": { "name": "Renamed", "unique_contacts": false } }
StatusCodeWhen
404outreach_not_foundUnknown id or belongs to another account.
422validation_failedMissing name or other validation.