---
title: "List email activity"
method: POST
path: "/v3/reporting/emails"
tags: ["Reports"]
---

# List email activity

`POST /v3/reporting/emails`

<small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small>

Returns a paginated list of individual email activity records matching the specified filters.

Use `top` and `skip` query parameters for pagination.

## Query parameters

- `top` integer
- `skip` integer

## Request body

- object
  - `filters` object, required — Filters specific to email reporting endpoints
    - `from` string, date-time — Start date of the reporting period
    - `to` string, date-time — End date of the reporting period
    - `dateRangePreset` 'lastWeek' | 'lastMonth' | 'lastYear' | 'allTime' — Predefined date range shortcut. Defaults to lastWeek when neither dateRangePreset nor from/to are provided. Use allTime to retrieve the full historical report. Cannot be combined with from/to.
    - `teamIds` integer[] — Filter by team IDs
    - `userIds` integer[] — Filter by user IDs
    - `contactListIds` integer[] — Filter by contact list IDs
    - `emailValidationStatuses` string[] — Filter by email validation status
    - `companies` string[] — Filter by company names
    - `companySizes` string[] — Filter by company size ranges
    - `industries` string[] — Filter by industry names
    - `cities` string[] — Filter by city names
    - `states` string[] — Filter by state/region names
    - `countries` string[] — Filter by country names
    - `titles` string[] — Filter by job titles
    - `sequenceIds` integer[] — Filter by sequence IDs
    - `includeOutOfSequence` boolean — Include activity outside of sequences
    - `emailProviders` string[] — Filter by email provider type
    - `emailAccountIds` integer[] — Filter by email account IDs
    - `emailSendingSources` string[] — Filter by email sending source
    - `bounceTypes` string[] — Filter by bounce type
    - `sentiments` string[] — Filter by reply sentiment category

## Response `200`

Email list retrieved successfully

- object
  - `items` object[]
    - `contactId` integer — ID of the contact
    - `firstName` string — Contact's first name
    - `lastName` string — Contact's last name
    - `email` string, email — Contact's email address
    - `company` string — Contact's company name
    - `emailAccountId` integer — ID of the email account used for sending
    - `emailAccountEmail` string, email — Email address of the sending account
    - `sequenceId` integer — ID of the sequence
    - `sequenceName` string — Name of the sequence
    - `sequenceStepNumber` integer — Step number within the sequence
    - `sequenceStepDisplayName` string — Display name of the sequence step
    - `deliveryDate` string, date-time — Date when the email was delivered
    - `isDelivered` boolean
    - `isOpened` boolean
    - `isReplied` boolean
    - `isInterested` boolean
    - `isBounced` boolean
    - `isClicked` boolean
    - `isOptedOut` boolean
  - `hasMore` boolean — Indicates if there are more items to fetch

## Other responses

- `400` — Invalid pagination parameters, or request-body validation failure (FluentValidator).
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — User lacks required feature scope to view reports.
- `429` — Too Many Requests

---

[API](https://skmtc.net/reply/apis/reply-api.md) · [All operations](https://skmtc.net/reply/apis/reply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reply/reply-api/revisions/1c3d32eaf95e/schema)
