Cakemail
Cakemail API

Transactional Email

Send transactional emails using templates. Transactional emails are one-to-one messages triggered by user actions (order confirmations, password resets, notifications). Create reusable templates with merge tags, then send them to individual contacts. Includes deprecated template-based endpoints — for new integrations, use the Email API.


deprecated

Send an email

POST
https://api.cakemail.dev
/emails

Required scope(s): emailapi:read

Send an email › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Send an email › Request Body

email
​string · email · required

Recipient's email address

​object · required

Sender name and email address

​object · required

Email content (subject, HTML, text, or template)

group_id
​integer · min: 1

Allows the grouping multiple transactional emails for analytics

​object

Tracking options for opens and clicks

Default: {"opens":true,"clicks_html":true,"clicks_text":true}
​AdditionalEmailHeader[]

Custom mail headers

​

One or more file attachments

queue
​integer · min: 0 · max: 1

Queue ID

Default: 0

Send an email › Responses

Successful Response

email
​string · required

Recipient email address

​object · required

Sent email details

object
​string

Object type

Default: email
sent
​boolean

Whether the email was sent

Default: true

Show email stats

GET
https://api.cakemail.dev
/reports/emails

Get aggregated email statistics for the legacy email system, including send counts, opens, clicks, and bounces over a time period.

Required scope(s): reports:read

Show email stats › query Parameters

start_time
​integer · min: 1 · max: 2147483647 · required

Start time for the report.

Start time for the report.

end_time
​integer · min: 1 · max: 2147483647 · required

End time for the report.

End time for the report.

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Show email stats › Responses

Successful Response

​EmailStatResponse[] · required

Email statistics per date


deprecated

Show email activity logs

GET
https://api.cakemail.dev
/logs/emails

Required scope(s): logs:read

Show email activity logs › query Parameters

log_type
​string · enum · required

An enumeration.

Enum values:
bounce
clickthru
sent
open
unsubscribe
resubscribe
spam
global_unsubscribe
account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

page
​integer · min: 1
Default: 1
per_page
​integer · min: 1
Default: 50
with_count
​boolean

Include count in the response

Include count in the response

Default: false
start_time
​integer · min: 1 · max: 2147483647

Start time for the report.

Start time for the report.

end_time
​integer · min: 1 · max: 2147483647

End time for the report.

End time for the report.

filter
​string

Valid Terms:

  • group_id
  • email
  • email_id

Valid Operators:

  • ==

Query separator:

  • ;

Valid Terms:

  • group_id
  • email
  • email_id

Valid Operators:

  • ==

Query separator:

  • ;

Show email activity logs › Responses

Successful Response

​object · required

Pagination details

​EmailLogResponse[] · required

List of email log entries


deprecated

List Email Group Ids

GET
https://api.cakemail.dev
/email-group-ids

List Email Group Ids › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

page
​integer · min: 1
Default: 1
per_page
​integer · min: 1
Default: 50
with_count
​boolean

Include count in the response

Include count in the response

Default: false

List Email Group Ids › Responses

Successful Response

​object · required

Pagination details

​EmailGroupId[] · required

List of email group ids


deprecated

Edit an Email Group Id

PATCH
https://api.cakemail.dev
/email-group-ids/{group_id}

Edit an Email Group Id › path Parameters

group_id
​integer · required

The ID of the group to edit

The ID of the group to edit

Edit an Email Group Id › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Edit an Email Group Id › Request Body

