---
title: "Send up to 100 individualized messages"
method: POST
path: "/emails/batch"
tags: ["Emails and threads"]
---

# Send up to 100 individualized messages

`POST /emails/batch`

## Request

- Base URL: `https://sendhq.cc/api/v1`
- URL: `https://sendhq.cc/api/v1/emails/batch`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sendhq/apis/sendhq-api/docs/emails/batch/post.ts> (a function with typed inputs; its response is checked against the schema)

Send up to 100 individualized messages

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `emails` SendEmailRequest[], required
    - union
      - object
        - `from` string, required: Email address, optionally with a display name, on a verified workspace domain.
        - `to` union, required
          - string: Email address, optionally with a display name.
          - string[]
        - `cc` union
          - string: Email address, optionally with a display name.
          - string[]
        - `bcc` union
          - string: Email address, optionally with a display name.
          - string[]
        - `subject` string: Optional for raw-content sends; an omitted subject is sent empty. Hosted templates supply their published subject.
        - `html` string, required
        - `text` string
        - `reply_to` string, email
        - `headers` object
        - `message_class` 'transactional' | 'marketing'
        - `draft_id` string
        - `reply_to_email_id` string
        - `thread_id` string
        - `labels` string[]: Label names or lbl_ IDs to file the message under. Unknown names are created; replies in the conversation inherit them.
        - `template` union
          - object
            - `id` string, required
            - `key` string
            - `version_id` string
            - `versionId` string
            - `data` object
          - object
            - `id` string
            - `key` string, required
            - `version_id` string
            - `versionId` string
            - `data` object
      - object
        - `from` string, required: Email address, optionally with a display name, on a verified workspace domain.
        - `to` union, required
          - string: Email address, optionally with a display name.
          - string[]
        - `cc` union
          - string: Email address, optionally with a display name.
          - string[]
        - `bcc` union
          - string: Email address, optionally with a display name.
          - string[]
        - `subject` string: Optional for raw-content sends; an omitted subject is sent empty. Hosted templates supply their published subject.
        - `html` string
        - `text` string, required
        - `reply_to` string, email
        - `headers` object
        - `message_class` 'transactional' | 'marketing'
        - `draft_id` string
        - `reply_to_email_id` string
        - `thread_id` string
        - `labels` string[]: Label names or lbl_ IDs to file the message under. Unknown names are created; replies in the conversation inherit them.
        - `template` union
          - object
            - `id` string, required
            - `key` string
            - `version_id` string
            - `versionId` string
            - `data` object
          - object
            - `id` string
            - `key` string, required
            - `version_id` string
            - `versionId` string
            - `data` object
      - object
        - `from` string, required: Email address, optionally with a display name, on a verified workspace domain.
        - `to` union, required
          - string: Email address, optionally with a display name.
          - string[]
        - `cc` union
          - string: Email address, optionally with a display name.
          - string[]
        - `bcc` union
          - string: Email address, optionally with a display name.
          - string[]
        - `subject` string: Optional for raw-content sends; an omitted subject is sent empty. Hosted templates supply their published subject.
        - `html` string
        - `text` string
        - `reply_to` string, email
        - `headers` object
        - `message_class` 'transactional' | 'marketing'
        - `draft_id` string
        - `reply_to_email_id` string
        - `thread_id` string
        - `labels` string[]: Label names or lbl_ IDs to file the message under. Unknown names are created; replies in the conversation inherit them.
        - `template` union, required
          - object
            - `id` string, required
            - `key` string
            - `version_id` string
            - `versionId` string
            - `data` object
          - object
            - `id` string
            - `key` string, required
            - `version_id` string
            - `versionId` string
            - `data` object

## Response `201`

Successful response

- object
  - `data` object[], required
    - `index` integer, required
    - `ok` boolean, required
    - `id` string, required
  - `count` integer, required
  - `successful` integer, required
  - `failed` integer, required

## Other responses

- `207`: Successful response with partial outcomes
- `400`: Invalid request
- `401`: Missing or invalid authentication
- `402`: A paid entitlement is required for this recipient or feature
- `403`: The workspace, domain, policy, or suppression state forbids the operation
- `404`: Tenant-scoped resource not found
- `409`: Resource state or idempotency conflict
- `413`: Attachment count or bytes exceed the accepted limit
- `422`: Request validation or suppression check failed
- `423`: Sending is paused for this sender identity or workspace; the message gives the reason and how to appeal
- `429`: A monthly, daily, or trial usage limit was reached
- `500`: Unexpected server error
- `502`: An upstream provider operation failed
- `503`: A required provider or signing configuration is unavailable
- `default`: An error response using SendHQ's standard JSON envelope

---

[API](https://skmtc.dev/sendhq/apis/sendhq-api.md) - [All operations](https://skmtc.dev/sendhq/apis/sendhq-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sendhq/apis/sendhq-api/revisions/98e39e48cb9a?raw)
