Dispatch a single transactional email by sending a pre-rendered HTML payload — no template required
Documentation Index
Fetch the complete documentation index at: https://docs.minimo.it/llms.txt
Use this file to discover all available pages before exploring further.
TRANSACTIONAL permission from the Minimo dashboard.html, the backend:
{{UNSUBSCRIBE_URL}}, {{PREFERENCES_URL}}, and {{FAKE_IMAGE_URL}} are replaced with the per-recipient tracked URLs.<img> whose src matches the Minimo open-pixel pattern is removed so it can’t double-fire.<a href> pointing to http(s) or a relative URL is replaced with a click-tracking URL. mailto:, fragment-only (#…), and pre-existing /api/click/* links are left alone.<body> (or at the document root if no <body> exists).GET /public/v1/emails/{id}/stats.
status to know whether the provider accepted the message.
id, so the delivery row remains queryable:
Order receipt with embedded link
View receipt anchor into a tracked link.Magic-link sign-in
Internal alert from a background job
statsUrl lookupstatsUrl. Persist the id (or the full statsUrl) alongside whatever business object triggered the send (order id, user id, etc.) so you can correlate opens and clicks later.
failed branchstatus: "failed" means the provider rejected the message — usually a malformed recipient, an unverified sender, or a hard bounce. Surface failureReason to your operators, then either retry with corrected data or log the failure.
<style> blocks. Test in major clients (Gmail, Apple Mail, Outlook) before going live.
text fallback for deliverability/api/click/* URLs or an open pixel from a previous Minimo send, leave them alone — the server detects and skips them. Inserting your own tracking on top is unnecessary.
| Status | Body | Cause |
|---|---|---|
400 | { "error": "to must be an email" } | Invalid or missing required field |
401 | — | API key missing or wrong format |
403 | — | API key lacks the TRANSACTIONAL permission |
200 | { "data": { "status": "failed", "failureReason" } } | Provider rejected the message (still a 200) |
500 | — | Server misconfiguration (e.g. WEB_APP_URL unset) |
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Recipient email address.
Email subject line.
Pre-rendered HTML body. The server injects the open
pixel and rewrites anchor hrefs — do not pre-process
them on your side.
Plain-text fallback for clients without HTML support.
Per-request sender override. Falls back to the company email settings.
Per-request sender display name override.
Delivery accepted by the queue. Check data.status to tell
whether the provider actually accepted the message.