---
title: "POST /v1/emails/batch"
method: POST
path: "/v1/emails/batch"
---

# POST /v1/emails/batch

`POST /v1/emails/batch`

## Headers

- `Idempotency-Key` string — Pass the optional Idempotency-Key header to make the request safe to retry. The key can be up to 256 characters. The server stores the canonical request body and behaves as follows: - Same key + same request body → returns the original emailId with 200 OK without re-sending. - Same key + different request body → returns 409 Conflict with code: NOT_UNIQUE so you can detect the mismatch. - Same key while another request is still being processed → returns 409 Conflict; retry after a short delay or once the first request completes. Entries expire after 24 hours. Use a unique key per logical send (for example, an order or signup ID).

## Request body

- object[]
  - `to` union, required
    - string
    - string[]
  - `from` string, required
  - `subject` string — Optional when templateId is provided
  - `templateId` string — ID of a template from the dashboard
  - `variables` object
  - `replyTo` union
    - string
    - string[]
  - `cc` union
    - string
    - string[]
  - `bcc` union
    - string
    - string[]
  - `text` string, nullable
  - `html` string, nullable
  - `headers` object — Custom headers to included with the emails
  - `attachments` object[]
    - `filename` string, required
    - `content` string, required
  - `scheduledAt` string, date-time
  - `inReplyToId` string, nullable

## Response `200`

List of successfully created email IDs

- object
  - `data` object[], required
    - `emailId` string, required

---

[API](https://skmtc.net/usesend/apis/usesend-api.md) · [All operations](https://skmtc.net/usesend/apis/usesend-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/usesend/usesend-api/versions/ee7832fe66a6/schema)
