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

# List call activity

`POST /v3/reporting/calls`

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

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

Call recording URLs are included only if the user has permission to listen to call records.

## Query parameters

- `top` integer
- `skip` integer

## Request body

- object
  - `filters` object, required — Filters specific to call 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
    - `callResolutions` string[] — Filter by call resolution outcome
    - `callDispositions` string[] — Filter by call disposition
    - `callTypes` string[] — Filter by call direction

## Response `200`

Calls list retrieved successfully

- object
  - `items` object[]
    - `id` string — Unique call identifier
    - `userId` integer — ID of the user who made/received the call
    - `userFullName` string — Full name of the user
    - `contactId` integer — ID of the contact
    - `contactFullName` string — Full name of the contact
    - `contactPhoneNumber` string — Phone number of the contact
    - `startDate` string, date-time — Call start date and time
    - `durationSeconds` integer — Call duration in seconds
    - `resolution` 'positive' | 'toCall' | 'negative' — Call resolution outcome
    - `disposition` 'answered' | 'loggedManually' | 'noAnswer' | 'busy' | 'fail' — Call disposition
    - `type` 'outbound' | 'inbound' — Call direction
    - `callRecordUrl` string — URL to the call recording (if available and permitted)
    - `customResolution` string — Custom resolution text
  - `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)
