Skip to content
  • There are no suggestions because the search field is empty.

Sending emails via the Echobox API

This document describes how Echobox supports sending emails via API. 

Which endpoint should I use?

Echobox offers two distinct ways to send emails via API, built for different use cases. 

The Schedule Edition endpoint should be used for sending emails to a campaign list or segment, such as for Breaking News emails.

The Transactional Emails endpoint should be used for sending emails to one or multiple specific recipients. It is usually triggered by a subscriber action, such as clicking a ‘forgot password’ link.

Schedule Edition

Transactional Emails

Use case

Newsletters, campaign broadcasts

Password resets, account verifications, order confirmations

Audience

A campaign list or a segment list

A single named recipient (or an array of recipients)

Content-personalization

Not supported via API. Echobox's per-recipient article tailoring (matching article selection to subscriber preferences) is only supported for regular Campaign sends

Not supported via API. Echobox's per-recipient article tailoring (matching article selection to subscriber preferences) is only supported for regular Campaign sends

Merge tags

Custom merge tags (e.g. ${articleTitle}) can be set in the template on Echobox Email

Custom merge tags (e.g. ${firstName}) can be set in the template on Echobox Email

Merge tag scope 

Uniform. One set of values applied to all recipients in the send

 Per-recipient. A different value can be specified for each recipient

Scheduling

Send window via sendStartUnixTime / sendEndUnixTime


Send time personalization is supported within the send window

Sent immediately

Content source

Inline HTML or a saved template created in Echobox

Inline HTML or a saved template created in Echobox

Schedule Edition: sending to a list or segment

See documented endpoint here.

POST https://prod.campaignapi.service.echobox.com/v1/campaigns/{campaignURN}/send

Creates and schedules an Edition, a single send for a campaign. Content can be supplied as raw inline HTML or by referencing a saved Marketing template using the template ID from Echobox.

To retrieve the template ID, navigate to 'Templates' in the left hand nav, tab to 'Marketing', click the 3-dot menu for the specific template and click 'Copy template ID'. 

Screenshot 2026-07-08 at 11.59.30

Field

Description

subjectLine

Subject line of the Edition

htmlContent

Raw HTML body (alternative to templateURN)

templateURN

URN of a saved template (alternative to htmlContent)

sendStartUnixTime

Timestamp to begin sending

sendEndUnixTime

Timestamp to finish sending

segmentURNs

Array of segment URNs to send to

mergeTags

Custom JSON merge tag values applied uniformly for all recipients, e.g. {"headline1": "Breaking News Today"}

Example request

{

"subjectLine": "Breaking News",
"htmlContent": "<body><h1>Breaking news</h1><p>Hello ${firstName}, this just in...</p></body>",
"sendStartUnixTime": "1744707600",
"sendEndUnixTime": "1744722000",
"segmentURNs": ["urn:subscriber:segment:{ID}"],
"mergeTags": { "headline1": "Breaking News Today" }

}

Transactional Emails: sending to an individual

See documented endpoint here.

POST https://prod.email.service.echobox.com/send

Sends notification-style emails such as password resets or comment notifications, with per-recipient template variables.

As with the Schedule endpoint, HTML can either be sent in the request or a template ID can be provided for a Marketing template created in Echobox.

Field

Description

sender

{ email, name } this email is sent from

replyToAddress

Where replies should go

returnPath

Where non-delivery notifications should be sent

to

Array of recipients; each entry can include per-recipient variables (e.g. firstName) used in the body or subject

subject

Subject line — can use variables from the to array

templateURN

Saved template to use (alternative to htmlContent)

htmlContent

Raw inline HTML body (alternative to templateURN)

unsubscribeURL

If set, adds RFC 8058-compliant one-click unsubscribe headers pointing to this URL

{

"sender": { "email": "sender@company.com", "name": "Sender" },
"replyToAddress": "sender@company.com",
"returnPath": "sender@company.com",
"to": [
{ "email": "john.doe@gmail.com", "firstName": "John" }
{ "email": "jane.doe@gmail.com", "firstName": "Jane" }
],
"subject": "Your transactional email",
"htmlContent": "<body><h1>Your transactional email</h1><p>Hello ${firstName}, please do something</p></body>",
"unsubscribeURL": "https://company.com/unsubscribe?email={$email}"
}

Unsubscribing from transactional emails

Under GDPR, transactional emails are legally exempt from requiring an unsubscribe link.

If this endpoint is being used for any content that isn’t strictly transactional, include the unsubscribeURL. This adds the headers inbox providers (Gmail, Outlook, etc.) use to show Echobox’s native one-click unsubscribe option. This will keep you compliant with RFC 8058 and reduce spam complaints.

Merge tags

There are two types of merge tags that can be used:

  1. Custom merge tags - variable replacement where the values are specified in the request e.g. ${articleTitle}
  2. Echobox merge tags - variable replacement where the values are stored in Echobox e.g. ${campaignName}

Custom merge tags

Custom merge tags allow you supply the value for a variable in the request to the endpoint, this means you can create a template within Echobox with the variables and populate that template with values specified in the request.

For example, for breaking news you may include: ${articleHeadline}, ${articleImage}, ${articleDescription}, ${articleURL}.

For the Schedule endpoint, only one set of variable values be specified in the request which is used for the all the recipients on the Campaign subscriber list or segment.

For the Transactional endpoint, the recipients are specified in the request, this means different variable values can be specified per recipient.

Echobox merge tags

Echobox merge tags allow you to populate the variable with a value stored in Echobox, such as the Campaign name.

Echobox has the following support for merge tags across the Schedule and Transactional endpoints:

Echobox Merge tag

Description

Schedule endpoint

Transactional endpoint

${campaignName}

The name of the campaign the email was sent from.

Supported

Not supported

${email}

The email of the recipient.

Not supported

Supported

${date}

The date that the email is sent.

Supported

Not supported

${manageYourPreferencesLinkText}

The manage your preferences link text that is configured in your campaign settings.

Supported

Not supported

${manageYourPreferencesURL}

The manage your preferences URL.

Supported

Not supported

${unsubscribeLinkText}

The unsubscribe link text that is configured in your campaign settings.

Supported

Not supported

${unsubscribeURL}

The unsubscribe URL for the campaign.

Supported

Not supported

${viewInBrowserLinkText}

The ‘view in browser’ link text that is configured, that defaults to ‘view in browser’.

Supported

Not supported

${view_in_browser}

The ‘view in browser’ URL.

Supported

Supported