---
title: "Get email event statistics"
method: GET
path: "/email_events/stats"
tags: ["Email Events"]
---

# Get email event statistics

`GET /email_events/stats`

Returns counts and rates for email events over a time range. The default start time is 30 days ago.

## Query parameters

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

## Response `200`

Email event statistics.

- EmailEventStatsResponse
  - `data` EmailEventStats, required
    - `counts` EmailEventCounts, required — Event counts for the queried time range. Only the ten listed event types are counted; other valid event types (scheduled, cancelled, sandbox, sending, rejected) are not included in stats.
      - `bounced` integer, required
      - `clicked` integer, required
      - `complained` integer, required
      - `deferred` integer, required
      - `delivered` integer, required
      - `failed` integer, required
      - `opened` integer, required
      - `queued` integer, required
      - `sent` integer, required
      - `unsubscribed` integer, required
    - `rates` EmailEventRates, required — Event rates as percentages (0-100+), rounded to 2 decimal places.
      - `bounce_rate` number, float, required — bounced / queued as a percentage.
      - `click_rate` number, float, required — clicked / opened as a percentage.
      - `complaint_rate` number, float, required — complained / delivered as a percentage.
      - `deferred_rate` number, float, required — deferred / queued as a percentage.
      - `delivery_rate` number, float, required — delivered / queued as a percentage.
      - `open_rate` number, float, required — opened / delivered as a percentage.
    - `record_type` 'email_event_stats', required
    - `time_range` TimeRange, required
      - `from` string, date-time, nullable, required
      - `to` string, date-time, nullable, required

## Other responses

- `401` — Not authorized (10006).

## Changes

- **2026-07-16** `2fb3b617430a` — 2 warning, 1 info
  - added the new `recipient_suppressed` 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 `401`
  - added the optional property `suppressed` to the response with the `401` status
- **2026-07-12** `b3c5aebde44c` — 2 warning
  - added the new `10027` enum value to the `errors/items/code` response property for the response status `401`
  - added the new `10036` enum value to the `errors/items/code` response property for the response status `401`
- **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_events/stats/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)
