Send a transactional email from a saved template
dataVariables are interpolated by simple {{key}} replacement against the stored
subject, HTML body, and text body. When locale is provided, template content is
selected using locale fallback order: exact locale, base locale, workspace brand
primary locale, then English. Attachments are base64-encoded and limited to 3 files,
10 MB decoded per file, 20 MB total, and a 25 MB request body cap. When
addToContact is true, the API best-effort upserts a contact from the recipient
fields and links the outbound recipient row without changing marketing consent.
Authorizations
Workspace-scoped API key from the credentials table
Body
Workspace-unique template slug ID returned by the transactional template list endpoint
Optional locale tag such as en, en-us, or fr-ca used to select localized template content before rendering
Accepted by the current handler but not acted on by the send path today
When true, best-effort create or update the recipient as a contact and link the outbound recipient row without changing marketing consent
Optional contact first name used only when addToContact is true
Optional contact last name used only when addToContact is true
Optional external contact identifier mapped to the contact userId field when addToContact is true
Optional alias of properties used only when addToContact is true; properties wins on key collisions
3Response
Transactional message accepted
true