Send a single transactional email or a batch of them in one request, with attachments, custom headers and tags.
Send an email
The request body can be at most 25 MB, including base64-encoded attachments. A larger request is rejected with a 413 Request Entity Too Large before it reaches the API, and the email is not sent.
Headers
x-lettermint-tokenProject API token for the project sending this email.
Idempotency-KeyOptional key (1-255 characters) that makes the request safe to retry. Repeating a request with the same key and body within 24 hours returns the original response instead of sending again.
Send an email › Request Body
fromtosubjectrouteccbccreply_toscheduled_atISO 8601 or English delivery time. A time without a timezone uses UTC.
sandbox_resultThe result that a Sandbox project simulates for every recipient.
Custom headers to include in the email. To preserve a submitted RFC Message-ID, include both Message-ID and X-LM-Preserve-Message-ID with a string value of true or 1. Header names and control values are case-insensitive; false or 0 retains replacement. Send values as plain text: Lettermint encodes non-ASCII characters and repairs small formatting errors, such as line breaks, control characters and missing angle brackets. Header names must be printable ASCII without a colon.
Metadata to track with the email (not added as email headers).
tag^[a-zA-Z0-9_-]+(?:\s…Tag to categorize and filter emails (alphanumeric, underscores, hyphens, spaces allowed).
Reusable exact-match tags. Names must be unique and are case-sensitive.
Per-email settings that override the selected route settings for this email only.
htmltextSend an email › Responses
Message accepted for delivery
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: message_id, status | |
| type = object · requires: message_id, status, scheduled_at |
message_idstatussandboxPresent when the project uses Sandbox delivery
sandbox_resultThe simulated delivery result. Present when the project uses Sandbox delivery
Send multiple emails in a batch
Send up to 500 emails in a single request. Each email in the batch supports the same parameters as the single send endpoint. The whole request body can be at most 25 MB, including base64-encoded attachments. A larger request is rejected with a 413 Request Entity Too Large before it reaches the API, and none of its emails are sent, so split larger batches into several requests.
Emails are accepted in order. When an email fails, the emails before it may already be accepted and are not rolled back. The error then lists them in details.accepted, with their index in the batch and their message_id. Give each email an idempotency_key to retry safely: a retry returns the original result of every email that was accepted and sends only the rest.
Headers
x-lettermint-tokenProject API token for the project sending this email.
Idempotency-KeyOptional key (1-255 characters) that makes the whole request safe to retry. Repeating a request with the same key and body within 24 hours returns the original response instead of sending again. To retry part of a batch, give each email an idempotency_key instead.
Send multiple emails in a batch › Request Body
fromtosubjectrouteccbccreply_toscheduled_atISO 8601 or English delivery time. A time without a timezone uses UTC.
sandbox_resultThe result that a Sandbox project simulates for every recipient.
Custom headers to include in the email. To preserve a submitted RFC Message-ID, include both Message-ID and X-LM-Preserve-Message-ID with a string value of true or 1. Header names and control values are case-insensitive; false or 0 retains replacement. Send values as plain text: Lettermint encodes non-ASCII characters and repairs small formatting errors, such as line breaks, control characters and missing angle brackets. Header names must be printable ASCII without a colon.
Metadata to track with the email (not added as email headers).
tag^[a-zA-Z0-9_-]+(?:\s…Tag to categorize and filter emails (alphanumeric, underscores, hyphens, spaces allowed).
Reusable exact-match tags. Names must be unique and are case-sensitive.
Per-email settings that override the selected route settings for this email only.
htmltextidempotency_keyOptional key (1-255 characters) that makes this email safe to send again, in this or a later batch. If an email with the same key and content was accepted in the last 24 hours, its original result is returned and it is not sent again. Keys must be unique within a batch. Reusing a key with different content, or while the email with that key is still being processed, rejects the whole batch with 409 Conflict and sends nothing.
Send multiple emails in a batch › Responses
Array of message IDs and their status
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: message_id, status | |
| type = object · requires: message_id, status, scheduled_at |
message_idstatussandboxPresent when the project uses Sandbox delivery
sandbox_resultThe simulated delivery result. Present when the project uses Sandbox delivery