Batch Sends
Send multiple emails in a single request using the Taifa Mail batch API.
Batch sends let you deliver many individual emails in one API call. Each email in the batch can have its own recipient, subject, and body.
Batch sending requires the Starter plan or above. Free plan callers receive a 403 Forbidden.
POST /v1/emails/batch
The request body is a JSON array of email objects. Each object uses the same shape as a single send request (from_, to, subject, html, text, cc, bcc, reply_to, headers, tags, send_at).
Response
The endpoint returns 202 Accepted:
| Field | Description |
|---|---|
total | Number of emails in the batch. |
sent | Count of emails successfully queued or scheduled. |
failed | Count of emails that could not be accepted. |
results | One entry per email, in request order. Failed entries have id: null, status: "error", and a rejection_reason. |
Each email in the batch is processed independently. A failure on one email does not stop the rest.
Batch size limits
The maximum number of emails per batch depends on your plan:
| Plan | Max batch size |
|---|---|
| Free | Not available |
| Starter | 25 |
| Pro | 50 |
| Business | 100 |
An empty array, or one that exceeds the plan limit, returns 400 Bad Request. For larger sends, split them into multiple batch requests.
The batch endpoint can also schedule: include send_at on any email in the array. Scheduled delivery itself requires the Starter plan or above. See Scheduling Emails.