Skip to main content
The email API lets you send transactional emails, manage templates, and verify email addresses. All outbound email is delivered through the SMTP credentials configured in Admin → Settings → Email.

Send an email

POST /api/email/send Sends a transactional email using a named template and a set of merge variables. Required permission: api.email.send.manage
Method: POST only
Requires CSRF token.
string
required
Recipient email address.
string
required
Template name (see GET /api/email/templates for available templates).
object
Key-value pairs to substitute into the template’s merge fields.
integer
If provided, the email is logged against this job’s record and threaded with any replies.
string
required
CSRF token from GET /api/security/csrf-token.

List email templates

GET /api/email/templates Returns all available email templates with their names, descriptions, and required merge variables. Required permission: api.email.send.manage

Send a welcome email

POST /api/email/welcome Sends the standard welcome email to a newly created user. This is called automatically when a user account is created but can be retriggered manually by a Staff user. Required permission: api.users.users.manage
Requires CSRF token.
integer
required
ID of the user to send the welcome email to.
string
required
CSRF token.

Email verification

Request an email verification code

POST /api/email/verify Sends a one-time verification code to the authenticated user’s email address. Codes expire after 15 minutes. Permission: All authenticated users
Requires CSRF token.
string
required
Must be send.
string
required
CSRF token.

Verify the code

POST /api/email/verify Submits the verification code sent to the user’s email address. Permission: All authenticated users
Requires CSRF token.
string
required
Must be verify.
string
required
The 6-digit verification code from the email.
string
required
CSRF token.

Code examples