Skip to main content
POST
Send a transactional email
Send a transactional email, including optional data variables, to a single recipient. To set dynamic Subject, From, Reply to, CC, BCC email header fields, add data variables to those fields in the editor, then include data for each variable in the API request. Read our transactional email guide for more details. To send a test preview of a transactional email, use the Preview email message endpoint.
Please email us to enable attachments on your account before using them with the API.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string

Include a unique ID for this request (maximum 100 characters) to avoid duplicate emails.

The value should be a string of up to 100 characters and should be unique for each request. We recommend using V4 UUIDs or some other method with enough guaranteed entropy to avoid collisions during a 24 hour window.

This endpoint will return a 409 Conflict response if the idempotency key has been used in the previous 24 hours.

Maximum string length: 100

Body

application/json
email
string
required

The recipient's email address.

transactionalId
string
required

The ID of the transactional email to send.

addToAudience
boolean

If true, a contact will be created in your audience using the email value (if a matching contact doesn't already exist).

dataVariables
object

An object containing data as defined by the data variables added to the transactional email template. Values can be of type string or number.

If you have added optional data variables to your email, you can exclude them from the dataVariables object or set the value to "".

If you have added an array data variable to your email, make sure to include an array matching the data variables you added to your array block.

Example:
attachments
object[]

A list containing file objects to be sent along with an email message. Attachments must be enabled by Loops support before they can be used with the API.

Response

Successful send.

success
boolean
required
Example:

true

Last modified on July 20, 2026