Skip to main content
POST
Create a new marketing campaign in draft status.

Authorizations

X-API-Key
string
header
required

Company API key - scoped to a specific company. Generate from the Integrations page in your dashboard.

Body

application/json

Campaign fields. Only name is required up front.

Request body for creating a marketing campaign. Only name is required; all other fields can be filled in later via PATCH or by calling /schedule or /send-now.

name
string
required

Internal campaign name

bodyHtml
string

HTML body of the email

companyId
string

Company ID (falls back to the authenticated user's current company)

fieldMappings
object

Field mapping for resolving recipient email from a list row, e.g. {"email": ["Email", "Work Email"]}

fromName
string

Display name shown in the From: header

listId
string

ID of the smart list whose rows become recipients

replyTo
string

Optional Reply-To email address. Must be a valid email if provided.

scheduleType
string

Schedule type (one of: now, scheduled). Default: now

scheduledAt
string

ISO timestamp at which to send (required when scheduleType is "scheduled")

senderProfileId
string

ID of the SequenceSenderProfile used to send this campaign

subject
string

Email subject line sent to recipients

timezone
string

IANA timezone name used to interpret scheduledAt

Response

The created marketing campaign (in draft status)

Marketing campaign object

bodyHtml
string

HTML body of the email

companyId
string

Company this campaign belongs to

completedAt
string

ISO timestamp when sending completed

created_date
string

ISO timestamp when the campaign was created

failedCount
integer

Number of recipients that failed to send

fieldMappings
object

Field mapping for resolving recipient email from a list row

fromName
string

Display name shown in the From: header

id
string

Campaign ID

listId
string

Smart list ID whose rows become recipients

name
string

Internal campaign name

replyTo
string

Reply-To email address used on outgoing emails

scheduleType
string

Schedule type (now, scheduled)

scheduledAt
string

ISO timestamp at which sending begins (for scheduled campaigns)

senderProfile
object

Summary of the sender profile

senderProfileId
string

Sender profile ID

sentCount
integer

Number of recipients the email has been sent to

skippedCount
integer

Number of list rows skipped (missing email, duplicate, etc.)

smartList
object

Summary of the associated smart list

startedAt
string

ISO timestamp when sending started

status
string

Campaign status (draft, scheduled, sending, sent, failed, cancelled)

subject
string

Email subject line

timezone
string

IANA timezone used to interpret scheduledAt

totalRecipients
integer

Total rows in the associated smart list at read time

uid
string

User ID that created the campaign

updated_date
string

ISO timestamp when the campaign was last updated