> ## Documentation Index
> Fetch the complete documentation index at: https://jetemail.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Send multiple emails in a batch

> Send up to 100 emails in a single batch request



## OpenAPI

````yaml /openapi.json post /email-batch
openapi: 3.0.0
info:
  title: JetEmail API
  version: 1.0.0
  description: API documentation for JetEmail's transactional email service.
servers:
  - url: https://api.jetemail.com
    description: Production
security:
  - apiKeyAuth: []
externalDocs:
  description: Download OpenAPI Specification
  url: /openapi.json
paths:
  /email-batch:
    post:
      tags:
        - Email
      summary: Send multiple emails in a batch
      description: Send up to 100 emails in a single batch request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - emails
              properties:
                emails:
                  type: array
                  items:
                    type: object
                    required:
                      - from
                      - to
                      - subject
                    oneOf:
                      - required:
                          - html
                      - required:
                          - text
                    properties:
                      from:
                        type: string
                        description: >-
                          Sender email address in format: "Name
                          <email@domain.com>"
                        example: John Doe <john@example.com>
                      to:
                        oneOf:
                          - type: string
                            format: email
                            description: Single recipient email address
                            example: user@example.com
                          - type: array
                            items:
                              type: string
                              format: email
                            maxItems: 50
                            description: List of recipient email addresses
                      subject:
                        type: string
                        maxLength: 998
                        description: Email subject line
                      html:
                        type: string
                        description: >-
                          HTML content of the email. At least one of html or
                          text is required.
                      text:
                        type: string
                        description: >-
                          Plain text content of the email. At least one of html
                          or text is required.
                      cc:
                        oneOf:
                          - type: string
                          - type: array
                            items:
                              type: string
                            maxItems: 50
                        description: CC recipient(s)
                      bcc:
                        oneOf:
                          - type: string
                          - type: array
                            items:
                              type: string
                            maxItems: 50
                        description: BCC recipient(s)
                      reply_to:
                        oneOf:
                          - type: string
                          - type: array
                            items:
                              type: string
                            maxItems: 50
                        description: Reply-to address(es)
                      headers:
                        type: object
                        additionalProperties:
                          type: string
                        description: Custom email headers
                      attachments:
                        type: array
                        items:
                          type: object
                          required:
                            - filename
                            - data
                          properties:
                            filename:
                              type: string
                              maxLength: 255
                              description: Name of the attachment file
                            data:
                              type: string
                              format: base64
                              description: Base64 encoded file content
                        description: >-
                          Email attachments (base64 encoded, max total size:
                          40MB)
                      eu:
                        type: boolean
                        description: If true, restricts email delivery to EU region only.
                        example: false
                      idempotency_key:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Per-email idempotency key. A repeat with the same key
                          and body replays the original result.
                      scheduledAt:
                        oneOf:
                          - type: integer
                            description: Unix seconds (UTC).
                            example: 1762435200
                          - type: string
                            format: date-time
                            description: ISO 8601 / RFC 3339 with offset.
                            example: '2026-05-15T10:00:00Z'
                        description: >-
                          Future send time, up to 30 days out. Accepts unix
                          seconds (e.g. 1762435200) or ISO 8601 (e.g.
                          "2026-05-15T10:00:00Z" or
                          "2026-05-15T10:00:00-04:00"). `scheduled_at` is also
                          accepted as an alias.
                  maxItems: 100
                  minItems: 1
            examples:
              Simple Batch:
                value:
                  emails:
                    - from: John Doe <john@example.com>
                      to: recipient1@example.com
                      subject: Test Email 1
                      text: Hello! This is test email 1.
                    - from: John Doe <john@example.com>
                      to: recipient2@example.com
                      subject: Test Email 2
                      text: Hello! This is test email 2.
              Mixed Immediate and Scheduled:
                value:
                  emails:
                    - from: John Doe <john@example.com>
                      to: recipient1@example.com
                      subject: Send now
                      text: Hello! This sends immediately.
                    - from: John Doe <john@example.com>
                      to: recipient2@example.com
                      subject: Send later
                      text: Hello! This sends at the scheduled time.
                      scheduledAt: '2026-05-15T10:00:00Z'
      responses:
        '207':
          description: Batch processing results
          content:
            application/json:
              schema:
                type: object
                properties:
                  summary:
                    type: object
                    properties:
                      total:
                        type: integer
                        description: Total number of emails in batch
                        example: 2
                      successful:
                        type: integer
                        description: Number of successfully sent emails
                        example: 1
                      failed:
                        type: integer
                        description: Number of failed emails
                        example: 1
                  results:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            status:
                              type: string
                              enum:
                                - success
                              example: success
                            id:
                              type: string
                              description: >-
                                Message ID, or scheduling uuid for scheduled
                                items.
                              example: 19424fd2acd0004210
                            response:
                              type: string
                              description: Success message
                              example: Message queued as 19424fd2acd0004210
                            scheduled_at:
                              type: integer
                              description: >-
                                Unix seconds at which the message will send.
                                Present only when scheduled.
                              example: 1762435200
                        - type: object
                          properties:
                            status:
                              type: string
                              enum:
                                - error
                              example: error
                            error:
                              type: string
                              description: Error message
                              example: Invalid email format
                            email:
                              type: object
                              description: The original email request that failed
        '400':
          description: Bad Request - Invalid input
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Maximum batch size is 100 emails
        '401':
          description: Unauthorized - Missing or invalid API key
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: No healthy email endpoints available
      security:
        - transactionalKeyAuth: []
components:
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      description: API key for account management endpoints. Use your api_ prefixed token.
    transactionalKeyAuth:
      type: http
      scheme: bearer
      description: >-
        Transactional key for sending emails. Use your transactional_ prefixed
        token.

````