---
title: "Get raw RFC-822 bytes of an inbound message"
method: GET
path: "/mailboxes/v1/{mailbox_id}/messages/{message_id}/raw"
tags: ["Mailboxes"]
---

# Get raw RFC-822 bytes of an inbound message

`GET /mailboxes/v1/{mailbox_id}/messages/{message_id}/raw`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/mailboxes/v1/{mailbox_id}/messages/{message_id}/raw`
- Auth: HTTP bearer

Returns the exact DKIM-signed RFC-822 bytes of an inbound message, fetched verbatim from S3 with no parsing, normalization, or modification. Use this endpoint for cryptographic verification (DKIM signature checks, zk-email proofs). The `body_text` field returned by `GET /mailboxes/v1/{mailbox_id}/messages/{message_id}` is parsed and quoted-content-stripped — it is suitable for display and threading only, NOT for cryptographic verification. Inbound messages only; outbound messages return 404.

## Path parameters

- `mailbox_id` string, uuid, required
- `message_id` string, uuid, required

## Response `200`

Raw RFC-822 bytes, byte-identical to the S3 object

## Other responses

- `401`: Missing or invalid authentication. Run402-originated JSON bodies use the canonical ErrorEnvelope.
- `403`: Mailbox owned by a different project
- `404`: Message not found, not inbound, or no raw MIME available
- `413`: Raw MIME exceeds the 10MB size limit

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
