Emails
Batch Send
Send up to 100 emails in a single request. Each email is independent — failures are per-email.
POST
/emails/batchRequest body
An array of up to 100 email objects. Each object has the same schema as
POST /emails, except that attachments and scheduled_at
are not supported here — send or schedule those individually via POST /emails.
curl -X POST https://api.eusend.dev/emails/batch \
-H "Authorization: Bearer eu_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '[
{
"from": "noreply@acme.com",
"to": "alice@example.com",
"subject": "Receipt #1001",
"html": "<p>Thanks, Alice!</p>"
},
{
"from": "noreply@acme.com",
"to": "bob@example.com",
"subject": "Receipt #1002",
"html": "<p>Thanks, Bob!</p>"
}
]'Response
One result per input email, in the same order: data[i] describes emails[i].
A queued email carries its id; an email that could not be queued carries
error and code instead (for example an unverified sender domain, all
recipients suppressed, or an exhausted quota). Failed items never fail the rest
of the batch — retry just those.
{
"data": [
{ "id": "9a8b7c6d-5e4f-4a3b-8c1d-0e9f8a7b6c5d" },
{ "error": "All recipients are suppressed", "code": "ALL_SUPPRESSED" }
]
}⚠
Batch sends count toward your daily and monthly limits. A batch of 50 emails uses 50 of your quota.