---
title: "Get email message details"
method: GET
path: "/v1/messages/{id}/email"
tags: ["Messages"]
---

# Get email message details

`GET /v1/messages/{id}/email`

## Request

- Base URL: `https://api.samva.dev`
- URL: `https://api.samva.dev/v1/messages/{id}/email`
- Auth: API key in header `x-api-key`

Returns email delivery details for a message, optionally including signed URLs for its raw MIME, HTML, and text content.

## Path parameters

- `id` string, required

## Query parameters

- `includeDownloadUrls` string, nullable
- `urlExpiresIn` string, nullable

## Response `200`

Success

- object
  - `deliveries` object[], required
    - `scheduling` object, nullable, required
      - `dueAt` string, required
      - `expiresAt` string, required
      - `waitReason` 'rate' | 'daily-quota' | 'domain-health' | 'sending-paused' | 'upstream-unavailable' | 'retry' | 'campaign-paused' | 'domain-warming' | 'onboarding-review' | 'content-review' | 'screening-unavailable', nullable, required
      - `reviewExpectedAt` string, nullable, required
    - `id` string, required
    - `messageId` string, required
    - `recipientId` string, nullable, required
    - `channel` 'email', required
    - `status` 'pending' | 'scheduled' | 'queued' | 'processing' | 'sent' | 'delivered' | 'read' | 'failed' | 'bounced' | 'complained', required
    - `attemptCount` number, required
    - `maxAttempts` number, required
    - `queuedAt` string, nullable, required
    - `claimedAt` string, nullable, required
    - `lastAttemptAt` string, nullable, required
    - `nextRetryAt` string, nullable, required
    - `sentAt` string, nullable, required
    - `deliveredAt` string, nullable, required
    - `readAt` string, nullable, required
    - `failedAt` string, nullable, required
    - `terminalAt` string, nullable, required
    - `errorCode` string, nullable, required
    - `errorMessage` string, nullable, required
    - `errorDetails` DeliveryErrorDetails, required
      - `code` string, nullable
      - `name` string, nullable
      - `message` string, nullable
      - `details` object, nullable
      - `retryable` boolean, nullable
    - `cost` string, required
    - `currency` string, required
    - `idempotencyKey` string, nullable, required
    - `createdAt` string, required
    - `updatedAt` string, required
  - `id` string, required
  - `organizationId` string, required
  - `conversationId` string, required
  - `status` 'pending' | 'scheduled' | 'queued' | 'processing' | 'sent' | 'delivered' | 'read' | 'failed' | 'bounced' | 'complained', required
  - `channel` 'email', required
  - `direction` 'outbound' | 'inbound', required
  - `subject` string, nullable, required
  - `fromEmail` string, required
  - `fromName` string, nullable, required
  - `toEmails` EmailAddress[], required
    - `email` string, required
    - `name` string, nullable, required
  - `ccEmails` EmailAddress[], nullable, required
    - `email` string, required
    - `name` string, nullable, required
  - `bccEmails` EmailAddress[], nullable, required
    - `email` string, required
    - `name` string, nullable, required
  - `replyToEmails` string[], nullable, required
  - `messageIdHeader` string, required
  - `inReplyTo` string, nullable, required
  - `references` string[], nullable, required
  - `threadPosition` integer, nullable, required
  - `newContent` string, nullable, required
  - `quotedContent` string, nullable, required
  - `hasQuotedContent` boolean, required
  - `dkimVerdict` 'pass' | 'fail' | 'softfail' | 'neutral' | 'none' | 'policy' | 'temperror' | 'permerror', nullable, required
  - `spfVerdict` 'pass' | 'fail' | 'softfail' | 'neutral' | 'none' | 'policy' | 'temperror' | 'permerror', nullable, required
  - `dmarcVerdict` 'pass' | 'fail' | 'softfail' | 'neutral' | 'none' | 'policy' | 'temperror' | 'permerror', nullable, required
  - `isAutoReply` boolean, required
  - `autoReplyReason` 'out-of-office' | 'auto-response' | 'delivery-status' | 'read-receipt', nullable, required
  - `listUnsubscribeUrl` string, nullable, required
  - `listUnsubscribeEmail` string, nullable, required
  - `priority` 'high' | 'normal' | 'low', nullable, required
  - `parsingErrors` string[], nullable, required
  - `parsingDuration` number, nullable, required
  - `hasAttachments` boolean, required
  - `attachmentCount` integer, required
  - `attachments` object[], required
    - `id` string, required
    - `filename` string, required
    - `contentType` string, required
    - `size` integer, required
    - `isInline` boolean, required
    - `contentId` string, nullable, required
  - `downloadUrls` object, nullable, required
    - `rawMime` string, nullable, required
    - `html` string, nullable, required
    - `text` string, nullable, required
    - `expiresAt` string, required
  - `createdAt` string, required
  - `receivedAt` string, nullable, required: When Samva's receiving server accepted the email; null for outbound email. The sender's `Date` header plays no part and stays in the raw MIME.
  - `processedAt` string, nullable, required

## Other responses

- `401`: UnauthorizedError
- `403`: ForbiddenError
- `404`: ResourceNotFoundError
- `422`: ValidationError
- `500`: InternalError
- `504`: GatewayTimeoutError

---

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