description
​string · maxLength: 255 · pattern: ^[\w\s!@#$%^&*()_+\-… · required

Edit an Email Group Id › Responses

Successful Response

id
​integer · required

Email group id

​object · required

Updated email group id details

object
​string

Object type

Default: email-group-id
updated
​boolean

Whether the email group id was updated

Default: true

deprecated

List Transactional Email Templates

GET
https://api.cakemail.dev
/lists/{list_id}/transactional-email-templates

List Transactional Email Templates

Required scope(s): transactional:read

List Transactional Email Templates › path Parameters

list_id
​integer · required

List Transactional Email Templates › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

page
​integer · min: 1
Default: 1
per_page
​integer · min: 1
Default: 50
with_count
​boolean

Include count in the response

Include count in the response

Default: false

List Transactional Email Templates › Responses

Successful Response


deprecated

Create a Transactional Email Template

POST
https://api.cakemail.dev
/lists/{list_id}/transactional-email-templates

Create a Transactional Email Template

Required scope(s): transactional:write

Create a Transactional Email Template › path Parameters

list_id
​integer · required

Create a Transactional Email Template › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Create a Transactional Email Template › Request Body

name
​string · required
​Sender · required
​required
reply_to
​string · email
cc
​string[] · maxItems: 1

Create a Transactional Email Template › Responses

Successful Response

id
​integer · required
object
​string
Default: transactional-email-template
created
​boolean
Default: true

deprecated

Show a Transactional Email Template

GET
https://api.cakemail.dev
/lists/{list_id}/transactional-email-templates/{transactional_email_template_id}

Show a Transactional Email Template

Required scope(s): transactional:read

Show a Transactional Email Template › path Parameters

list_id
​integer · required
transactional_email_template_id
​integer · required

Show a Transactional Email Template › query Parameters

account_id
​integer

Show a Transactional Email Template › Responses

Successful Response


deprecated

Update a Transactional Email Template

PATCH
https://api.cakemail.dev
/lists/{list_id}/transactional-email-templates/{transactional_email_template_id}

Update a Transactional Email Template

Required scope(s): transactional:write

Update a Transactional Email Template › path Parameters

list_id
​integer · required
transactional_email_template_id
​integer · required

Update a Transactional Email Template › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Update a Transactional Email Template › Request Body

name
​string
​Sender
reply_to
​string · email
cc
​string[] · maxItems: 1
​

Update a Transactional Email Template › Responses

Successful Response

id
​integer · required
object
​string
Default: transactional-email-template
updated
​boolean
Default: true

deprecated

Delete a Transactional Email Template

DELETE
https://api.cakemail.dev
/lists/{list_id}/transactional-email-templates/{transactional_email_template_id}

Delete a Transactional Email Template

Required scope(s): transactional:delete

Delete a Transactional Email Template › path Parameters

list_id
​integer · required
transactional_email_template_id
​integer · required

Delete a Transactional Email Template › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Delete a Transactional Email Template › Responses

Successful Response

id
​integer · required
object
​string
Default: transactional-email-template
deleted
​boolean
Default: true

deprecated

Send a Transactional Email from a Template to a contact

POST
https://api.cakemail.dev
/lists/{list_id}/transactional-email-templates/{transactional_email_template_id}/send

Send a Transactional Email from a Template to a single contact in the list.

If you need to send to multiple contacts at once, you should use the Campaigns API, which are designed for bulk sending.

Required scope(s): transactional:send

Send a Transactional Email from a Template to a contact › path Parameters

list_id
​integer · required
transactional_email_template_id
​integer · required

Send a Transactional Email from a Template to a contact › query Parameters

account_id
​integer

Send a Transactional Email from a Template to a contact › Request Body

anyOf
At least one variant must match. Multiple variants may match simultaneously.

Decision Table

VariantMatching Criteria
type = object · requires: contact_id
type = object · requires: email
Properties for SendTransactionalEmailToContactId:
contact_id
​integer · required
​SenderAndName
​CustomAttribute[]

List of temporary custom attributes, overriding the contact's custom attributes. Note: the custom attributes will not be saved to the contact's profile.

​Attachment[]
resubscribe
​boolean
Default: false
queue
​integer · min: 0 · max: 1

Queue ID

Default: 0

Send a Transactional Email from a Template to a contact › Responses

Successful Response

anyOf
At least one variant must match. Multiple variants may match simultaneously.

Decision Table

VariantMatching Criteria
type = object · requires: email, data
type = object · requires: email, data
Properties for SendTransactionalEmailTemplateResponse:
email
​string · required
​SentTransactionalEmailResponse · required
object
​string
Default: transactional-email-template
sent
​boolean
Default: true

deprecated

Send a Test Transactional Email from a Template

POST
https://api.cakemail.dev
/lists/{list_id}/transactional-email-templates/{transactional_email_template_id}/send-test

Send a Test Transactional Email from a Template

Required scope(s): transactional:send-test

Send a Test Transactional Email from a Template › path Parameters

list_id
​integer · required
transactional_email_template_id
​integer · required

Send a Test Transactional Email from a Template › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Send a Test Transactional Email from a Template › Request Body

email
​string · email · required

Send a Test Transactional Email from a Template › Responses

Successful Response

object
​string
Default: transactional-email-test
sent
​boolean
Default: true

deprecated

Render a Transactional Email Template

POST
https://api.cakemail.dev
/lists/{list_id}/transactional-email-templates/{transactional_email_template_id}/render

Render a Transactional Email Template

Required scope(s): transactional:read

Render a Transactional Email Template › path Parameters

list_id
​integer · required
transactional_email_template_id
​integer · required

Render a Transactional Email Template › query Parameters

account_id
​integer

Render a Transactional Email Template › Request Body

contact_id
​integer · required
​CustomAttribute[]

Render a Transactional Email Template › Responses

Successful Response

string