List received emails
/v1/email/inbound-messagesbird email inbound-messages listcurl -X GET "https://us1.platform.bird.com/v1/email/inbound-messages" \
-H "Authorization: Bearer $TOKEN" \
--url-query "from=alice@example.com" \
--url-query "limit=25"{
"data": [
{
"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
}
]
}
],
"next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
"prev_cursor": null,
"refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}
Returns a paginated list of received emails for the workspace, newest first. Filter by sender address, by the inbound address that received the mail, or by a received-time range. Received emails are retained for 30 days.
Query Parameters
fromstringFilter to messages whose sender address matches this value exactly. Sender addresses are stored lowercase, so pass the address in lowercase to match reliably.
inbound_address_idstringFilter to messages received on a specific inbound address.
received_afterstringFilter to messages received at or after this time.
received_beforestringFilter to messages received at or before this time.
limitintegerMaximum number of items to return per page.
starting_afterstringCursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.
ending_beforestringCursor from the prev_cursor or refresh_cursor field of a previous list response. Returns items immediately before the cursor position in the current sort order. prev_cursor returns the preceding page. refresh_cursor anchors at the first row of that response, which on a newest-first sort is how to fetch the items that have appeared since.
Response Payload
dataPage of received emails, newest first.
Show child attributes
data.idReceived message ID.
data.fromSender address parsed from the message.
Show child attributes
data.from.emailEmail address.
data.from.nameDisplay name shown alongside the address in mail clients.
data.toRecipients on the message's To header.
Show child attributes
data.to.emailEmail address.
data.to.nameDisplay name shown alongside the address in mail clients.
data.ccRecipients on the message's Cc header.
Show child attributes
data.cc.emailEmail address.
data.cc.nameDisplay name shown alongside the address in mail clients.
data.subjectSubject line as received, or null when the message had no subject.
data.message_idRFC 5322 Message-ID header from the sender, or null when the sender did not include one.
data.in_reply_toThe In-Reply-To header, which holds the Message-ID this message is replying to. null when the message is not a reply.
data.referencesThe References header, which holds every Message-ID in this conversation, oldest first. Left out when the message arrived without one.
data.thread_idConversation this message belongs to, or null when it is not grouped into one.
data.authenticationDMARC 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
data.spf_passWhether 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.
data.dkim_passWhether 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.
data.dmarc_passWhether 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.
data.spam_scoreContent spam score when available. The receiving provider currently supplies no score, so this is null.
data.attachmentsMetadata for each attachment found on the message. Empty when the message had no attachments.
Show child attributes
data.attachments.idAttachment ID, stable within the received message.
data.attachments.filenameFilename from the attachment's Content-Disposition, or null when the sender did not name the part.
data.attachments.content_typeMIME type parsed from the attachment part, or null when absent.
data.attachments.sizeSize of the attachment in bytes.
data.received_atWhen the message was received.
next_cursorCursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.
prev_cursorCursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.
refresh_cursorRefresh anchor, the first row of this response. Pass back as ending_before to fetch what precedes it in the current sort order. On a newest-first sort those are the items that have appeared since; on any other sort they are the items that sort earlier, so refreshing such a list means re-fetching it instead. Non-null whenever data is non-empty; null only on an empty page. Distinct from prev_cursor.
Related resources
Continue with the documentation, guides and examples for this topic.