Runs examples for real against your account. Test keys only; kept in this tab, never stored on our side. Get a key
ZapSMTP / Docs / Received emails

Retrieve a received email

GET/v1/emails/receiving/{id}

Retrieve a received email with bodies, headers, authentication results and download links.

Requires a full-access key.

automated is null for mail a person wrote, else {type, reason}: bounce (delivery status notification), out_of_office, auto_reply, auto_generated (notifications, null sender) or bulk (mailing lists). Detected from Auto-Submitted, X-Autoreply, Precedence, List-Id, multipart/report and well-known subjects; reason names the evidence.

tls: the TLS version the sending server used (e.g. TLSv1_3); empty when the message was not encrypted.

Path parameters

idstring (UUID)required
Received email id

Query parameters

html_formatstring
cid: return html as received (cid: references to inline parts). Any other value: inline images are embedded as data: URIs (html_format in the response reports what was returned). One of data_uri, cid. Default data_uri.

Errors

restricted_api_keyHTTP 403
not_foundHTTP 404
unknown/non-UUID id or past plan retention
inbound_not_configuredHTTP 503
GET/v1/emails/receiving/{id}
curl 'https://zapsmtp.xyz/v1/emails/receiving/019a1f2e-7c3b-7d41-9a52-0c4b8e6f1a23' \
  -H "Authorization: Bearer $ZAP_API_KEY"
Set ZAP_API_KEY in your environment.
Response 200 OK
{
  "object": "email",
  "id": "019a1f30-1d4e-7a6b-8c2d-3e4f5a6b7c8d",
  "created_at": "2026-10-21T15:10:02.904Z",
  "from": "jane@example.org",
  "to": [
    "support@acme.com"
  ],
  "cc": [],
  "bcc": [],
  "reply_to": [],
  "received_for": [
    "support+1234@acme.com"
  ],
  "subject": "Re: Ticket #1234",
  "message_id": "<CAF=abc123@mail.example.org>",
  "html": "<p>Thanks, that fixed it!</p><blockquote>...</blockquote>",
  "html_format": "data_uri",
  "text": "Thanks, that fixed it!\n\nOn Tue, Oct 21, 2026 Acme wrote:\n> ...",
  "headers": {
    "Subject": "Re: Ticket #1234",
    "From": "Jane Doe <jane@example.org>",
    "To": "support@acme.com"
  },
  "authentication": {
    "spf": "pass",
    "dkim": "pass",
    "dmarc": "pass"
  },
  "raw": {
    "download_url": "https://zapsmtp.xyz/v1/files/eyJ0Ijoi....Qm9n",
    "expires_at": "2026-10-21T16:12:00Z"
  },
  "attachments": [
    {
      "object": "attachment",
      "id": "5b0f8f7e-2a1c-5d3e-9f4a-6b7c8d9e0f1a",
      "filename": "screenshot.png",
      "content_type": "image/png",
      "content_disposition": "attachment",
      "content_id": null,
      "size": 48213
    }
  ],
  "from_name": "Jane Doe",
  "reply_text": "Thanks, that fixed it!",
  "mailbox_hash": "1234",
  "in_reply_to_email_id": "019a1f2e-7c3b-7d41-9a52-0c4b8e6f1a23",
  "thread_id": "3f1c9a52-6b0e-5d4f-8a71-2c9e0b4d6f13",
  "automated": null,
  "envelope": {
    "from": "jane@example.org",
    "to": "support+1234@acme.com"
  },
  "spam": {
    "score": 1.2,
    "is_spam": false,
    "action": "no action"
  },
  "arc": "unknown",
  "route_id": "019a1f31-0b2c-7d3e-8f4a-5b6c7d8e9f01",
  "action": "webhook",
  "status": "received",
  "size": 61877,
  "peer_ip": "198.51.100.7",
  "helo": "mail.example.org"
}