Skip to main content
GET

List calls

Returns the calls of the authenticated environment, newest first, with filters by status, direction, agent, date and phone number. Pass include=insight to get the conversation result on each call.

Endpoint

Request headers

string
required
Bearer token. Format: Bearer talq_your_environment_token_here

Query parameters

string
Adds the conversation result to each call as an insight object. Only accepted value: insight. Any other value, or an array (include[]=insight), returns 422. See The insight block.
string
Filter by call status. Options: completed, canceled, no-answer, busy, failed, voicemail, in-progress.
string
Filter by call direction. Options: inbound, outbound.
string
Only calls of this agent.
string
Start of the period, by created_at. Format YYYY-MM-DD. Default: 30 days ago.
string
End of the period, inclusive. Format YYYY-MM-DD.
Prefix of the to or from number, or an exact call id. At least 3 characters; shorter values are ignored.
integer
Items per page. Between 1 and 100. Default: 20.
string
Cursor of the page to fetch, as returned in pagination.next_cursor or pagination.prev_cursor.

Example requests

Response

Success response (200 OK)

The example below was requested with include=insight. Without it, the insight key is absent.

Response fields

boolean
required
Whether the request succeeded.
array
required
Array of call objects.
object
required
Cursor pagination. There is no total count.

The insight block

What the agent captured in the conversation. Same data the event_call_report webhook delivers, available on demand for a whole page of calls. summary and transcript are not here because of their size; read them with Get call insight.
string
required
State of the post-call analysis. Options: completed, pending, unavailable. The analysis runs after the call ends; pending means “query again later”, unavailable means “there will be no result”. Full rules in Get call insight.
integer | null
required
Call duration in seconds. Present in every state. null when no talk time was measured (voicemail, no-answer, failed, busy).
boolean | null
required
A person answered.
boolean | null
required
The objective configured on the agent was reached.
string | null
required
Options: success, partial_contact, unsuccessful.
object | null
required
The fields your agent is configured to collect, with the values extracted from the conversation. The keys are yours. {} when nothing was collected.
string | null
required
Campaign that originated the dial. null outside a campaign. Each retry is its own call.
human_detected, objective_achieved, call_result and collected_data are null whenever analysis_status is not completed. A false there is a real result, never a missing analysis.

Error responses

401 Unauthorized

422 Validation error

Returned for an unknown include, an invalid status or direction, or a date outside YYYY-MM-DD.

Notes

Reconciling a day. Query with include=insight, date_from and date_to at least 30 minutes after the last call ended. By then analysis_status is completed or unavailable for every call, and pending is gone.
Default window. Without date_from, only the last 30 days are returned.
Not in this response. The telephony provider’s call SID and internal routing flags are deliberately excluded. Recordings are served by GET /api/v1/calls/{call_id}/recording-url, which answers 404 when there is none.
  • Get call insight: GET /api/v1/calls/{call_id}/insight — summary and transcript of one call.
  • Get agent calls: GET /api/v1/agents/{agent_id}/calls
  • Get recording URL: GET /api/v1/calls/{call_id}/recording-url
  • Make a call: POST /api/v1/agents/{agent_id}/call