Get a received email
GET
/v1/email/inbound-messages/{inbound_message_id}
bird email inbound-messages get <inbound-message-id>curl -X GET "https://us1.platform.bird.com/v1/email/inbound-messages/{inbound_message_id}" \
-H "Authorization: Bearer $TOKEN"Response200
{
"id": "rem_01krdgeqcxet5s7t44vh8rt9mg",
"from": {
"email": "jane@acme.com",
"name": "Jane Doe"
},
"to": [
{
"email": "jane@acme.com",
"name": "Jane Doe"
}
],
"cc": [
{
"email": "jane@acme.com",
"name": "Jane Doe"
}
],
"subject": "Re: Your receipt",
"message_id": "<CAH+T8d5...@mail.gmail.com>",
"in_reply_to": "<previous-message@example.com>",
"authentication": "pass",
"attachments": [
{
"id": "rea_01krdgeqcxet5s7t44vh8rt9mg",
"filename": "invoice.pdf",
"content_type": "application/pdf",
"size": 215432
}
]
}
Returns the parsed metadata for a received email:
- Addresses.
- Subject.
- Threading headers.
- Authentication results.
- The attachment manifest.
Content is fetched separately:
- Get the parsed body from Get a received email's body.
- Get the original MIME from Get a received email's raw content.
- Get attachment bytes from Get a received email's attachment.
Received emails are retained for 30 days. An unknown or expired message returns 404.
Parameters
inbound_message_id
string
Received email identifier. Starts with rem_.
Response Payload
id
string
required
Received message ID.
from
object
required
Sender address parsed from the message.
Show child attributes
from.email
string
required
Email address.
from.name
string
Display name shown alongside the address in mail clients.
to
array of object
required
Recipients on the message's To header.
Show child attributes
to.email
string
required
Email address.
to.name
string
Display name shown alongside the address in mail clients.
cc
array of object
required
Recipients on the message's Cc header.
Show child attributes
cc.email
string
required
Email address.
cc.name
string
Display name shown alongside the address in mail clients.
subject
nullable string
required
Subject line as received, or null when the message had no subject.
message_id
nullable string
required
RFC 5322 Message-ID header from the sender, or null when the sender did not include one.
in_reply_to
nullable string
required
The In-Reply-To header, which holds the Message-ID this message is replying to. null when the message is not a reply.
references
array of string
The References header, which holds every Message-ID in this conversation, oldest first. Left out when the message arrived without one.
thread_id
nullable string
required
Conversation this message belongs to, or null when it is not grouped into one.
authentication
nullable string
required
DMARC result for the domain in the received message's From header.
- pass: SPF or DKIM passed and aligned with that domain.
- fail: DMARC was evaluated and did not pass.
- unknown: no trustworthy verdict is available.
This follows dmarc_pass and does not verify a particular person. The receiving provider currently supplies no DMARC result, so received messages report unknown.
Possible values: pass, fail, unknown, null
spf_pass
nullable boolean
required
Whether the receiving provider reports that SPF authorized the envelope sender for the sending server. A soft failure is false. Missing, neutral and inconclusive results are null.
dkim_pass
nullable boolean
required
Whether the receiving provider verified a DKIM signature. A passing signature makes this true even when another signature fails. Missing signatures and inconclusive verification results are null.
dmarc_pass
nullable boolean
required
Whether SPF or DKIM passed and aligned with the domain in the message's From header. The receiving provider currently supplies no DMARC result, so this is null.
spam_score
nullable number
required
Content spam score when available. The receiving provider currently supplies no score, so this is null.
attachments
array of object
required
Metadata for each attachment found on the message. Empty when the message had no attachments.
Show child attributes
attachments.id
string
required
Attachment ID, stable within the received message.
attachments.filename
nullable string
required
Filename from the attachment's Content-Disposition, or null when the sender did not name the part.
attachments.content_type
nullable string
required
MIME type parsed from the attachment part, or null when absent.
attachments.size
integer
required
Size of the attachment in bytes.
received_at
string
required
When the message was received.
Related resources
Continue with the documentation, guides and examples for this topic. Resources are in English.
Watch the guideGetting started with emailExplore the capabilityEmailFollow the learning pathBuild your first integrationImplementation guideSend your first email
Try the practice and get an implementation brief