Batch email API

Send many transactional emails in one API call.

Batch sends are built for receipts, imports, notifications, and backfills where every message needs its own recipient, content, result, and log entry.

POST /api/v1/email/batch
curl -X POST https://www.noticeapi.com/api/v1/email/batch \
  -H "Authorization: Bearer ntc_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "from": "Acme <[email protected]>",
      "to": "[email protected]",
      "subject": "Receipt #1042",
      "html": "<p>Your receipt is ready.</p>"
    },
    {
      "from": "Acme <[email protected]>",
      "to": "[email protected]",
      "subject": "Receipt #1043",
      "html": "<p>Your receipt is ready.</p>"
    }
  ]'

Batch planner

One request, many independent outcomes.

Batch sending is not a blind blast. Each message gets its own validation, result, log entry, and delivery timeline so import jobs and receipt backfills stay debuggable.

Read the batch contract
Size

Up to 100 messages

Keep each batch small enough for predictable results and easy retry behavior.

Result

Per-item success or error

One bad recipient does not make you guess what happened to the rest of the request.

Guardrail

Suppressions still apply

Suppressed recipients fail before provider handoff, just like single sends.

Trace

Normal email records

Accepted batch items become regular emails with timelines, logs, and webhook events.

Granular results

Each item returns its own id, message id, or error.

Same guardrails

Suppressions, domain verification, quotas, and simulator checks still apply.

Stored logs

Every accepted message gets a normal email detail page and webhook path.