Campaign API

List, create, update, control and measure campaigns over the API.

Updated Sep 10, 2026 1 min read

Scopes: campaigns:read to read, campaigns:write to change or control.

Endpoints

  • GET /campaigns — list, cursor paginated
  • POST /campaigns — create a campaign
  • GET /campaigns/{campaign_id} — retrieve one
  • PATCH /campaigns/{campaign_id} — update settings
  • DELETE /campaigns/{campaign_id} — delete
  • POST /campaigns/{campaign_id}/actions/{action} — launch, pause, resume or stop
  • GET /campaigns/{campaign_id}/stats — per-campaign performance

Launching

The actions endpoint runs the same services the dashboard uses, so plan limits, launch readiness checks and queue handling behave identically. A campaign that is not ready to launch in the UI will not launch over the API either — the response explains what is missing.

Launch is idempotent: send x-idempotency-key and a retried call will not double-queue the audience.

Important notes

A large audience is queued in controlled batches. The campaign becomes active once the whole audience is queued; until then it stays in draft.

Was this article helpful?

Related articles