Skip to main content
GET
Read per-number metrics for sequence calls made through number pools
Requires sequences:read. This is a read-only report of sequence calls that used a number pool at call time. Ordinary single-number or trunk calls and one-time calls are excluded, even if the same number or agent is used. No matching pool attempts returns zero totals and an empty rows array. Supply start_date and end_date as ISO timestamps with timezones. The start is inclusive, the end is exclusive, and the range can be at most 31 days. Calls are selected by their start time. Optional pool_id, sequence_id, and agent_id filters apply together. Use group_by=caller_number for per-number results, day for UTC daily trends, or attempt for the first, second, and third positions within a sequence phone step. totals always covers the whole filtered range. Up to 500 groups are returned; when truncated is true, narrow the filters rather than presenting the rows as a complete breakdown.

How metrics are counted

  • Attempts: each recorded call counts once. Retries count separately. A setup attempt that never created a call record does not count.
  • Unique contacts: each contact linked to an owned call session counts once within the total or group. Do not sum unique contacts across numbers, days, or attempt positions.
  • Answered: the sequence classified the attempt as human answered. Detected voicemail is separate. Answer rate is answered attempts divided by all attempts, including pending calls, multiplied by 100. It is null when there are no attempts.
  • Busy: includes declined calls, matching the sequence outcome. Failed includes calls the sequence settled as failed, canceled, or missed.
  • Pending: calls still initiating, ringing, or in progress without a settled outcome. Unknown: terminal calls whose pool outcome has not been recorded or recognized. Unknown does not mean no answer.
  • Connected duration: time from answer to end for ended calls with valid timestamps, including voicemail. It excludes ringing and still-active calls. Averages are null when no eligible samples exist.
The caller-number grouping uses the caller number saved on the pool attempt, not today’s agent settings or pool membership. A missing caller ID is grouped under a null key. Historical attempts remain available after number replacement, pool reassignment, pool deletion, or removing a person from the sequence while their sequence and call records are retained. These totals describe past calls; they do not put removed people back into the sending audience.

Companion apps

Ask Companion to build a number-pool performance app using get_sequence_number_pool_call_metrics. Mini apps call the same operation as getSequenceNumberPoolCallMetrics. The report supplies live data; building an app does not change calling behavior or enable pools. Spam reputation, carrier billing, and negotiated audio encryption are not part of this report.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

start_date
string<date-time>
required

Inclusive call start time, with timezone.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
end_date
string<date-time>
required

Exclusive call start time, with timezone. Maximum window: 31 days.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
group_by
enum<string>
default:caller_number

Group by recorded pool caller number, UTC day, or 1-based attempt position within a sequence step.

Available options:
caller_number,
day,
attempt
pool_id
string<uuid>

Pool used at call time, including a pool that has since been deleted.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
sequence_id
string<uuid>
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
agent_id
string<uuid>
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

Response

Default Response

scope
string
required
Allowed value: "sequence_number_pool_calls"
start_date
string
required
end_date
string
required
group_by
enum<string>
default:caller_number
required

Group by recorded pool caller number, UTC day, or 1-based attempt position within a sequence step.

Available options:
caller_number,
day,
attempt
totals
object
required
rows
object[]
required
truncated
boolean
required

At most 500 groups are returned. Totals cover the full filtered window; narrow filters if true.