Create Email Campaign

Creates an email campaign.

from is the channel's sending_email_address. subject, sender_name, and sender_email
are optional on a draft and required when status is scheduled or recurring. reply_to
is optional. The body has no length limit here.

Draft. Pass status: "draft". A draft is not sent. Returns 201 Created.

Scheduled. Pass status: "scheduled", schedule_at (ISO 8601), and included_audience.
The campaign is sent once at that time. Returns 201 Created.

Recurring. Pass status: "recurring", included_audience, and recurring_settings
(cron_expression, timezone, start_date, optional end_date). The series starts
immediately. Returns 201 Created for the series parent.

There is no to list. SMS sends stay on POST /v1/campaigns/sms.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Create Email Campaign Params

Request schema for creating a email campaign at POST /v1/campaigns/email.

One of body or attachments is required. subject, sender_name, and sender_email are optional on a draft and required when status is scheduled or recurring. reply_to is optional.

status: "draft" saves a draft. status: "scheduled" sends once at schedule_at and requires
included_audience. status: "recurring" starts a series and requires included_audience and
recurring_settings (cron_expression, timezone, start_date, optional end_date).
There is no to list on this endpoint.

attachments
array of strings

List of attachment URLs for the campaign.

attachments
automation_templates
array of uuids
length ≤ 50

List of automation template IDs. At most 50.

automation_templates
string

Campaign message body. Email has no length limit here.

excluded_audience
array of objects

Whippy Query filter items for the contacts to exclude. Optional. When omitted, the default
campaign exclusions for the channel are applied.

excluded_audience
string
required

The email channel's sending_email_address.

included_audience
array of objects

Whippy Query filter items for the contacts to include. Optional for a draft. Required when
status is scheduled or recurring.

included_audience
recurring_settings
object | null

Schedule for a recurring SMS series.

cron_expression, timezone, and start_date are required when this object is present.
end_date is optional. Required on create when status is recurring. Optional on a draft.

On update the object is merged with the stored schedule. Omit a field to keep its stored
value. Send end_date as null to clear a stored end date.

parent_campaign_id is set by the server on a scheduled occurrence and is null on the
series parent. A value sent by the caller is ignored.

string | null

Reply-to address. Optional.

date-time

ISO 8601 time. Required when status is scheduled.

string | null

Email address shown as the sender. Required when status is scheduled or recurring.

string | null

Name shown as the sender. Required when status is scheduled or recurring.

string
enum

draft saves a draft and does not send. scheduled sends once at schedule_at.
recurring starts a series. One of these is required.

Allowed:
string | null

Email subject. Optional on a draft. Required when status is scheduled or recurring.

string
required

Campaign title

Responses

Callback
Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json