Skip to main content
POST
JavaScript

Authorizations

Authorization
string
header
required

Telnyx API key supplied as Authorization: Bearer <token>. In production, auth may be validated by the API gateway and forwarded via Telnyx auth headers.

Headers

Idempotency-Key
string

Optional opaque, unquoted key for safely retrying the same logical request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores. Generate a unique UUID v4 for each operation and reuse it only when retrying that operation with the same request. Invalid headers—including duplicate, empty, malformed, or overlong values—return 400 with error code 10015. A request already in progress with the same key returns 409; reusing the key with a different request returns 422. Only successful responses are replayed, for up to 24 hours. Do not include sensitive data in the key.

Required string length: 1 - 255
Pattern: ^[A-Za-z0-9_-]{1,255}$

Body

application/json
messages
object[]
required

Array of email messages to send. Up to 1,000 messages per batch request. Each message is validated and sent independently; per-message failures do not affect other messages in the batch.

Required array length: 1 - 1000 elements
sandbox_mode
boolean
default:false

Applies sandbox mode to all messages in the batch and overrides any per-message sandbox_mode value — each message's effective sandbox_mode is exactly this envelope value. Reserved recipients at test.telnyx.com produce the deterministic event chains documented on CreateEmailRequest.sandbox_mode; no batch item is injected into the MTA or outbound Kafka path. Sandbox batch items are non-billable, consume no daily-send-limit quota, and feed no delivery-reputation signals.

Response

Multi-Status — returned after request-wide admission checks pass and item processing runs. Each message is validated and sent independently; per-message failures do not affect other messages in the batch. An invalid or non-future scheduled_at/send_at is reported as a per-item unprocessable_entity error while the remaining items continue. When all messages succeed, errors is empty and every item is in data; otherwise data contains successes and errors contains failures. Request-wide gates can instead return 4xx or 5xx.

data
object[]
required
errors
object[]
required
meta
object
required