Getting Started
Templates
Send through stored templates with {{variables}}.
Overview
Templates are created and managed in the Notideus dashboard — the visual editor, per-template settings, and previews all live there. The API never creates or edits templates; it only references them by template_id when sending.
Sending with a template
Pass template_id together with a variables map instead of an html body:
curl -X POST https://api.notideus.io/v1/emails \
-H "Authorization: Bearer $NT_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "Acme <noreply@acme.com>",
"to": ["jane@example.com"],
"subject": "Your order is ready",
"template_id": "0a1b2c3d-4e5f-6789-abcd-ef0123456789",
"variables": {"name": "Jane", "order_id": "1234"}
}'
Every send needs a body: exactly one of html or template_id is required. If both are present, the template wins — the html field is ignored.
Variables
Templates contain {{variable}} slots (letters, digits, and underscores). When a send carries variables, each slot is replaced by the matching value:
- Values are HTML-escaped before insertion (
&,<,>, and"). - Unknown variables render as the empty string — a template slot with no matching value simply disappears.
Escaping protects values placed through
variables, but the API stores and sends your HTML as-is. If you build the html field yourself, escape user input before putting it in the request.Looking up template IDs
There is no public template endpoint. Copy the
template_id from the dashboard's templates list — it is shown next to each template's name.