email-inbound-messages

Get a received email

Returns the parsed metadata for a received email:

  • Addresses.
  • Subject.
  • Threading headers.
  • The mailbox and conversation that received it, when a mailbox did.
  • 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.

get/v1/email/inbound-messages/{inbound_message_id}

Request

  • Base URL: https://us1.platform.bird.com
  • URL: https://us1.platform.bird.com/v1/email/inbound-messages/{inbound_message_id}
  • Auth: one of:
    • HTTP bearer
    • API key in cookie bird_session

Headers

X-Workspace-Idstring

Workspace context for the request. Required for dashboard authentication and master keys. Workspace keys and access tokens already identify their workspace; send that workspace or omit the header. A different one is rejected.

X-Organization-Idstring

Organization context for the request. Required for dashboard authentication. An API key or access token carries its own organization, so send either that organization or no header at all; a different one is rejected.

Response

Received email object.

idstring required
subjectstring nullable required

Subject line as received, or null when the message had no subject.

message_idstring nullable required

RFC 5322 Message-ID header from the sender, or null when the sender did not include one.

in_reply_tostring nullable required

The In-Reply-To header, which holds the Message-ID this message is replying to. null when the message is not a reply.

referencesstring[]

The References header, which holds every Message-ID in this conversation, oldest first. Left out when the message arrived without one.

mailbox_idstring required
thread_idstring nullable required

Mailbox conversation this message belongs to, or null when it was not received by a mailbox or has since been deleted from it.

authentication'pass' | 'fail' | 'unknown' | 'null' nullable 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.

spf_passboolean nullable 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_passboolean nullable 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_passboolean nullable 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_scorenumber nullable required

Content spam score when available. The receiving provider currently supplies no score, so this is null.

received_atstring date-time required

When the message was received.

Example response

{
  "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>",
  "mailbox_id": "mbx_01krdgeqcxet5s7t44vh8rt9mg",
  "attachments": [
    {
      "id": "rea_01krdgeqcxet5s7t44vh8rt9mg",
      "filename": "invoice.pdf",
      "content_type": "application/pdf",
      "size": 215432
    }
  ]
}

Changes

No recorded changes to this operation across all 2 revisions of this API.