Recommended sequence
- Create a campaign with
POST /api/v1/public/campaigns. - Configure the workflow with the campaign update endpoint.
- Enroll a small test list or individual test lead.
- Run
POST /campaigns/{campaign_id}/preflightand resolve every blocking issue. - Launch only after confirming the campaign ID, audience, channel connections, and schedule.
- Monitor campaign analytics and lead activity.
Enrollment
UsePOST /campaigns/{campaign_id}/leads with either explicit lead_ids or a lead_list_id, as documented by the request schema. A 202 response means enrollment work has been accepted; persist the returned job or operation identifier when present.
Duplicate enrollment should be treated as a business result, not as permission to retry blindly. Inspect the response and campaign lead list before resubmitting.
Lifecycle safety
preflightdoes not launch a campaign; it validates readiness.launchcan create real outbound activity.pauseprevents future work but does not undo messages or calls already sent.resumecan restart future work.stopis a terminal or highly destructive transition; require explicit confirmation.- After a timeout, read the campaign state before repeating a transition.