# Replace example resource IDs and ownerId with values from your workspace.
: "${POWERDIALER_API_KEY:?Set POWERDIALER_API_KEY to your scoped API key}"
curl --request GET \
--url 'https://api.migration.powerdialer.ai/api/public/v2/calls?limit=50&from=2026-10-01T00%3A00%3A00Z&to=2026-10-08T00%3A00%3A00Z' \
--header "Authorization: Bearer $POWERDIALER_API_KEY"{
"data": [
{
"id": 789,
"callSid": "call_example_789",
"ownerId": "user_example",
"createdAt": "2026-10-07T12:00:00.000Z",
"updatedAt": "2026-10-07T12:00:00.000Z",
"contactId": 123,
"contactName": "Alex Morgan",
"phoneNumber": "+12125550100",
"fromPhoneNumber": "+12125550101",
"direction": "outbound",
"callStatus": "Conversation",
"disposition": {
"type": "Interested",
"notes": "Requested a follow-up."
},
"listId": 456,
"talkTimeSeconds": 150,
"recording": {
"state": "restricted"
},
"transcript": {
"state": "restricted"
}
}
],
"nextCursor": null
}{
"error": {
"code": "invalid_api_key",
"message": "API key is invalid, expired or revoked",
"requestId": "00000000-0000-4000-8000-000000000004"
}
}List calls
Read call history for a bounded time interval, optionally narrowed to a calling list or rep. Requires calls:read. from is inclusive and to exclusive; both are ISO timestamps with offsets, and the increasing interval must be at most 366 days. List attribution follows the original call session.
Results respect the key’s workspace and owner restrictions. Follow nextCursor using after; pages are ordered by numeric row ID. Later evidence or disposition updates do not reappear just because you advance this cursor, so use change events for reconciliation. Historical rows without established attribution remain unavailable.
recordings:read and transcripts:read independently unlock evidence; otherwise those fields say restricted. 400 invalid_request requires corrected dates/pagination, 403 invalid_owner requires an allowed rep, and 404 not_found can indicate an inaccessible list filter. This read is safe to retry without an idempotency key.
See calls and evidence.
# Replace example resource IDs and ownerId with values from your workspace.
: "${POWERDIALER_API_KEY:?Set POWERDIALER_API_KEY to your scoped API key}"
curl --request GET \
--url 'https://api.migration.powerdialer.ai/api/public/v2/calls?limit=50&from=2026-10-01T00%3A00%3A00Z&to=2026-10-08T00%3A00%3A00Z' \
--header "Authorization: Bearer $POWERDIALER_API_KEY"{
"data": [
{
"id": 789,
"callSid": "call_example_789",
"ownerId": "user_example",
"createdAt": "2026-10-07T12:00:00.000Z",
"updatedAt": "2026-10-07T12:00:00.000Z",
"contactId": 123,
"contactName": "Alex Morgan",
"phoneNumber": "+12125550100",
"fromPhoneNumber": "+12125550101",
"direction": "outbound",
"callStatus": "Conversation",
"disposition": {
"type": "Interested",
"notes": "Requested a follow-up."
},
"listId": 456,
"talkTimeSeconds": 150,
"recording": {
"state": "restricted"
},
"transcript": {
"state": "restricted"
}
}
],
"nextCursor": null
}{
"error": {
"code": "invalid_api_key",
"message": "API key is invalid, expired or revoked",
"requestId": "00000000-0000-4000-8000-000000000004"
}
}Authorizations
Issued in Developers. Workspace/owner/scopes come from credential, never acting-user headers. API keys cannot manage API credentials.
Query Parameters
Exclusive numeric ID cursor. Omit or use 0 for the first page, then pass the previous nextCursor. Keep the same filters while paging.
0 <= x <= 2147483647Maximum items to return in one page, from 1 to 200. Defaults to 50. Smaller pages reduce response size; this is not a total-result limit.
1 <= x <= 200Inclusive start instant with an explicit UTC offset. Calls are selected by creation time; the interval ending at to must be increasing and no longer than 366 days.
Exclusive end instant with an explicit UTC offset. Use the next boundary rather than 23:59:59 to avoid losing calls at fractional seconds.
Optional visible calling-list ID. Filters by each call’s original session attribution, not the contact’s current list membership. Use a positive integer no greater than 2,147,483,647.
1 <= x <= 2147483647Optional PowerDialer user ID for a current workspace member permitted by this key. Omit to include all owners allowed by the credential.
Response
A page of visible calls within the requested interval, with evidence limited by granted scopes.