---
title: "Get Email Detail"
method: GET
path: "/emails/{requestId}"
tags: ["Emails"]
---

# Get Email Detail

`GET /emails/{requestId}`

## Request

- Base URL: `https://app.lettr.com/api`
- URL: `https://app.lettr.com/api/emails/{requestId}`
- Auth: HTTP bearer

Retrieve all events for a specific sent email by its request ID. Returns delivery, bounce, open, click, and other events in reverse chronological order. If no `from` date is provided, defaults to the last 10 days.

## Path parameters

- `requestId` string, required

## Query parameters

- `from` string, date
- `to` string, date

## Response `200`

Email detail retrieved successfully

- GetEmailDetailResponse: Email detail response. Uses the same data shape as the scheduled transmission detail — see `ShowScheduledTransmissionResponse` for field descriptions.
  - `message` string, required
  - `data` object, required
    - `transmission_id` string, required: The unique transmission ID (same as the `requestId` returned when the email was sent).
    - `state` 'scheduled' | 'delivered' | 'bounced' | 'failed', required: Derived delivery state based on events. `scheduled` — injected but not yet delivered. `delivered` — successfully delivered. `bounced` — rejected by recipient server. `failed` — generation or policy failure.
    - `scheduled_at` string, date-time, nullable: The scheduled delivery time, if the email was scheduled. Usually `null` for immediately-sent emails.
    - `from` string, email, required: Sender email address.
    - `from_name` string, nullable: Always null for a sent email: its delivery events do not record the sender display name. A scheduled email returns it from GET /emails/scheduled/{transmissionId} until it is sent.
    - `subject` string, required: Email subject line.
    - `recipients` string[], required: Unique list of recipient email addresses derived from events.
    - `num_recipients` integer, required: Total number of unique recipients.
    - `events` EmailEvent[], required: Delivery events for this email (injection, delivery, bounce, open, click, etc.).
      - union: An email event. The `type` field determines which additional fields are present. All event types share common fields defined in `CommonEventProperties`.
        - InjectionEvent: Fired when a message is received by the system and queued for delivery.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'injection', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `initial_pixel` boolean, nullable: Whether initial open tracking pixel was included
        - DeliveryEvent: Fired when a message is successfully delivered to the recipient's mail server.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'delivery', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `queue_time` integer, nullable: Time spent in queue in milliseconds
          - `outbound_tls` string, nullable: Whether TLS was used for outbound delivery ("1" = yes)
        - BounceEvent: Fired when a message is permanently rejected by the recipient's mail server.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'bounce', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `bounce_class` integer, nullable: Bounce classification code (e.g. 10 = Invalid Recipient, 30 = Generic Bounce)
          - `error_code` string, nullable: SMTP error code
          - `reason` string, nullable: Human-readable bounce reason
          - `raw_reason` string, nullable: Raw SMTP reason string
          - `num_retries` integer, nullable: Number of delivery retries attempted
          - `device_token` string, nullable: Device token if applicable
        - DelayEvent: Fired when a message delivery is temporarily delayed (will be retried).
          - `event_id` string, required: Unique identifier for the event
          - `type` 'delay', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `reason` string, nullable: Human-readable delay reason
          - `raw_reason` string, nullable: Raw SMTP reason string
          - `error_code` string, nullable: SMTP error code
          - `bounce_class` integer, nullable: Bounce classification code
          - `num_retries` integer, nullable: Number of delivery retries attempted so far
          - `queue_time` integer, nullable: Time spent in queue in milliseconds
          - `outbound_tls` string, nullable: Whether TLS was used for outbound delivery
        - OutOfBandEvent: Fired when a remote mail server sends an asynchronous bounce after initially accepting the message.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'out_of_band', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `bounce_class` integer, nullable: Bounce classification code
          - `error_code` string, nullable: SMTP error code
          - `reason` string, nullable: Human-readable bounce reason
          - `raw_reason` string, nullable: Raw SMTP reason string
          - `device_token` string, nullable: Device token if applicable
        - SpamComplaintEvent: Fired when a recipient marks the message as spam via a feedback loop.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'spam_complaint', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `fbtype` string, nullable: Feedback type (e.g. "abuse")
          - `report_by` string, nullable: Who reported the spam
          - `report_to` string, nullable: Where the spam report was sent
        - PolicyRejectionEvent: Fired when a message is rejected due to policy (e.g. suppression list, rate limiting).
          - `event_id` string, required: Unique identifier for the event
          - `type` 'policy_rejection', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `remote_addr` string, nullable: Remote IP address
          - `reason` string, nullable: Human-readable rejection reason
          - `raw_reason` string, nullable: Raw rejection reason
          - `error_code` string, nullable: Error code
          - `bounce_class` integer, nullable: Bounce classification code
        - ClickEvent: Fired when a recipient clicks a tracked link in the email.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'click', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `target_link_url` string, nullable: The URL that was clicked
          - `target_link_name` string, nullable: The name/label of the clicked link
          - `user_agent` string, nullable: Raw user agent string
          - `user_agent_parsed` UserAgentParsed: Parsed user agent information from the open/click event.
            - `agent_family` string, nullable: Browser or email client family
            - `device_brand` string, nullable: Device brand (e.g. Apple, Samsung)
            - `device_family` string, nullable: Device family (e.g. iPhone, Desktop)
            - `os_family` string, nullable: Operating system family
            - `os_version` string, nullable: Operating system version
            - `is_mobile` boolean, nullable: Whether the device is mobile
            - `is_proxy` boolean, nullable: Whether the request came through a proxy
            - `is_prefetched` boolean, nullable: Whether the open was prefetched by an email provider (e.g. Gmail Image Proxy, Apple Mail Privacy Protection). If true, this may not represent a real human open.
          - `geo_ip` GeoIp: Geolocation data derived from the IP address of the open/click event.
            - `country` string, nullable: ISO 3166-1 alpha-2 country code
            - `region` string, nullable: Region or state code
            - `city` string, nullable: City name
            - `latitude` number, nullable: Latitude
            - `longitude` number, nullable: Longitude
            - `zip` string, nullable: ZIP code
            - `postal_code` string, nullable: Postal code
          - `ip_address` string, nullable: IP address of the click
        - OpenEvent: Fired when a recipient opens the email (subsequent opens after the initial open).
          - `event_id` string, required: Unique identifier for the event
          - `type` 'open', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `user_agent` string, nullable: Raw user agent string
          - `user_agent_parsed` UserAgentParsed: Parsed user agent information from the open/click event.
            - `agent_family` string, nullable: Browser or email client family
            - `device_brand` string, nullable: Device brand (e.g. Apple, Samsung)
            - `device_family` string, nullable: Device family (e.g. iPhone, Desktop)
            - `os_family` string, nullable: Operating system family
            - `os_version` string, nullable: Operating system version
            - `is_mobile` boolean, nullable: Whether the device is mobile
            - `is_proxy` boolean, nullable: Whether the request came through a proxy
            - `is_prefetched` boolean, nullable: Whether the open was prefetched by an email provider (e.g. Gmail Image Proxy, Apple Mail Privacy Protection). If true, this may not represent a real human open.
          - `geo_ip` GeoIp: Geolocation data derived from the IP address of the open/click event.
            - `country` string, nullable: ISO 3166-1 alpha-2 country code
            - `region` string, nullable: Region or state code
            - `city` string, nullable: City name
            - `latitude` number, nullable: Latitude
            - `longitude` number, nullable: Longitude
            - `zip` string, nullable: ZIP code
            - `postal_code` string, nullable: Postal code
          - `ip_address` string, nullable: IP address of the open
          - `initial_pixel` boolean, nullable: Whether this was triggered by the initial tracking pixel
        - InitialOpenEvent: Fired the first time a recipient opens the email.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'initial_open', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `user_agent` string, nullable: Raw user agent string
          - `user_agent_parsed` UserAgentParsed: Parsed user agent information from the open/click event.
            - `agent_family` string, nullable: Browser or email client family
            - `device_brand` string, nullable: Device brand (e.g. Apple, Samsung)
            - `device_family` string, nullable: Device family (e.g. iPhone, Desktop)
            - `os_family` string, nullable: Operating system family
            - `os_version` string, nullable: Operating system version
            - `is_mobile` boolean, nullable: Whether the device is mobile
            - `is_proxy` boolean, nullable: Whether the request came through a proxy
            - `is_prefetched` boolean, nullable: Whether the open was prefetched by an email provider (e.g. Gmail Image Proxy, Apple Mail Privacy Protection). If true, this may not represent a real human open.
          - `geo_ip` GeoIp: Geolocation data derived from the IP address of the open/click event.
            - `country` string, nullable: ISO 3166-1 alpha-2 country code
            - `region` string, nullable: Region or state code
            - `city` string, nullable: City name
            - `latitude` number, nullable: Latitude
            - `longitude` number, nullable: Longitude
            - `zip` string, nullable: ZIP code
            - `postal_code` string, nullable: Postal code
          - `ip_address` string, nullable: IP address of the open
          - `initial_pixel` boolean, nullable: Whether this was triggered by the initial tracking pixel
        - AmpClickEvent: Fired when a recipient clicks a tracked link in an AMP email.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'amp_click', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `target_link_url` string, nullable: The URL that was clicked
          - `target_link_name` string, nullable: The name/label of the clicked link
          - `user_agent` string, nullable: Raw user agent string
          - `user_agent_parsed` UserAgentParsed: Parsed user agent information from the open/click event.
            - `agent_family` string, nullable: Browser or email client family
            - `device_brand` string, nullable: Device brand (e.g. Apple, Samsung)
            - `device_family` string, nullable: Device family (e.g. iPhone, Desktop)
            - `os_family` string, nullable: Operating system family
            - `os_version` string, nullable: Operating system version
            - `is_mobile` boolean, nullable: Whether the device is mobile
            - `is_proxy` boolean, nullable: Whether the request came through a proxy
            - `is_prefetched` boolean, nullable: Whether the open was prefetched by an email provider (e.g. Gmail Image Proxy, Apple Mail Privacy Protection). If true, this may not represent a real human open.
          - `geo_ip` GeoIp: Geolocation data derived from the IP address of the open/click event.
            - `country` string, nullable: ISO 3166-1 alpha-2 country code
            - `region` string, nullable: Region or state code
            - `city` string, nullable: City name
            - `latitude` number, nullable: Latitude
            - `longitude` number, nullable: Longitude
            - `zip` string, nullable: ZIP code
            - `postal_code` string, nullable: Postal code
          - `ip_address` string, nullable: IP address of the click
        - AmpOpenEvent: Fired when a recipient opens an AMP email (subsequent opens).
          - `event_id` string, required: Unique identifier for the event
          - `type` 'amp_open', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `user_agent` string, nullable: Raw user agent string
          - `user_agent_parsed` UserAgentParsed: Parsed user agent information from the open/click event.
            - `agent_family` string, nullable: Browser or email client family
            - `device_brand` string, nullable: Device brand (e.g. Apple, Samsung)
            - `device_family` string, nullable: Device family (e.g. iPhone, Desktop)
            - `os_family` string, nullable: Operating system family
            - `os_version` string, nullable: Operating system version
            - `is_mobile` boolean, nullable: Whether the device is mobile
            - `is_proxy` boolean, nullable: Whether the request came through a proxy
            - `is_prefetched` boolean, nullable: Whether the open was prefetched by an email provider (e.g. Gmail Image Proxy, Apple Mail Privacy Protection). If true, this may not represent a real human open.
          - `geo_ip` GeoIp: Geolocation data derived from the IP address of the open/click event.
            - `country` string, nullable: ISO 3166-1 alpha-2 country code
            - `region` string, nullable: Region or state code
            - `city` string, nullable: City name
            - `latitude` number, nullable: Latitude
            - `longitude` number, nullable: Longitude
            - `zip` string, nullable: ZIP code
            - `postal_code` string, nullable: Postal code
          - `ip_address` string, nullable: IP address of the open
          - `initial_pixel` boolean, nullable: Whether this was triggered by the initial tracking pixel
        - AmpInitialOpenEvent: Fired the first time a recipient opens an AMP email.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'amp_initial_open', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `user_agent` string, nullable: Raw user agent string
          - `user_agent_parsed` UserAgentParsed: Parsed user agent information from the open/click event.
            - `agent_family` string, nullable: Browser or email client family
            - `device_brand` string, nullable: Device brand (e.g. Apple, Samsung)
            - `device_family` string, nullable: Device family (e.g. iPhone, Desktop)
            - `os_family` string, nullable: Operating system family
            - `os_version` string, nullable: Operating system version
            - `is_mobile` boolean, nullable: Whether the device is mobile
            - `is_proxy` boolean, nullable: Whether the request came through a proxy
            - `is_prefetched` boolean, nullable: Whether the open was prefetched by an email provider (e.g. Gmail Image Proxy, Apple Mail Privacy Protection). If true, this may not represent a real human open.
          - `geo_ip` GeoIp: Geolocation data derived from the IP address of the open/click event.
            - `country` string, nullable: ISO 3166-1 alpha-2 country code
            - `region` string, nullable: Region or state code
            - `city` string, nullable: City name
            - `latitude` number, nullable: Latitude
            - `longitude` number, nullable: Longitude
            - `zip` string, nullable: ZIP code
            - `postal_code` string, nullable: Postal code
          - `ip_address` string, nullable: IP address of the open
          - `initial_pixel` boolean, nullable: Whether this was triggered by the initial tracking pixel
        - GenerationFailureEvent: Fired when the system fails to generate a message (e.g. template rendering error).
          - `event_id` string, required: Unique identifier for the event
          - `type` 'generation_failure', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `reason` string, nullable: Human-readable failure reason
          - `raw_reason` string, nullable: Raw failure reason
          - `error_code` string, nullable: Error code
        - GenerationRejectionEvent: Fired when the system rejects message generation (e.g. policy violation).
          - `event_id` string, required: Unique identifier for the event
          - `type` 'generation_rejection', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
          - `reason` string, nullable: Human-readable rejection reason
          - `raw_reason` string, nullable: Raw rejection reason
          - `error_code` string, nullable: Error code
        - ListUnsubscribeEvent: Fired when a recipient uses the List-Unsubscribe header to unsubscribe.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'list_unsubscribe', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version
        - LinkUnsubscribeEvent: Fired when a recipient clicks an unsubscribe link in the email body.
          - `event_id` string, required: Unique identifier for the event
          - `type` 'link_unsubscribe', required: The event type
          - `timestamp` string, required: When the event occurred (ISO 8601)
          - `request_id` string, required: The transmission/request ID that generated this event
          - `rcpt_to` string, email, required: Recipient email address
          - `raw_rcpt_to` string, email, required: Original recipient email address before any modifications
          - `recipient_domain` string, required: Domain of the recipient
          - `mailbox_provider` string, required: Mailbox provider of the recipient
          - `mailbox_provider_region` string, required: Region of the mailbox provider
          - `message_id` string, nullable: SMTP message ID
          - `subject` string, nullable: Email subject line
          - `friendly_from` string, nullable: Friendly from address
          - `sending_domain` string, nullable: The sending domain
          - `sending_ip` string, nullable: IP address used to send the email
          - `click_tracking` boolean, nullable: Whether click tracking was enabled
          - `open_tracking` boolean, nullable: Whether open tracking was enabled
          - `transactional` boolean, nullable: Whether this was a transactional message
          - `msg_size` integer, nullable: Message size in bytes
          - `injection_time` string, nullable: When the message was injected into the system (ISO 8601)
          - `rcpt_meta` unknown
          - `campaign_id` string, nullable: Campaign identifier
          - `template_id` string, nullable: Template identifier
          - `template_version` string, nullable: Template version
          - `ip_pool` string, nullable: IP pool used for sending
          - `msg_from` string, nullable: Envelope sender (MAIL FROM)
          - `rcpt_type` string, nullable: Recipient type
          - `rcpt_tags` string[], nullable: Recipient tags
          - `amp_enabled` boolean, nullable: Whether AMP was enabled
          - `delv_method` string, nullable: Delivery method (e.g. esmtp)
          - `recv_method` string, nullable: Reception method (e.g. rest)
          - `routing_domain` string, nullable: Routing domain
          - `scheduled_time` string, nullable: Scheduled delivery time if the email was scheduled
          - `ab_test_id` string, nullable: A/B test identifier
          - `ab_test_version` string, nullable: A/B test version

## Other responses

- `401`: Unauthorized - Missing or invalid API key
- `404`: Email not found
- `422`: Validation error
- `500`: Internal server error
- `503`: Service unavailable - the API key could not be verified, so the request was not processed. This does not mean the key is invalid; retry after the delay given in the Retry-After header.

---

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