Skip to main content
POST
Creates a campaign record and immediately sends it to all resolved recipients. Pass scheduled_at to queue it for later instead. At least one recipient source is required — you can combine multiple.
Sender identity is controlled by your project’s email settings. Set sender_name and sender_email in Email Sender Settings to replace the default Gately <hello@usegately.com> From address.

Headers

string
required
Bearer YOUR_API_KEY
string
Your project UUID. Not required if the API key already encodes the project.

Request Body

string
required
Display name stored in the dashboard (e.g. "June Newsletter")
string
required
Email subject line shown to recipients
string
required
HTML body of the email. YouTube <iframe> embeds are automatically converted to linked thumbnail images.
string[]
Explicit list of email addresses to send to
string[]
IDs of contact lists — all members of each list receive the email
string[]
IDs of contact segments — filtered contacts receive the email
boolean
Set true to send to every contact in the project
string
ISO 8601 datetime to schedule delivery (e.g. "2025-07-01T09:00:00Z"). Omit to send immediately.
object[]
Optional file attachments. Each object must have content (base64), filename, and type (MIME). Max 10 MB per file.

Response

boolean
true when the campaign was created and sending initiated
object
The created campaign record
number
Total unique addresses targeted
number
Emails accepted by the mail service
number
Emails that failed to send
string
Human-readable summary (e.g. "Email campaign sent to 835 of 842 recipients")