eusend

Email Templates

Create reusable email templates by submitting rendered HTML, personalized at send time via {{variable}} placeholders.

Create reusable email templates by submitting rendered HTML — write them by hand or render a React Email component locally with @react-email/render and submit the result. Templates are stored server-side and personalized at send time via {{variable}} placeholders.

Creating templates

Templates can be created in the Templates section of the dashboard, which provides a live-preview editor. They can also be created via the API.

API endpoints

POST/templates
ParameterTypeDescription
namerequiredstringDisplay name for the template.
subjectrequiredstringDefault email subject. Supports {{variable}} placeholders. Can be overridden per send.
htmlrequiredstringHTML content. Supports {{variable}} placeholders. Variable values are HTML-escaped at render time, so put HTML structure in the template itself — not in variable values.
create template
curl -X POST https://api.eusend.dev/templates \
  -H "Authorization: Bearer eu_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Order Confirmation",
    "subject": "Your order #{{order_id}} is confirmed",
    "html": "<h1>Hi {{first_name}}!</h1><p>Order #{{order_id}} confirmed.</p>",
    "text": "Hi {{first_name}}! Order #{{order_id}} confirmed."
  }'
response — 201 Created
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Order Confirmation",
  "createdAt": "2026-05-20T10:00:00.000Z"
}

The rest of the template CRUD surface:

GET/templates

List all templates.

GET/templates/:id

Get a template.

PATCH/templates/:id

Update a template.

DELETE/templates/:id

Delete a template.