Ringover Calls API
Manage your Ringover call history. Retrieve terminated and current calls, apply filters (by date, type, tags, users, IVRs…), archive calls, and access survey results. **Permissions required:** - **Read** (`Calls R`): List and retrieve calls, get current calls, get survey answers. - **Write** (`Calls W`): Archive calls, initiate callbacks, control live calls (mute, hold, transfer, hangup, record, DTMF). **Monitoring impact — Read operations (listing):** > **Important:** Call listing routes (`GET /calls`, `POST /calls`, `GET /calls/{callId}`) always return **all team calls** regardless of the Monitoring flag. The Monitoring setting is not applied to call listing — these routes behave identically whether Monitoring is ON or OFF. **Monitoring impact — Write operations:** - *OFF*: Archive operations apply only to **your own calls**. Live call controls (`/channels/*/events/*`) and call recording access are **blocked** (`401`). - *ON*: Archive operations can target **any team call**. Live call controls and call recording access are unlocked. **Limitations:** - Date range is limited to **15 days** maximum per request. - `limit_count` maximum is **1000**, `limit_offset` maximum is **9000**. - Multiple items in the call list may share the same `call_id` (occurs with transfers or IVR routing). **Summary and transcription:** `summary` is the Ringover summary stored for the call (plain text). `transcription` is the call transcription (speeches and words). These are not Empower recaps. Download URLs are never returned. A field is in one of three states: - **omitted** — not requested - **`null`** — requested, and the call has no summary or transcription row - **object** — the row exists. If the file cannot be downloaded, the HTTP status stays `200` and the object sets `error.code` (`unavailable` when the download fails, `error` or `invalid` when the provider status is not usable). `summary.text` is then `null`. Where they are included: - `GET /calls` and `POST /calls` — only when the query parameter `expand` is `summary` and/or `transcription`. Repeat it to ask for both (`expand=summary&expand=transcription`). Each value downloads a file and adds latency. `contact` is always returned and is not an `expand` value. - `GET /calls/{callId}` — `summary`, `transcription` and `contact` are included on every log. There is no `expand` parameter. - MCP `calls.search` and `calls.get` — only the values passed in `expand` (`summary`, `transcription`, `contact`). Nothing is included by default, including `contact`.