Batch Email API Guide & Multi-Recipient Dispatch

POST/api/v1/email/batch

Send up to 100 emails in one request. The body is a JSON array of send payloads (same fields as single send, minus attachments and sendAt scheduling). NoticeAPI stores each eligible item before provider dispatch and returns 202. Per-item tracking overrides are supported.

curl -X POST https://www.noticeapi.com/api/v1/email/batch \
  -H "Authorization: Bearer ntc_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: receipts-2026-08-13" \
  -d '[
    { "from": "Acme <alerts@acme.com>", "to": "a@example.com",
      "subject": "Hi A", "text": "..." },
    { "from": "Acme <alerts@acme.com>", "to": "b@example.com",
      "subject": "Hi B", "text": "..." }
  ]'

Per-item results

Results stay index-aligned. Each item has a delivery record ID. Poll the ID to inspect queued, sending, accepted, failed, or uncertain state.

{
  "ok": true,
  "id": "batch_5f0c...",
  "data": [
    { "id": "5f0c...", "status": "queued", "messageId": null },
    { "id": "91a2...", "status": "failed", "messageId": null,
      "error": "Suppressed recipient(s): b@example.com", "code": "recipient_suppressed" }
  ]
}

Limits

100 items per call · 10 recipients per item · immediate queueing · no attachments in batch · simulator recipients work per item. Send an Idempotency-Key when a client can retry. The same key and payload return the original batch.