---
title: "Get a sent email"
method: GET
path: "/emails/{id}"
tags: ["Emails"]
---

# Get a sent email

`GET /emails/{id}`

## Request

- Base URL: `https://faivelo.com/api/v1`
- URL: `https://faivelo.com/api/v1/emails/{id}`
- Auth: HTTP bearer

Returns the current status of a transactional send. Status starts at `sent` (accepted for delivery) and updates as delivery events arrive. Requires scope `mail:send`.

## Path parameters

- `id` string, required

## Response `200`

The email

- object
  - `success` boolean
  - `data` TransactionalEmail
    - `id` string: The send id — pass to GET /emails/{id}
    - `from` string
    - `to` string[]
    - `subject` string
    - `status` 'sent' | 'delivered' | 'bounced' | 'complained' | 'failed' | 'suppressed': sent = accepted for delivery; later statuses arrive from delivery events
    - `messageId` string: RFC 5322 Message-ID stamped on the email
    - `suppressed` string[]: Recipients dropped because your suppression list holds them
    - `replayed` boolean: True when this response was replayed from an earlier request with the same Idempotency-Key
    - `hint` string: Present when the email went out with no display name, so recipients saw only the address. Says how to set one.

## Other responses

- `401`: Missing or invalid API key
- `402`: The account's plan does not include the API (`plan_required`)
- `403`: The key lacks the required scope
- `404`: Resource not found
- `429`: Rate limit exceeded

---

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