# Get Email

GET /api/v2/projects/{projectId}/email-campaigns/{campaignId}/emails/{emailId}

Fetches one sent email (its recipient, status, and delivery timestamps) together with the rendered subject and body as that recipient actually received it, personalisation included. The content is fetched from the email provider, so this is heavier than the row returned by List Emails.

## Request

- projectId: string, path, required — ID of the project that owns the campaign.
- campaignId: string, path, required — ID of the campaign the email belongs to.
- emailId: string, path, required — ID of the email to fetch.

## Response

- 200: Successful response
  - bounced: boolean, required
  - clicked: boolean, required
  - complained: boolean, required
  - contactDistinctId: string, required
  - createdAt: string, required
  - delivered: boolean, required
  - distinctId: string, required
  - emailCampaignId: string, required
  - html: string, required
  - id: string, required
  - messageId: string, required
  - opened: boolean, required
  - projectId: string, required
  - sendPhase: sample | rollout, required, default sample
  - sent: boolean, required
  - status: pending | sent | delivered | opened | clicked | bounced | complained | suppressed | deliveryDelayed, required
  - subject: string, required
  - suppressed: boolean, required
  - text: string, required
  - to: string, required
  - updatedAt: string, required
  - bouncedAt: string
  - clickedAt: string
  - complainedAt: string
  - …
- 400: Invalid input data
- 401: Authorization not provided
- 403: Insufficient access
- 404: Not found
- 500: Internal server error
