---
title: "List current (live) calls"
method: POST
path: "/calls/current"
tags: ["calls"]
---

# List current (live) calls

`POST /calls/current`

Retrieve the currently active (in-progress) calls. This endpoint uses POST to accept optional filter criteria in the request body. Live calls include ringing, answered, and on-hold calls. The response is a snapshot — it reflects the state at the exact moment of the request.

Visibility depends on your role: a **standard user** receives only their **own** current calls, while a user with **supervisor or admin** rights receives the **whole team's** current calls.

> Note: send the request with the `Content-Type: application/json` header (even when the body is an empty `{}`), otherwise it is rejected with `415 Unsupported Media Type`.

**Permission:** `Calls Read` required.

**Monitoring:** No impact — visibility is derived from your role (see above), not from the Monitoring flag.

## Request body

- CurrentCallsFilter
  - `status` string[], nullable
  - `interface` string[], nullable
  - `direction` 'IN' | 'OUT', nullable
  - `advanced` object, nullable — Only used with advanced filter. Offer the possibility of filtering for specific IVR(s) or Group(s)/User(s).
    - `ivrs` IvrFilter[], nullable — Cannot be combined with groups/user filters. Used to filter calls for specific IVR(s).
      - `ivr_id` integer — The identifier of the ivr
      - `numbers` integer[], nullable
      - `scenarios` integer[], nullable — The identifier of the scenario
    - `groups` integer[], nullable — Cannot be combined with ivr filters. Used to filter calls for specific Group(s).
    - `users` integer[], nullable — Cannot be combined with ivrs filters. Used to filter calls for specific User(s).
  - `limit_count` integer, nullable — Used to create a pagination cursor
  - `limit_offset` integer, nullable — Used to create a pagination cursor

## Response `200`

Successful operation

- CurrentCallsList
  - `user_id` integer — The identifier of the user
  - `team_id` integer — The identifier of the team
  - `limit_offset_setted` integer
  - `limit_count_setted` integer
  - `total_current_calls_count` integer
  - `current_calls_list_count` integer
  - `current_calls_list` CurrentCall[]
    - `call_id` string — The identifier of the call
    - `type` string — The type of the call
    - `direction` 'IN' | 'OUT'
    - `user_id` integer — The identifier of the user
    - `ivr_id` integer — The identifier of the ivr
    - `from_number` string — Unknown displays when someone uses a masked number.
    - `to_number` string
    - `interface` 'WEBRTC' | 'SIP' | 'MOBILE' | 'APP', nullable
    - `status` 'ANSWERED' | 'RINGING', nullable
    - `recording` boolean
    - `mute` boolean
    - `hold` boolean
    - `channel_id` string — UUID
    - `creation_date` string, date-time

## Other responses

- `204` — No current calls
- `400` — Invalid JSON body
- `401` — Unauthorized — invalid API key or missing `Calls Read` permission
- `415` — Unsupported Media Type — send the `Content-Type: application/json` header (even with an empty `{}` body)
- `500` — Internal server error

---

[API](https://skmtc.net/ringover/apis/ringover-public-api.md) · [All operations](https://skmtc.net/ringover/apis/ringover-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ringover/ringover-public-api/revisions/9da73dd2f99e/schema)
