Updates any subset of a campaign's writable fields: name, status
(set active to start sending, paused to stop), the sender pool
(linkedinAccountIds), the outreach sequence, the send schedule,
aiInterestEnabled, and the lead-exclusion rules (excludeListIds plus
the exclude* flags). sequence and schedule are replaced wholesale —
send the complete object you want, not a partial patch of it.
Once a campaign has leads in progress, the sequence may only be edited
safely: you can change step messages and delays and append new steps, but
removing, reordering or retyping existing steps is rejected with 400
(a lead's progress is pinned to a step id). Duplicate the campaign to
rework its sequence from scratch.
An active campaign must keep at least one sender: sending an empty
linkedinAccountIds while the campaign is (or is being set) active
is rejected with 400.
Authorization
bearerAuth An API key created under Settings → API & Webhooks.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Any subset of these fields.
Response Body
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/campaigns/string" \ -H "Content-Type: application/json" \ -d '{ "status": "active" }'{ "data": { "id": "string", "name": "string", "status": "draft", "stats": { "total": 0, "done": 0, "failed": 0 }, "aiInterestEnabled": true, "linkedinAccountIds": [ "string" ], "excludeListIds": [ "string" ], "excludeOtherCampaigns": true, "excludeOtherSenders": true, "excludeSameSenderOtherCampaigns": true, "schedule": { "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z", "timezone": "string", "activeHours": { "from": "string", "to": "string" }, "activeDays": [ 0 ] }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "sequence": { "steps": [ { "id": "string", "type": "visit_profile", "parent": "string", "branch": "yes", "config": {}, "nextDelayHours": 0, "branchDelays": { "yes": 0, "no": 0 } } ] } }}Rebalance a sender's leads POST
Move a paused or failed sender's not-yet-contacted leads in this campaign onto the campaign's other available senders, evenly. Leads the sender already contacted stay pinned to it. Returns how many leads `moved` and how many `receivers` took them; `receivers: 0` means no other sender was available and nothing moved (still `200`). `422` when the account is not in the campaign's sender pool.
List valid filter values POST
Suggest valid values for a search filter (free, no credits). People fields: `title`, `seniority`, `company`, `country`, `city`, `skill`, `school`, `headcountRange`. Company fields: `industry`, `country`, `headcountRange`, `lastRoundType`, `investor`, `technology`, `name`.