Appearance
Reports
| Method | Path | Query | Response |
|---|---|---|---|
GET | /v1/tenants/{t}/reports/calls | from, to, interval (hour|day), utc_offset_minutes, service_level_seconds, queue_ref, channel_ref | { from, to, interval, utcOffsetMinutes, serviceLevelSeconds, queueRef?, channelRef?, totals, buckets: [{ start, … }] } |
GET | /v1/tenants/{t}/reports/agents | from, to | { from, to, agents: [{ agentRef, … }] } |
GET | /v1/tenants/{t}/reports/live | — | { at, liveCalls, inIvr, queues: [{ queueRef, name, … }] } |
from/to: ISO 8601; default the last 24 hours;frommust be beforeto. At most 7 days withinterval=hour(the default), 93 days withday; the agents report allows 93 days.utc_offset_minutesis −720…840,service_level_seconds1…3600. Anything else is400 invalid_request.Calls counts the calls created in the window, as totals and per bucket. Buckets start on the hour or day in
utc_offset_minutes(default0, a fixed offset — no daylight saving). Each has:Field Meaning inboundInbound calls answeredAn agent answered (an IVR picking up doesn't count) abandonedEnded unanswered because the customer hung up missedEnded unanswered for any other reason (timeout, rejected, failure) inProgressNot answered and not over yet outbound,outboundConnectedOutbound calls, and those the customer answered serviceLevelPercentAnswered within service_level_seconds(default 20) of entering the queue, out of the calls that entered a queue and are answered or over;nullwithout anyavgWaitSeconds,maxWaitSecondsQueue entry → an agent answering, over answered calls talkSeconds,avgTalkSecondsCustomer ⇄ agent time, answered inbound and connected outbound queue_ref/channel_refnarrow it to one queue or line.Agents: per agent, over lifecycle events in the window —
answered,transfersReceived,declined,missed(rang out),outbound,outboundConnected— andtalkSeconds/avgTalkSecondsfor calls that ended in the window, credited to the agent the call ended with. Alsoname,role, currentavailability(nullfor a deleted agent, who is listed only if they have activity).Live: right now. Per queue:
waiting(calls not yet answered, IVR not included),longestWaitSeconds,onCall, and its members byagents: { available, onCall, offline }.liveCallsandinIvrare for the whole tenant.