> ## Documentation Index
> Fetch the complete documentation index at: https://docs.powerdialer.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Calls, evidence and performance

> Read scoped call activity and compare lists without inventing conversion outcomes.

`GET /calls` requires `calls:read`, `from` and `to` ISO timestamps with offsets, and
an increasing interval of at most 366 days. The start is inclusive and the end is
exclusive. Optional filters are `listId`, `ownerId`, `after` and `limit`.

`GET /calls/{id}` uses the **call SID**, not the numeric row ID from collection
data. A call outside your credential's scope returns the same 404 as a missing
call. Responses include owner, direction, call status, disposition, talk time,
original list attribution, and permitted evidence.

## Delayed or restricted evidence

Recording and transcript states are `restricted` without `recordings:read` and
`transcripts:read`, respectively. With permission, each is `available` or
`unavailable`. Authorized recording reads include `url`; transcript reads include
`segments:[{speaker,text}]`.

Unavailable can mean delayed, uncaptured or removed evidence. Re-fetch the call
after `recording.available`, `transcript.available` or a later call update event.
A stored recording reference does not prove that a provider-hosted URL is publicly
playable. Never send provider credentials to a browser.

A collection cursor discovers increasing row IDs; it does not discover every
later disposition or transcript. Use [changes and webhooks](/guides/webhooks) to
re-fetch updated resources. Historical rows without established workspace
attribution remain excluded until a reviewed backfill.

## List attribution

The call response's `listId` follows the original session, not the contact's current
list membership. Calls without a retained session/list link can have null list
attribution. Moving a contact does not rewrite its prior calls' list attribution.

## Compare lists or owners

`GET /analytics/summary` requires `analytics:read` and accepts:

* `startDate` and `endDate`: inclusive calendar days, up to 366 days.
* `timezone`: IANA timezone, default `UTC`.
* Optional `listId` and `ownerId`.
* `groupBy`: `list` (default), `owner` or `none`.
* `conversationThresholdSeconds`: 1–3,600, default 120.

The response includes the resolved half-open UTC `range`, threshold and groups.
Each group reports `calls`, `connected`, `conversations`, `talkTimeSeconds`,
`connectRate`, `conversationRate` and `verifiedConversions:null`.

Connects count accepted calls with positive local/provider talk time, or a
non-voicemail call with positive provider talk time. Conversations use those
conditions at or above the threshold. Rates divide by all calls in the group;
these are call rates, not unique-contact conversion rates.

Join bookings, payments or sales from their authoritative system to calculate
verified business conversion. A positive disposition alone is not proof of a sale.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.