Sending Emails — Templates
Store HTML once. Send with a slug.
Use {{name}} placeholders in subject/HTML. Send with template + data.
Create in Dashboard → Templates
Starter slugs: welcome, verify-email, password-reset, otp, invoice, payment-successful, subscription-expiring…
POST /api/send
{
"template": "welcome",
"data": { "name": "Ada", "product": "Acme" },
"to": "ada@acme.co",
"from": "you@gmail.com"
}Missing {{variable}} → 400 with list.
Rendering
We fill every {{key}} from data. Unfilled keys error — don't ship broken HTML.
Manage: GET /api/templates, POST /api/templates { slug, subject, html, text }, DELETE /api/templates?id=...