---
title: "Get an email message"
method: GET
path: "/email_messages/{id}"
tags: ["Email Messages"]
---

# Get an email message

`GET /email_messages/{id}`

The legacy `/v2/emails/{id}` GET route is a backward-compatible alias for this operation.

## Path parameters

- `id` string, uuid, required

## Response `200`

Email message details.

- EmailMessageResponse
  - `data` EmailMessage, required
    - `attachments` AttachmentResponse[], required
      - `content_type` string, required
      - `filename` string, required
    - `bcc` EmailAddress[], required
      - `email` string, required
      - `name` string
    - `cc` EmailAddress[], required
      - `email` string, required
      - `name` string
    - `events` MessageEvent[], required
      - `occurred_at` string, date-time, required
      - `payload` object
      - `type` 'queued' | 'deferred' | 'scheduled' | 'cancelled' | 'sandbox' | 'sending' | 'sent' | 'failed' | 'delivered' | 'bounced' | 'complained' | 'rejected' | 'opened' | 'clicked' | 'unsubscribed', required
    - `from` EmailAddress, required
      - `email` string, required
      - `name` string
    - `id` string, uuid, required
    - `inline_css` boolean — Present when true in the immediate create response. Not persisted; absent on subsequent GET requests.
    - `inserted_at` string, date-time, required
    - `record_type` 'email_message', required
    - `reply_to` string, nullable, required
    - `sandbox` boolean — Present when sandbox mode was used.
    - `send_at` string, date-time — Present when a send_at value was stored. Persists even after the scheduled send has been processed or cancelled.
    - `status` 'queued' | 'scheduled' | 'cancelled' | 'sandbox' | 'sending' | 'sent' | 'failed' | 'deferred' | 'delivered' | 'bounced' | 'complained' | 'rejected' | 'opened' | 'clicked' | 'unsubscribed', required — Current status of an email message. Lifecycle statuses (queued, scheduled, etc.) are set on creation. Delivery statuses (delivered, bounced, etc.) are updated by delivery event consumers.
    - `subject` string, required
    - `suppressed` object[] — Present when one or more recipients were suppressed at send time. Each entry lists the suppressed recipient, reason, scope, and whether the block was overridable.
      - `override_allowed` boolean
      - `reason` string
      - `scope` string
      - `to` string, email
    - `template_id` string, uuid, nullable, required
    - `template_variables` object, required
    - `to` EmailAddress[], required
      - `email` string, required
      - `name` string
  - `suppressed` SuppressedRecipient[] — Recipients removed by suppression checks when at least one recipient remains and the message is accepted.
    - `override_allowed` boolean, required — Whether an authorized send may override this suppression.
    - `reason` string, required — Suppression reason returned by the recipient suppression service.
    - `scope` string, required — Scope at which the suppression applies.
    - `to` string, email, required — Suppressed recipient email address.

## Other responses

- `401` — Not authorized (10006).
- `404` — Resource not found (10001).

## Changes

- **2026-07-16** `2fb3b617430a` — 4 warning, 3 info
  - added the new `recipient_suppressed` enum value to the `errors/items/code` response property for the response status `401`
  - added the new `recipient_suppressed` enum value to the `errors/items/code` response property for the response status `404`
  - added the new `reputation_suspended` enum value to the `errors/items/code` response property for the response status `401`
  - added the new `reputation_suspended` enum value to the `errors/items/code` response property for the response status `404`
  - …3 more
- **2026-07-12** `b3c5aebde44c` — 1 breaking, 4 warning
  - removed the required property `data/idempotency_key` from the response with the `200` status
  - added the new `10027` enum value to the `errors/items/code` response property for the response status `401`
  - added the new `10027` enum value to the `errors/items/code` response property for the response status `404`
  - added the new `10036` enum value to the `errors/items/code` response property for the response status `401`
  - …1 more
- **2026-07-07** `6ef0ae248bf7` — 1 info
  - endpoint added
- **2026-07-02** `224ed0d8a5c3` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/changes/email_messages/:id/get.md)

---

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