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`.

Business capability
Voice & Telephony AE-150.50

Operations 9

GET /calls List terminated calls #
POST /calls List terminated calls with advanced filters #
GET /calls/{callId} Get a specific call by ID #
DELETE /calls/{callId} Archive a call by call ID #
GET /calls/{callId}/channels/{channelId} Get call recording for a specific channel #
DELETE /calls/{callId}/channels/{channelId} Archive a specific call channel #
GET /calls/{callId}/surveys Get survey answers for a call #
POST /calls/current List current (live) calls #
DELETE /log Archive call logs #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ringover:ringover-calls-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ringover-calls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  license:
    name: Proprietary – Contact us for usage terms
    url: https://www.ringover.com/contact
  description: '# Ringover Public API


    Welcome to the Ringover Public API. This RESTful API lets you integrate Ringover telephony, messaging, contacts, and AI analytics into your applications. ## Base URL


    | Region | Base URL |

    |--------|----------|

    | Europe | `https://public-api.ringover.com/v2` |

    | United States | `https://public-api-us.ringover.com/v2` |


    ## Authentication


    All requests must include your API key in the `Authorization` header:


    ```

    Authorization: your-api-key-here

    ```


    To create an API key:

    1. Open the Ringover Dashboard. 2. Navigate to **Developer > API Keys**. 3. Click **Create an API key**, select a user, and set a label. 4. Configure the permissions for this key (see Permissions below). ## Permissions


    Each API key is associated with **7 permission categories**, each configurable as **None**, **Read**, **Write**, or **Read+Write**:


    | Category | Controls access to |

    |----------|-------------------|

    | **Calls** | Call history, archives, live call controls, callbacks |

    | **Contacts** | Contact CRUD and phone number management |

    | **Users** | User listing, plannings, presences, groups, user blacklists |

    | **Numbers** | Phone number listing, team blacklist |

    | **IVRs** | IVR/scenario listing, tag management |

    | **Conversations** | SMS/Chat conversations, messages, SMS sending |

    | **Empower** | AI call analysis, summaries, moments, analytics |


    ### The Monitoring flag (Supervision)


    In addition to R/W permissions, each API key has a **Monitoring** toggle that controls the **scope** of data returned:


    | Monitoring | Effect |

    |------------|--------|

    | **OFF** | Your permissions give access to **your own data only** (your calls, your numbers, your conversations…) |

    | **ON** | Your permissions give access to **the entire team''s data** (all users, all calls, all conversations…) |


    Monitoring does **not** grant additional permissions — it widens the scope of existing ones. Some routes **require** Monitoring to be enabled and will return `401` without it. Conversely, some routes may ignore the Monitoring flag entirely or apply it differently — unless stated otherwise in the endpoint documentation, the default behavior described above applies. > Each endpoint in this documentation specifies its exact permission and monitoring requirements. ### Special cases


    - **Campaigns, Tasks, WhatsApp**: These routes do not require specific token permissions. A valid API key is sufficient. - **Empower**: Uses its own role system (Admin / Supervisor / User) in addition to the Empower R/W permission. - **Transcriptions**: Access is controlled by a team-level setting, not by the token permissions. - **Conferences**: All conference routes require Monitoring enabled. ## Rate Limiting


    A **2-request-per-second** rate limit is applied per API key. Exceeding this limit returns `429 Too Many Requests`. ## Pagination


    List endpoints support offset-based pagination with two parameters:

    - `limit_count`: Maximum number of items to return (default: 100, max varies by endpoint). - `limit_offset`: Number of items to skip (default: 0). Some call-related endpoints also support cursor-based pagination via `last_id_returned`. ## Error Responses


    | HTTP Code | Meaning |

    |-----------|---------|

    | `400` | Bad request — invalid parameters or body |

    | `401` | Unauthorized — invalid/expired API key, or access denied by permission/monitoring checks on most endpoints |

    | `403` | Forbidden — authenticated request refused by specific endpoint logic (notably some Empower routes) or upstream forwarded services |

    | `402` | Payment required — feature not available on your plan |

    | `404` | Resource not found |

    | `429` | Rate limit exceeded |

    | `500` | Internal server error |


    ## SCIM 2.0 Provisioning


    Ringover exposes a **SCIM 2.0** server (RFC 7643 / RFC 7644) for automated user and group provisioning from your identity provider (Okta, Microsoft Entra ID, …). It reuses the **same API key** as the REST API (`Authorization` header).'
  version: 2.1.0
  title: Ringover Public Calls API
  x-logo:
    url: https://webcdn.ringover.com/app/img/misc/logo_app_redoc.png
    backgroundColor: '#FAFAFA'
    altText: Ringover Logo
  termsOfService: https://ringover.com/terms/
  contact:
    email: support@ringover.com
servers:
- url: https://public-api.ringover.com/v2
  description: Production server (Europe)
- url: https://public-api-us.ringover.com/v2
  description: Production server (United States)
security:
- Authorization: []
tags:


# --- truncated at 32 KB (58 KB total) ---
# Full source: https://artifacts.apis.io/ringover/openapi/ringover-calls-api-openapi.yml