Export call records
Required scope: sessions:read
Returns up to 1,000 call detail records per request as CSV or newline-delimited JSON, newest first, with the same fields and filters as List call records. The other party appears only as peerRef, a team-specific pseudonym. Each CSV page starts with a header row. When more records match, the Polymorfa-Next-Cursor response header carries the cursor for the next page; it is absent on the last page.
Authorizations
Send your team API key or project token as Authorization: Bearer <token>. The credential must have the required permissions. Project tokens can access only their own project.
Query Parameters
Project to read. Omit to total every project in the organization. Project tokens always read their own project.
Session name of one number.
1 - 128Specifies direction for this query parameter.
Allowed values
inbound, outbound How the number connects to WhatsApp.
linked_device, cloud_api How the call went. answered: media connected, including answered calls still in progress. declined: declined by a participant or the other party, or the line was busy. missed: nobody answered before ringing stopped or the caller hung up. failed: ended before it connected for any other reason. in_progress: still ringing.
answered, missed, declined, failed, in_progress Include calls that started at or after this time.
Include calls that started before this time.
Specifies format for this query parameter.
Allowed values
csv, ndjson Records per page, up to 1,000.
1 <= x <= 1000The Polymorfa-Next-Cursor value from the previous page. Send the same filters.
1 - 256Response
One page of call detail records.
Header row, then one row per call. Columns: callId, projectId, sessionId, direction, upstream, outcome, state, hasVideo, peerRef, startedAt, connectedAt, endedAt, durationSeconds, endReason. Empty fields are null. Text that begins with =, +, -, @, tab or carriage return is prefixed with an apostrophe.