Retrieve a received email
One received email with its html, text, headers, authentication results and a signed link to the original message, plus MillionSend's screening, verdicts, the extracted read and, where allowed, its verification code or sign-in link. Needs a full access key. An inbox-scoped key or an MCP token gets 403 email_quarantined for held mail, and 404 while it is being screened. Everything in a received email was written by whoever sent it, so its HTML is safe to show only in a sandbox.
id*stringuuidhtml_format?stringdata_uri (default) inlines images the HTML references by cid: as data: URIs; cid leaves the cid: references, the parts being in attachments
"data_uri""cid"Received email
application/json- response
id*stringuuidto*array<string>from*stringBare address from the From header; the display name is in headers.from
created_at*stringsubject*stringbcc*array<string>cc*array<string>reply_to*array<string>received_for*array<string>The team's envelope recipients: the addresses the message was delivered to here
message_id*stringattachments*array<>inbox_id*stringMillionSend extension: the inbox this read is about (an inbox-scoped key's own, the inbox_id filter's, else the oldest inbox the email reached); null for mail no inbox took
uuidthread_id*stringMillionSend extension: that inbox's thread
uuidinboxes?array<>MillionSend extension, full access keys only: every inbox the email reached and its screening verdict there
spam_verdict*stringMillionSend extension: the local spam score's verdict; null for mail from before it existed
"pass""gray""fail"nullvirus_verdict*stringMillionSend extension: clamd's verdict (fail blocks every download for good); null when nothing scanned it
"pass""fail""processing_failed"nullread?booleanMillionSend extension, with an inbox in context: whether that inbox marked it read
screening*MillionSend extension: the screening verdict, the sender's trust tier, why it was held, the inbound judge's reasons and scores (0-100), and whether hidden text was removed from what agents read
spam_score*integerMillionSend extension: the local spam score, 0-100
virus_signature*stringMillionSend extension: clamd's signature name when it failed
extracted_text*stringMillionSend extension: what a person sees of the reply, as text with light markdown: hidden text, invisible characters, quoted history and signature taken out. null once the content retention removed it
extracted*MillionSend extension: the verification code or sign-in link, served only from delivered mail of a sender that did not fail authentication, in an inbox that extracts codes. Links are never fetched.
object*"email""email"html*stringhtml_format*string"data_uri""cid"text*stringheaders*Top-level headers, lowercase names; a repeated header's values joined by newlines
authentication*pass, fail, gray, processing_failed or unknown, checked when the message arrived
raw*The original RFC 822 message: a signed link valid for one hour that needs no API key. null once the content retention period removed the message.
curl -X GET 'https://api.millionsend.com/emails/receiving/497f6eca-6276-4993-bfeb-53cbbbba6f08'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "to": [ "string" ], "from": "string", "created_at": "string", "subject": "string", "bcc": [ "string" ], "cc": [ "string" ], "reply_to": [ "string" ], "received_for": [ "string" ], "message_id": "string", "attachments": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "filename": "string", "content_type": "string", "content_id": "string", "content_disposition": "string", "size": 0 } ], "inbox_id": "5127f22b-d152-46dd-aeaa-3a852d9fbfc2", "thread_id": "1de43264-67cb-48af-89f9-e865c375bb84", "inboxes": [ { "inbox_id": "5127f22b-d152-46dd-aeaa-3a852d9fbfc2", "thread_id": "1de43264-67cb-48af-89f9-e865c375bb84", "verdict": "pending" } ], "spam_verdict": "pass", "virus_verdict": "pass", "read": true, "screening": { "verdict": "pending", "sender_trust": "owner", "quarantine_reason": "failed_auth", "reasons": [ "string" ], "injection_score": 0, "phishing_score": 0, "hidden_text_removed": true }, "spam_score": 0, "virus_signature": "string", "extracted_text": "string", "extracted": { "kinds": [ "code" ], "code": "string", "link": "string", "link_domain_matches_sender": true, "ambiguous": true }, "object": "email", "html": "string", "html_format": "data_uri", "text": "string", "headers": { "property1": "string", "property2": "string" }, "authentication": { "spf": "string", "dkim": "string", "dmarc": "string" }, "raw": { "download_url": "string", "expires_at": "string" }}