Same contract as /statistics/cis/outgoing/sessions, served from ClickHouse (a two-step read: the page from the company-keyed cis_call_by_company rollup, the late columns from cis_call_aggregated by that page's call ids) instead of Postgres. Since 2026-07-30 the dialog (messages/messagesAsString, from the CallFinished event) and the per-segment durations and main/ai/robot/transfer cost decomposition (from CallUpdated.partsAgg) are served for real, together with the authoritative totalCost, the macCallCost/labelCallCost and the AMD costs. A call with no conversation (NOANSWER/BUSY/CONGESTION) returns null for the dialog, and so does a call that has been depersonalized (depersonalized = 1) — the source deletes its replies, so the copy stops serving them too. Dialog data only exists from 2026-07-16 (the raw layer's retention horizon). Still returned as the literal '0', exactly as in the legacy endpoint: mainCallDiscount, robotCallDiscount, transferCallDiscount and the autoCall* family — there is no source for them. When both from and to are set, the date window must not exceed the server cap (CIS_SESSIONS_MAX_WINDOW_DAYS, default 31 days); a wider window returns 400. Note on status and duration: both are DISPLAYED from the freshest data, while the row SELECTION and the duration sort still run on the company-keyed rollup, which lags for ~1.4-2.2% of calls (the final status and duration arrive in a Kafka block that carries no companyId and is therefore dropped there). A row may consequently be shown with a status it was not selected by — including OUTGOING_EXPIRED, which this endpoint otherwise excludes — and a sort=-duration page may look mis-ordered by a few rows. Displayed values are the correct ones.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Invalid input parameters
401User is not authenticated
403Invalid user permissions
