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

  1. Create a mail_api key in Dashboard API keys.
  2. Queue mail with POST /api/v1/emails or POST /api/v1/templates/send.
  3. Track status and throughput with GET /api/v1/emails.
  4. 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.
Open full POST /api/v1/emails reference