Campaigns API
Bulk campaign creation, scheduling, and analytics Base path:/api/v1/campaigns
Endpoint count: 4
List campaigns
GET /api/v1/campaigns/Create a campaign
POST /api/v1/campaigns/steps array defines the sequence; smart_send spreads delivery across 24h using best-time-to-send predictions.
string
required
—
string
—
string (enum: blast|drip|journey)
—
string (enum: sms|mms|whatsapp|email|rcs|viber|…)
required
—
string (enum: all|list|segment|csv)
—
string
—
string
—
object
—
string
—
integer
—
object
Recurrence config. Accepts either canonical keys (type, end_type, end_date, end_count, days, date, cron) or UI-prefixed keys (recurrence_type, recurrence_end_type, recurrence_end_date, etc.). When end_type === ‘on_date’ the end_date MUST be in the future; past dates are rejected with HTTP 400.
boolean
—
object[]
—
boolean
—
Preview send-time experiment cohort plan
POST /api/v1/campaigns/{id}/send-time-experiment/previewvariables.send_time_experiment config already persisted on the campaign and resolves the declared audience. Read-only — it never enqueues a job, touches the wallet, or calls a provider. Returns 400 when no send-time experiment (at least two windows) is configured on the campaign.
string
required
—
Score draft campaign content for deliverability (pre-flight)
POST /api/v1/campaigns/deliverability-labstring (enum: sms|mms|whatsapp|email|rcs|viber|…)
required
Campaign channel the draft content targets.
string
Draft message body to score. Defaults to empty string.
string
Email-only subject line.
string (enum: 7d|30d|90d)
Historical lookback window for the carrier delivery baseline. Defaults to 30d.