Starter Templates
Send great-looking transactional email without designing it yourself. Free keys can use any starter template — no domain setup required.
List templates
Returns all starter templates available to your account.
Response
[
{
"slug": "welcome",
"name": "Welcome email",
"description": "Post-signup welcome with a three-step starter checklist.",
"variables": ["name", "app_name"]
}
]
Use the slug value as starterTemplate when calling POST /v1/emails.
Example
curl https://app.brixus365.com/api/v1/starter-templates \
-H "X-API-Key: bx_preview_your_key_here"Available templates
| Slug | Name | What it’s for | Variables |
|---|---|---|---|
otp | One-time passcode | Six-digit one-time passcode with short expiry. Use for passwordless sign-in and step-up verification. | otp_code, expiry_minutes, app_name |
magic_link | Magic sign-in link | Single-use sign-in link delivered to the user’s inbox. No password required. | login_url, expiry_minutes |
email_verify | Email verification | Confirm that a freshly-signed-up user owns the inbox they provided. | verify_url |
welcome | Welcome email | Post-signup welcome with a three-step starter checklist. | name, app_name |
password_reset | Password reset link | Time-limited link for the user to choose a new password after a reset request. | reset_url, expiry_minutes |
password_changed | Password changed confirmation | Confirmation email after a successful password change, with a support contact if it wasn’t them. | name, support_email |
team_invite | Team invitation | Workspace invitation with the inviter’s name and a one-click accept link. | inviter_name, team_name, accept_url |
trial_ending | Trial ending reminder | Nudge near the end of a free trial with a clear upgrade call-to-action. | days_left, upgrade_url |
payment_receipt | Payment receipt | Transactional receipt with invoice ID, amount, and currency. | amount, currency, invoice_id |
security_alert | Security alert | Suspicious-activity alert with event, IP, and timestamp details. | event, ip, at |
All templates are responsive, dark-mode-friendly, and include a Brixus365 footer attribution. The footer is removed automatically on paid plans.
Preview a template
Render a template against a set of variables and return the resulting subject line and HTML — useful for an in-app preview before sending. No email is sent.
The endpoint uses POST with a JSON body (not GET with query params) so sensitive variables like reset links and OTPs are never written to server logs or proxy access logs.
Variables you supply are merged on top of the template’s built-in sample values, so you only need to pass the ones you want to override.
Path parameters
| Parameter | Type | Description | |
|---|---|---|---|
slug | required | string | Template slug from GET /v1/starter-templates. |
Request body
{
"variables": {
"name": "Alice",
"app_name": "Acme"
}
}
The body is optional. Omit it (or send {}) to render with the template’s default sample variables.
Response
{
"slug": "welcome",
"subject": "Welcome to Acme",
"html": "<!DOCTYPE html>...",
"sampleVariables": {
"name": "Alice",
"app_name": "Acme"
}
}
sampleVariables reflects the effective merged values used during rendering.
Example
1curl -X POST https://app.brixus365.com/api/v1/starter-templates/welcome/preview \
2-H "X-API-Key: bx_preview_your_key_here" \
3-H "Content-Type: application/json" \
4-d '{
5 "variables": {
6 "name": "Alice",
7 "app_name": "Acme"
8 }
9}'Errors
| Status | Code | Description |
|---|---|---|
| 404 | template_not_found | No starter template with that slug exists |