Skip to main content

Payload Structure

When an email is delivered to your webhook endpoint, the request body contains a JSON object with the full email data.
{
  "messageId": "<[email protected]>",
  "uid": "job-uuid-here",
  "date": "2026-03-25T10:30:00Z",
  "subject": "Order Confirmation #1234",
  "from": "[email protected]",
  "to": "[email protected]",
  "cc": "[email protected]",
  "bcc": null,
  "replyTo": "[email protected]",
  "textBody": "Hi, I'd like to check the status of my order...",
  "htmlBody": "<html><body><p>Hi, I'd like to check the status of my order...</p></body></html>",
  "attachments": [
    {
      "filename": "receipt.pdf",
      "content_type": "application/pdf",
      "size": 24531,
      "content": "JVBERi0xLjQK...",
      "content_id": null,
      "disposition": "attachment"
    }
  ],
  "domain": "yourdomain.com",
  "messageSize": 51234,
  "remoteIp": "203.0.113.10",
  "remoteHost": "mail.example.com",
  "headers": {
    "message-id": "<[email protected]>",
    "date": "Tue, 25 Mar 2026 10:30:00 +0000",
    "mime-version": "1.0",
    "content-type": "multipart/mixed; boundary=\"----=_Part_123\"",
    "authentication-results": "mx.jetemail.com; dkim=pass; spf=pass; dmarc=pass",
    "received-spf": "pass (sender is authorized)",
    "dkim-signature": "v=1; a=rsa-sha256; d=example.com; s=selector1; ..."
  }
}

Field Descriptions

FieldTypeDescription
messageIdstringValue of the email Message-ID header
uidstringUnique internal ID for this delivery
datestring | nullEmail send date (ISO 8601), from the Date header
subjectstring | nullEmail subject line
fromstring | nullSender address(es)
tostringRecipient address(es), comma-separated
ccstring | nullCC address(es), comma-separated
bccstring | nullBCC address(es), comma-separated
replyTostring | nullReply-To header value
textBodystring | nullPlain text body
htmlBodystring | nullHTML body
attachmentsarray | nullList of attachments (see below)
domainstringThe receiving domain (e.g. yourdomain.com)
messageSizeintegerTotal size of the raw email in bytes
remoteIpstringIP address of the sending mail server
remoteHoststringResolved hostname of the sending mail server
headersobjectFiltered set of important email headers (see below)

Attachments

Each attachment in the attachments array contains:
FieldTypeDescription
filenamestringAttachment filename
content_typestringMIME type (e.g. application/pdf, image/png)
sizeintegerSize in bytes
contentstringBase64-encoded file contents
content_idstring | nullContent-ID for inline attachments (e.g. embedded images)
dispositionstringattachment or inline
Attachments are Base64-encoded and included directly in the payload. Large attachments will increase the payload size significantly. Make sure your endpoint can handle the expected payload sizes within the configured timeout.

Headers

Only a filtered subset of email headers are included to keep payload size manageable:
HeaderDescription
message-idUnique message identifier
dateOriginal send date
mime-versionMIME version
content-typeContent type and encoding
content-transfer-encodingTransfer encoding method
user-agentSending client user agent
x-mailerSending mail client
authentication-resultsSPF, DKIM, and DMARC results
received-spfSPF verification result
dkim-signatureDKIM signature
arc-authentication-resultsARC authentication results
arc-message-signatureARC message signature
arc-sealARC seal
receivedReceived header chain
The authentication-results header is useful for checking whether the email passed SPF, DKIM, and DMARC checks at our servers.