---
title: "Get email details"
method: GET
path: "/emails/{emailId}"
tags: ["Emails"]
---

# Get email details

`GET /emails/{emailId}`

Retrieve detailed information about a specific email including
delivery status, timestamps, and optionally the email content.

Use the `expand` parameter to include additional data like the
HTML/text body, headers, or delivery attempts.

## Path parameters

- `emailId` string, required

## Query parameters

- `expand` string

## Response `200`

Email details

- EmailDetails
  - `success` true, required
  - `data` object, required
    - `id` string, required — Internal message ID
    - `token` string, required — Unique message token used to retrieve this email via API. Combined with id to form the full message identifier: msg_{id}_{token} Use this token with GET /emails/{emailId} where emailId = "msg_{id}_{token}"
    - `scope` 'outgoing' | 'incoming', required — Message direction
    - `to` string, email, required — Recipient address
    - `from` string, required — Sender address
    - `subject` string, required — Email subject line
    - `messageId` string — SMTP Message-ID header
    - `status` 'pending' | 'sent' | 'softfail' | 'hardfail' | 'bounced' | 'held', required — Current delivery status: - `pending` - Email accepted, waiting to be processed - `sent` - Email transmitted to recipient's mail server - `softfail` - Temporary delivery failure, will retry - `hardfail` - Permanent delivery failure - `bounced` - Email bounced back - `held` - Held for manual review
    - `tag` string — Optional categorization tag
    - `timestamp` number, required — Unix timestamp when the email was sent
    - `timestampIso` string, date-time, required — ISO 8601 formatted timestamp
    - `spam` boolean — Whether the message was flagged as spam
    - `spamScore` number — Spam score (if applicable)
    - `htmlBody` string — HTML body content (included if expand=content)
    - `plainBody` string — Plain text body (included if expand=content)
    - `headers` object — Email headers (included if expand=headers)
    - `deliveries` Delivery[] — Delivery attempt history (included if expand=deliveries)
      - `id` string, required — Delivery attempt ID
      - `status` string, required — Delivery status (lowercase)
      - `details` string — Status details
      - `output` string — SMTP server response from the receiving mail server
      - `code` integer — SMTP response code
      - `sentWithSsl` boolean — Whether TLS was used
      - `timestamp` number, required — Unix timestamp
      - `timestampIso` string, date-time, required — ISO 8601 timestamp
  - `meta` ApiMeta, required
    - `requestId` string, required — Unique request identifier for debugging and support

## Other responses

- `401` — Invalid or missing API key
- `404` — Resource not found
- `500` — Internal server error

---

[API](https://skmtc.dev/arkhq-io/apis/ark-email-api.md) · [All operations](https://skmtc.dev/arkhq-io/apis/ark-email-api/llms.txt) · [OpenAPI document](https://skmtc.dev/arkhq-io/apis/ark-email-api/revisions/2cfd9423fd8a?raw)
