Request Parameters

Query Parameters

ParameterTypeRequiredDescription
prioritystringYes"low" or "high"
PriorityDescriptionUse Cases
highTime-sensitive, critical emailsPassword resets, OTP, urgent alerts
lowStandard transactional emailsOrder confirmations, receipts

Body Parameters

FieldTypeRequiredDescription
fromAddressYesSender's email address and name
replyToAddressNoReply-to email address and name
toAddress[]YesList of primary recipients
ccAddress[]NoList of CC recipients
bccAddress[]NoList of BCC recipients
subjectstringYesEmail subject line
htmlstringYes (html or text)HTML email content
textstringYes (html or text)Plain text email content
attachmentsAttachment[]NoList of file attachments
customerReferencestringNoYour reference for tracking
inReplyTostringNoMessage-ID of the email being replied to. Enables threading in email clients.
referencesstringNoSpace-separated list of Message-IDs forming the full thread chain. Used for deep thread display. Falls back to inReplyTo value if omitted.
headersobjectNoCustom key-value email headers to include in the outbound message. Check Custom Headers section below.

Objects

Address

FieldTypeRequiredDescription
emailstringYesEmail address
namestringNo (Required for From object)Display name

Attachment

FieldTypeRequiredDescription
fileNamestringYesName of the file with extension
contentstringYesBase64 encoded file content
contentTypestringYesMIME type of the file
contentIdstringNoContent ID for inline images

Supported File Types

CategoryExtensions
Images.jpg, .jpeg, .png
Documents.pdf, .doc, .docx
Archives.zip

Custom Headers

Custom headers let you attach metadata to outgoing emails that email clients and servers can act on — without it appearing in the message body. A few common uses:

  • Prevent Gmail from threading unrelated emails together using X-Entity-Ref-ID
  • Add a one-click unsubscribe shortcut with List-Unsubscribe
  • Pass internal tracking references like campaign or order IDs

The headers field accepts a flat key-value JSON object:

"headers": {
  "X-Campaign-ID": "promo-2026",
  "X-Client-Reference": "order-12345"
}
RuleDetail
FormatJSON object {"key": "value"} — not an array
Maximum entries20 headers
Name formatLetters, digits, and hyphens only. Must start and end with a letter or digit (e.g. X-Custom-Header)
Value formatPrintable ASCII characters only. Max 998 characters
Reserved headersSystem headers (From, To, Bcc, Subject, Message-ID, DKIM-Signature, etc.) cannot be overridden

Requests that violate these rules are rejected with a 400 Bad Request error.

Email Threading (inReplyTo / references)

Use inReplyTo and references to thread outbound emails into existing conversations in recipients' email clients.

Finding the Message-ID of the original email

The Message-ID of an outbound email includes a timestamp, the message UUID, and the sending domain:

Message-ID: <20260617052825.68047ebb-f07f-48bb-a504-f4dc42d073c1@yourdomain.com>

To get this value, view the raw source of the email in your client. In Gmail: open the email, click the three-dot menu, and select Show original.

Note: The inReplyTo value must match the Message-ID exactly, including the timestamp prefix and angle brackets. The UUID from the API response messageId field alone will not work.

First-level reply

{
  "subject": "Re: Your inquiry",
  "inReplyTo": "<20260617052825.68047ebb-f07f-48bb-a504-f4dc42d073c1@yourdomain.com>"
}

Deep thread (reply to a reply)

Include the full chain of Message-IDs in references, space-separated in chronological order:

{
  "subject": "Re: Your inquiry",
  "inReplyTo": "<20260617052825.68047ebb-f07f-48bb-a504-f4dc42d073c1@yourdomain.com>",
  "references": "<[email protected]> <20260617052825.68047ebb-f07f-48bb-a504-f4dc42d073c1@yourdomain.com>"
}