Skip to main content
POST
Create a campaign

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Scopes

publicAPI.v2.all

Public API v2

Body

application/json
name
string
required

Campaign name.

Example:

"Summer Outreach"

emailAccountIds
(string | integer)[]

Sending inboxes to link, as emailAccountId values from GET /email-accounts. Unknown IDs return 400.

steps
object[]

Steps to create, in order.

dailyTaskLimits
object[] | null

Task limit per cadence day. Each dueDay must match a step in steps; a dailyTaskLimit of null keeps that day's default. Requires the campaign send limits feature (campaignSendLimits on GET /features); otherwise 403 with code noFeatureAccess.

isDailyTaskLimitEnabled
boolean | null

Whether dailyTaskLimits are enforced. Omitted or null means false. When false, no step has a daily task cap and email steps still follow their inbox send limits. Requires the campaign send limits feature; otherwise 403 with code noFeatureAccess.

dailySendLimits
object[] | null

This campaign's daily send limit on each inbox in emailAccountIds. An account not in emailAccountIds returns 400. Requires the campaign send limits feature; otherwise 403 with code noFeatureAccess.

contactIds
(string | integer)[]

Saved contact IDs to enroll. IDs that are not saved contacts in the organization are skipped, as are contacts below the organization's email quality threshold when that setting blocks low-quality emails.

Maximum array length: 500

Response

The created campaign, its steps, and the number of contacts enrolled.

success
boolean
Example:

true

data
object