Skip to content

Send up to 100 transactional emails in one call

POST
/v1/emails/batch

Each item is accepted/validated/suppression-checked independently — one bad or fully-suppressed item never fails the others. Per-item results preserve request order.

Authorizations

apiKey

Scoped API key. Scopes are readwriteadmin. A call needing more scope than the key holds returns 403 insufficient_scope.

Type
HTTP (bearer)

Parameters

Header Parameters

Idempotency-Key

POST only. Duplicate requests with the same key within ~12–24 h return the original response and create no second effect.

Type
string
Format
"uuid"

Request Body

application/json
JSON
{
  
"emails": [
  
  
{
  
  
  
"from": "no-reply@acme.send.emithook.com",
  
  
  
"to": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"cc": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"bcc": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"reply_to": "string",
  
  
  
"subject": "Your invoice is ready",
  
  
  
"html": "string",
  
  
  
"text": "string",
  
  
  
"headers": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"attachments": [
  
  
  
  
{
  
  
  
  
  
"filename": "invoice.pdf",
  
  
  
  
  
"content_type": "application/pdf",
  
  
  
  
  
"content": "string",
  
  
  
  
  
"url": "https://cdn.acme.com/invoices/INV-1.pdf",
  
  
  
  
  
"content_id": "logo"
  
  
  
  
}
  
  
  
]
  
  
}
  
]
}

Responses

Accepted — one result per input item, in order.

application/json
JSON
{
  
"data": [
  
  
{
  
  
  
"id": "evt_01JX9",
  
  
  
"error": {
  
  
  
  
"type": "validation_failed",
  
  
  
  
"message": "string"
  
  
  
}
  
  
}
  
]
}

Playground

Authorization
Headers
Body

Samples

Powered by VitePress OpenAPI

Emithook · a Finnoto product