Documentation version: Latest (v1)
Guide
Mail API guide
How to queue transactional email, send from templates, route by sender identity, and monitor delivery lifecycle through API logs.
Workflow overview
- Create a mail_api key in Dashboard API keys.
- Queue mail with POST /api/v1/emails or POST /api/v1/templates/send.
- Track status and throughput with GET /api/v1/emails.
- Handle 429 and 503 responses with retry + alerting logic.
Queue email with custom content
Use this for transactional sends where body content is generated by your service at runtime.
curl -X POST "https://risumail.risu.in/api/v1/emails" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"to":["customer@example.com"],"subject":"Order confirmation","html":"<h1>Order received</h1><p>Thanks for your purchase.</p>"}'Send from saved template
Use templateId + vars to keep rendering logic centralized in dashboard templates.
curl -X POST "https://risumail.risu.in/api/v1/templates/send" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"to":["customer@example.com"],"templateId":"tpl_order_confirmation","vars":{"orderId":"ORD-1001","customerName":"Asha"}}'List and monitor sends
Pull paginated logs for support tooling, webhook fallback checks, and customer-facing status views.
curl -X GET "https://risumail.risu.in/api/v1/emails?page=1&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"Operational recommendations
- Always provide a plain-text fallback for improved inbox compatibility.
- Use verified senderEmailId values when routing via dedicated sender identities.
- Treat SENT as SMTP acceptance, not guaranteed inbox placement.
- Record id returned by queue endpoint for traceability in your own logs.