Skip to main content
From zero to your first email in the queue in a few steps. The must-have is a verified domain in DNS, without it, send will not work.

In short

  • Verify a domain in DNS, proves you control the sender (noreply@yourdomain.com).
  • Send with subject and body (text and/or HTML) to up to 100 recipients per call.
  • Query, schedule, or cancel and get status via webhooks.
Context: Introduction. Scopes: API Key scopes.

Before you start

  • Key with email:domains:create, email:domains:list, and email:send (or admin scope in testing)
  • The from domain must be VERIFIED before send
  • Auth: Authorization: Bearer sk_live_... or x-api-key
  • Base URL: https://api.notifique.dev, use sk_test_... in Sandbox when getting started

1. Verify domain

Two paths, pick what fits your integration:

1A, Via dashboard

  1. Settings → Email → Add domain
  2. Copy the DNS records (TXT/CNAME) to your domain provider
  3. Click Verify until status is VERIFIED

1B, Via API

Register domain
Expected response: 200 with PENDING status and DNS records:
Save the domain id for the verify step. Verify (call again after DNS propagates):
DNS still pending, 200, not an HTTP error:
Verified, 200:
Codes and HTTP errors: Error responses.

2. Send email

With a VERIFIED domain, send to one or many recipients. to is always an array (up to 100).
Required in payload: subject and at least text or html.

Send with template

If you already have a workspace template with email enabled:
Expected response: 202
messageIds is the canonical field; emailIds is a compatibility alias.
Unverified from domain → 400 with DOMAIN_NOT_VERIFIED.
Options in options: priority (high, normal, low), webhook (URL and secret for this batch only), metadata (free text). Details in the API reference. RFC 8058 (one-click unsubscribe): by default, if the recipient is a workspace contact, Notifique injects List-Unsubscribe. For transactional email use "listUnsubscribe": false. Invalid topic → 400 INVALID_LIST_UNSUBSCRIBE_TOPIC. Guide: One-click unsubscribe.

3. Query, schedule, and cancel

List sent
Optional filters: fromDate, toDate, status, emailDomainId. Requires email:read. View one send
Schedule, include in the send body:
Cancel schedule (only with SCHEDULED status):
Scope: email:cancel. Scheduled credits return to the workspace.

4. Avoid duplicates

Idempotency-Key header on POST. Repeats within 24 h do not create duplicate sends. See Security and reliability.

5. Webhooks (optional)

Configure email.sent, email.delivered, email.opened, email.clicked, email.failed, email.complained, and email.cancelled to track without polling. Guide: Webhook events.

All send types

In the API reference (Email tab), open Send email and pick an example in the playground: HTML+text, Text only, Template, Scheduled, List-Unsubscribe.

Next steps