Search calls
/call /searchSearch your organization's calls, most recent activity first by default. Filters, page and page_size are JSON body fields, and every filter is optional. Each entry is a full call, with its attempts.
Request body
application/jsonquerystringFree-text search. A call matches when it contains every word of the query (3 characters or more, in any order) in its phone numbers, contact identity, metadata or prompt variable values, or in the extracted data of its last attempt. A phone number typed with spaces or a leading 0 is matched on its digits.
statusesarray of enum (10 values)Keep calls in any of these statuses. A scheduled call of a paused campaign counts as 'paused'.
"initializing"Being created, not scheduled yet. Newer calls start as scheduled instead.
"queued_for_calling"Its turn came: the attempt is about to dial, within your concurrent call limit.
"calling"An attempt is in progress: the phone is ringing or a conversation is going on.
"post_processing"The phone conversation is over; the transcript, outcome and extracted data are being computed. It can no longer be paused or cancelled.
"not_launched"Created but never sent: a campaign call waiting for
POST /. It is not dialed until then.campaigns/ {id}/ launch-calls "scheduled"Waiting to be dialed at scheduled_at (the first attempt, a retry or a requested callback). A call due outside its calling windows waits for the next one.
"paused"No new attempt is made until it is resumed (
POST /call/{id}/resume, or resuming its campaign)."completed"Final. Revox will not dial it again: a person or a phone menu answered, or the last attempt allowed by call_retry_config was made. outcome and last_call_attempt tell how it went.
"cancelled"Final. Cancelled before it completed: by a user (
POST /call/{id}/cancel, the dashboard, a campaign cancel), or because the prospect called back (see cancel_reason)."errored"Final. The call could not be placed and will not be retried: the number does not exist, the destination cannot be called, the organization ran out of credits, or an internal error stopped it.
Default
[]directionsarray of ("inbound" | "outbound")Keep calls in any of these directions.
"inbound"Someone called one of your numbers and an assistant answered.
"outbound"Revox called the number: from
POST /call, a campaign or the dashboard.
Default
[]resultsarray of enum (6 values)Keep calls whose last attempt has one of these results (who answered: human, voicemail, IVR...). 'none' matches calls whose last attempt has no result yet, or no attempt at all.
"IVR"An automated phone menu answered (e.g. 'press 1 for sales').
"voicemail"A voicemail or an answering machine answered.
"human"A person answered.
"unknown"Silence, or audio that could not be classified.
"screening-filter"A call screening assistant (Apple or Google) answered for the person and asked who is calling and why.
"none"The last attempt has no result yet, or there is no attempt.
Default
[]outcomesarray of enum (6 values)Keep calls with one of these business outcomes. 'none' matches calls without an outcome, 'do_not_call' calls whose number is on the do-not-call list (those match no other outcome value).
"not_interested"The person declined, refused or showed no interest.
"interested"The person engaged and is a lead to follow up: the strongest outcome the AI assigns.
"completed"A person from your team talked to the prospect: they joined the call, the call was transferred to them, or they set this outcome by hand. Never assigned by the AI.
"requested_callback_later"The person asked to be called back later. When they gave a time and attempts are left, the call is scheduled again for that time.
"none"The call has no outcome.
"do_not_call"The number is on the do-not-call list. Such a call matches no other outcome value.
Default
[]assistant_idsarray of stringKeep calls placed with one of these assistants. A step of a multi-step flow matches the calls that went through it. 'none' matches calls whose assistant was deleted.
Default
[]campaign_idsarray of stringKeep calls of one of these campaigns. With this filter, a call superseded by the prospect calling back is left out, so each contact is listed once.
Default
[]from_phone_numbersarray of stringKeep calls whose from_phone_number is one of these numbers (your number for an outbound call, the caller's for an inbound one), in E.164 format, exact match.
Default
[]assignee_idsarray of (string | "none")Keep calls assigned to one of these team members (user IDs, see the call's assignee.id). 'none' matches unassigned calls.
string"none"Unassigned calls.
Default
[]variablesarray of objectKeep calls whose metadata (or, when the metadata has no such key, prompt variables) hold all these values.
to_phone_numberstringKeep calls whose to_phone_number is this number (the person called for an outbound call, your number for an inbound one), in E.164 format, exact match. Ignored by
POST /call/export.call_idsarray of stringKeep only the calls with these IDs. Ignored by
POST /call/export.pageintegerPage number, starting at 1. Default: 1.
Default
1≥ 1page_sizeintegerNumber of calls per page, 1 to 100. Default: 50.
Default
501 to 100sort_bystringSort order. 'updated_at' (the default): most recent activity. 'duration': talk time of the last attempt, calls without one last. 'priority': a fixed order for working a campaign (live calls, then calls a person from your team joined, hot leads, calls a person answered, queued, scheduled, the rest), which ignores sort_direction. 'structured_output.<field>': a value extracted from the last attempt.
sort_direction"asc" | "desc"'asc' or 'desc' (the default).
Response
200callsarray of CallThe calls of the requested page, in the requested order.
total_countnumberNumber of calls matching the filters, all pages together.