Skip to main content
Email endpoints sit under /api/brands/{brand}/emails/ with moduleAccess:emails middleware. Authenticate with EF-Access-Key.

List Emails

number
Results per page (1–100, default: 25)
string
Search by name or subject
string
newest, oldest, created_at, updated_at
cURL

List Emails (Unpaginated)

Returns all emails with rendered HTML included (CSS is merged inline).

Get Email

string
required
Email numeric ID or code slug

Create Email

string
required
Email template name (max 256). Defaults to "Untitled Email" if empty after validation.
string
Email subject line (max 512)
string
Preheader / preview text (max 512)
string
Sender display name (max 256)
string
Sender email address (max 256)
string
Reply-to address (max 256)
number
Link this email to a specific automation
cURL

Update Email

Use the numeric ID in the path when updating — using a code slug will cause a 404 because the UpdateEmail authorization query only looks up by numeric ID.
Same body as Create. name is required.

Delete Email


Get Builder Config

Retrieve the visual email builder config. Add ?html=1 to get the rendered HTML version.
boolean
If 1, returns rendered HTML output instead of builder config
cURL — get builder config

Save Builder Config

string
required
Builder config as a JSON string (not a JSON object — must be JSON.stringify’d before sending)
string
Raw HTML content
string
CSS styles
array
Comments data for the email template
cURL

Get Automation Variables

Lists the merge-tag variables available for use in this email’s content, based on the automation it belongs to.

Notes

  • The config field in the builder POST must be sent as a JSON string (double-encoded), not a JSON object
  • Saving the builder config automatically regenerates inline CSS and the inline version of the email
  • Use numeric IDs in the URL for PUT / PATCHcode strings only work for GET, show, and DELETE
  • The all endpoint merges CSS inline into the HTML for direct use in rendering/preview contexts