# Retrieve Received Email

> GET /emails/receiving/:id — fetch a single received email, its body, headers, and attachments.

`GET /emails/receiving/:id`

Retrieve a single received email by id, including its `html`/`text` body, parsed `headers`, the `attachments` array, and a signed `raw` download for the original `.eml` file.

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | Yes | The id of the received email. |

## Response fields

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | No | Always `received_email`. |
| `id` | string | No | The received-email id. |
| `to` | string[] | No | The recipient addresses parsed from the To header. |
| `from` | string | No | The sender address. |
| `subject` | string | No | The subject line. |
| `html` | string | No | The HTML body (omitted when absent). |
| `text` | string | No | The plain-text body (omitted when absent). |
| `headers` | object | No | Parsed message headers as a name → value map (omitted when absent). |
| `cc` | string[] | No | Carbon-copy recipients (omitted when absent). |
| `bcc` | string[] | No | Blind carbon-copy recipients (omitted when absent). |
| `received_for` | string[] | No | The envelope RCPT addresses the message was delivered to on your domains (omitted when absent). |
| `message_id` | string | No | The original `Message-ID` header (omitted when absent). |
| `spf` | string | No | SPF result string, e.g. `pass` (omitted when absent). |
| `verdicts` | object | No | Inbound authentication verdicts: `{ spf, dkim, dmarc, spam, virus }`. Each value is a string such as `PASS` or `FAIL` (omitted when absent). |
| `raw_available` | boolean | No | Whether the original raw `.eml` message was retained and is downloadable via [GET /emails/receiving/:id/raw](https://www.mailblastr.com/docs/api/emails-received-raw). |
| `raw` | object | No | A time-limited download for the original raw email: `{ download_url, expires_at }`. Present only when `raw_available` is `true`. |
| `attachments` | object[] | No | The attachments: each is `{ id, filename, content_type, content_disposition, content_id, size, downloadable, download_url, expires_at }`. Omitted when the email has no attachments. |
| `created_at` | string | No | ISO 8601 time the email was received. |

## Request

**Node.js**

```js
import { MailBlastr } from 'mailblastr';

const mb = new MailBlastr('mb_xxxxxxxxx');

const { data, error } = await mb.emails.receiving.get('4ef9a417-02e9-4d39-ad75-9611e0fcc33c');
console.log({ data, error });
```

**Ruby**

```ruby
require "mailblastr"

Mailblastr.api_key = "mb_xxxxxxxxx"

Mailblastr::Emails::Receiving.get("4ef9a417-02e9-4d39-ad75-9611e0fcc33c")
```

**PHP**

```php
$mailblastr = Mailblastr::client('mb_xxxxxxxxx');

$mailblastr->emails->receiving->get('4ef9a417-02e9-4d39-ad75-9611e0fcc33c');
```

**Python**

```python
import mailblastr

mailblastr.api_key = "mb_xxxxxxxxx"

mailblastr.Emails.Receiving.get("4ef9a417-02e9-4d39-ad75-9611e0fcc33c")
```

**Go**

```go
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://api.mailblastr.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c", nil)
    req.Header.Set("Authorization", "Bearer mb_xxxxxxxxx")
    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    out, _ := io.ReadAll(res.Body)
    fmt.Println(string(out))
}
```

**Rust**

```rust
use reqwest::Client;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let res = Client::new()
        .get("https://api.mailblastr.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c")
        .header("Authorization", "Bearer mb_xxxxxxxxx")
        .send()
        .await?;
    println!("{}", res.text().await?);
    Ok(())
}
```

**Java**

```java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mailblastr.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c"))
    .header("Authorization", "Bearer mb_xxxxxxxxx")
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
```

**.NET**

```csharp
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://api.mailblastr.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c");
request.Headers.Add("Authorization", "Bearer mb_xxxxxxxxx");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
```

**cURL**

```bash
curl -X GET 'https://api.mailblastr.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c' \
  -H 'Authorization: Bearer mb_xxxxxxxxx'
```

**CLI**

```bash
mailblastr emails receiving get 4ef9a417-02e9-4d39-ad75-9611e0fcc33c
```

## Response

```json
{
  "object": "received_email",
  "id": "4ef9a417-02e9-4d39-ad75-9611e0fcc33c",
  "to": ["delivered@yourdomain.com"],
  "from": "onboarding@example.com",
  "created_at": "2026-06-23T22:13:42.674Z",
  "subject": "Hello World",
  "html": "Congrats on sending your <strong>first email</strong>!",
  "headers": {
    "from": "Acme <onboarding@example.com>",
    "return-path": "bounce@example.com",
    "mime-version": "1.0"
  },
  "received_for": ["forwarded@yourdomain.com"],
  "message_id": "<111-222-333@email.example.com>",
  "spf": "pass",
  "raw_available": true,
  "raw": {
    "download_url": "https://api.mailblastr.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c/raw",
    "expires_at": "2026-06-23T23:13:42.674Z"
  },
  "attachments": [
    {
      "id": "2a0c9ce0-3112-4728-976e-47ddcd16a318",
      "filename": "avatar.png",
      "content_type": "image/png",
      "content_disposition": "inline",
      "content_id": "img001",
      "size": 4096,
      "downloadable": true,
      "download_url": "https://api.mailblastr.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c/attachments/2a0c9ce0-3112-4728-976e-47ddcd16a318",
      "expires_at": "2026-06-23T23:13:42.674Z"
    }
  ]
}
```

## Errors

Returns `not_found` (404) if no received email with that id exists for your account. See the [error reference](https://www.mailblastr.com/docs/api/errors).
