Skip to main content
GET
List calls
Each call has the fields described in Call fields, plus hasSummary, hasTranscript, hasRecording and isCallback. For the summary, recording and transcript themselves, use Get a call. Use meta.totalPages to know when you’ve fetched every page. All filters can be combined.

How search works

search is split into words. A call matches if any word matches:
  • Contact name: the word appears in the contact’s first or last name, or is spelled similarly. Not case-sensitive.
  • Phone number: a word made only of digits, optionally starting with +, also matches the contact’s phone number when it contains it. Numbers are stored in E.164 form (+201001234567), so use digits as they appear there: no spaces, dashes or brackets.
  • Account code: the word equals the call’s account code exactly.
  • Call reference: a word of 28 characters or more also matches the full callSid.

Filtering by tag

Repeat tags once per tag. A call matches if it has any of them:
To filter by a single tag, you still have to send tags twice: ?tags=interested&tags=interested. A lone ?tags=interested is rejected with 422, and ?tags[]=interested is ignored.
Tag names are the ones you manage in the Dashboard. Common causes of a 422 validation error:
  • status or callType isn’t one of the listed values.
  • agentId or didNumberId isn’t a valid UUID.
  • createdFrom or createdTo isn’t an ISO 8601 date.
  • durationFrom or durationTo is negative or not a number.
  • tags was sent only once.
A campaignId that’s neither a valid UUID nor the word null returns 400 failed_update_data instead.

Authorizations

X-API-KEY
string
header
required

Query Parameters

page
integer
default:1

Page number, starting at 1.

Required range: x >= 1
limit
integer
default:10

Calls per page.

Required range: x >= 1

Finds calls by contact name, phone number, account code or call reference. See How search works.

status
enum<string>

Only calls with this status.

Available options:
pending,
in_progress,
answered,
not_answered,
failed
callType
enum<string>

Only calls of this type.

Available options:
inbound,
outbound,
web
agentId
string<uuid>

Only calls made or answered by this agent.

campaignId
string

Only calls from this campaign. Send the word null for calls that aren't part of any campaign. Anything else that isn't a valid UUID returns 400 failed_update_data.

didNumberId
string<uuid>

Only calls on this phone number of yours.

accountCode
string

Only calls with this account code from your phone system. Exact match.

tags
string[]

Only calls with any of these tags. Repeat the parameter for each tag, and repeat it even for one tag. See Filtering by tag.

isWidget
boolean

true returns only calls whose contact came from your website widget, including follow-up calls to them. false isn't a reliable "everything else" filter, because it also drops calls whose contact has no widget flag; filter by callType instead.

createdFrom
string<date-time>

Only calls created at or after this time (ISO 8601).

createdTo
string<date-time>

Only calls created at or before this time (ISO 8601).

durationFrom
integer

Only calls at least this many seconds long.

Required range: x >= 0
durationTo
integer

Only calls at most this many seconds long.

Required range: x >= 0

Response

A page of calls.

message
string
Example:

"Calls fetched successfully"

meta
object
data
object[]