Appearance
Retrieve an email
One message, in full — including the body you sent and the attachments that went with it.
http
GET /v1/emails/{id}Requires a Full access API key.
Example
bash
curl "https://api.sendgrail.com/v1/emails/4ef9a417-02e9-4d39-ad75-9611e0fcc33c" \
-H "Authorization: Bearer $SENDGRAIL_API_KEY"js
const res = await fetch(
`https://api.sendgrail.com/v1/emails/${id}`,
{ headers: { Authorization: `Bearer ${process.env.SENDGRAIL_API_KEY}` } },
);
const email = await res.json();Response
json
{
"object": "email",
"id": "4ef9a417-02e9-4d39-ad75-9611e0fcc33c",
"to": ["recipient@example.org"],
"from": "Acme <hello@example.com>",
"created_at": "2026-07-14T09:41:55+00:00",
"subject": "Your receipt",
"html": "<p>Thanks for your order.</p>",
"text": "Thanks for your order.",
"bcc": [],
"cc": [],
"reply_to": [],
"headers": null,
"last_event": "delivered",
"scheduled_at": null,
"attachments": [
{ "filename": "invoice.pdf", "content_type": "application/pdf", "size": 20418 }
]
}attachments names what went out — never the bytes. To download one, use List attachments, which returns a short-lived signed URL per file.
An email belonging to another team returns 404 not_found — the same answer as one that doesn't exist, so an id can't be probed for existence.
See the email object for every field and status.