Skip to main content

Call reporting

Query call reports (v2 manager API). Available as mgr.calls.reporting (TypeScript) / mgr.Calls.Reporting (Go) / mgr.calls.reporting (Rust). Three reports, all auto-paginated:

  • Detailedlist — rich per-call records (Call).
  • Simplesimple — condensed records across all report types (ReportingCall).
  • Inbound simpleinboundSimple — the inbound-only variant of the simple report.

Detailed report (auto-paginated)

for await (const call of mgr.calls.reporting.list({ "time.start": 1700000000, "time.end": 1700600000 })) {
console.log(call.id);
}
const all = await mgr.calls.reporting.listAll({ agentId: "…" });

Simple report

// All report types:
const simple = await mgr.calls.reporting.simpleAll({ queueName: "support" });

Inbound-only simple report

A dedicated inbound variant of the simple report (auto-paginated).

const inbound = await mgr.calls.reporting.inboundSimpleAll();

Filtering

The reporting endpoints expose a large filter set (time ranges, numbers, agent, queue, state, duration buckets, …). Rather than re-declaring every field, the SDK accepts the generated filter surface directly:

  • TypeScript — the query object is the generated query type (e.g. time.start, agentId, filters.* variants) minus the page / max paging controls; pass pageSize for the page size. The auto-paginator drives page.
  • Go — pass the generated managerapi.List*Params struct (every filter is an optional pointer field). Leave Page unset — it is managed by the iterator.
  • Rust — the *_all() collectors auto-paginate the full report; per-field filters land with the typed-query follow-up.

Reference