---
title: "Supervise Call Session"
method: POST
path: "/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/supervise"
tags: ["Call Control"]
---

# Supervise Call Session

`POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/supervise`

## Request

- Base URL: `https://platform.ringcentral.com`
- URL: `https://platform.ringcentral.com/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/supervise`
- Auth: OAuth 2
  - Authorization code: `https://platform.ringcentral.com/restapi/oauth/authorize`
  - Token URL: `https://platform.ringcentral.com/restapi/oauth/token`
- TypeScript: <https://skmtc.dev/ringcentral/apis/ringcentral-api/docs/restapi/v1.0/account/:accountId/telephony/sessions/:telephonySessionId/supervise/post.ts> (a function with typed inputs; its response is checked against the schema)

Allows monitoring a call session in 'Listen' mode. Input parameters should contain internal identifiers of a monitored user and a supervisor's device. Call session should be specified in path. Please note that this method supports single channel audio flow, which means that audio of both call participants is mixed and delivered to the supervisor in single audio channel. Currently this method is supported for Softphone/Hardphone only, since device IDs for WebRTC/Mobile apps cannot be obtained.

## Path parameters

- `accountId` string, required
- `telephonySessionId` string, required

## Request body

- SuperviseCallSessionRequest
  - `mode` 'Listen', required: Supervising mode
  - `supervisorDeviceId` string, required: Internal identifier of a supervisor's device which will be used for call session monitoring
  - `agentExtensionId` string: Extension identifier of the user that will be monitored
  - `autoAnswer` boolean: Specifies if auto-answer SIP header should be sent. If auto-answer is set to `true`, the call is automatically answered by the supervising party, if set to `false` - then the supervising party has to accept or decline the monitored call
  - `mediaSDP` 'sendOnly' | 'sendRecv': Specifies session description protocol setting

## Response `201`

Created

- SuperviseCallSessionResponse
  - `from` PartyInfo
    - `phoneNumber` string: Phone number of a party
    - `name` string: Displayed name of a party
    - `deviceId` string: Internal identifier of a device
    - `extensionId` string: Internal identifier of an extension
  - `to` PartyInfo
    - `phoneNumber` string: Phone number of a party
    - `name` string: Displayed name of a party
    - `deviceId` string: Internal identifier of a device
    - `extensionId` string: Internal identifier of an extension
  - `direction` 'Outbound' | 'Inbound': Direction of a call
  - `id` string: Internal identifier of a party that monitors a call
  - `accountId` string: Internal identifier of an account that monitors a call
  - `extensionId` string: Internal identifier of an extension that monitors a call
  - `muted` boolean: Specifies if a call participant is muted or not. **Note:** If a call is also controlled via Hard phone or RingCentral App (not only through the API by calling call control methods) then it cannot be fully muted/unmuted via API only, in this case the action should be duplicated via Hard phone/RC App interfaces
  - `owner` OwnerInfo: Deprecated. Information on a call owner
    - `accountId` string: Internal identifier of an account that monitors a call
    - `extensionId` string: Internal identifier of an extension that monitors a call
  - `standAlone` boolean: If `true` then the party is not connected to a session voice conference, `false` means the party is connected to other parties in a session
  - `status` CallStatusInfo: Status data of a call session
    - `code` 'Setup' | 'Proceeding' | 'Answered' | 'Disconnected' | 'Gone' | 'Parked' | 'Hold' | 'VoiceMail' | 'FaxReceive' | 'Tds' | 'VoiceMailScreening': Status code of a call
    - `peerId` PeerInfo: Peer session/party details. Valid in 'Gone' state of a call
      - `sessionId` string
      - `telephonySessionId` string
      - `partyId` string
    - `reason` 'Pickup' | 'Supervising' | 'TakeOver' | 'Timeout' | 'BlindTransfer' | 'RccTransfer' | 'AttendedTransfer' | 'CallerInputRedirect' | 'CallFlip' | 'ParkLocation' | 'DtmfTransfer' | 'AgentAnswered' | 'AgentDropped' | 'Rejected' | 'Cancelled' | 'InternalError' | 'NoAnswer' | 'TargetBusy' | 'InvalidNumber' | 'InternationalDisabled' | 'DestinationBlocked' | 'NotEnoughFunds' | 'NoSuchUser' | 'CallPark' | 'CallRedirected' | 'CallReplied' | 'CallSwitch' | 'CallFinished' | 'CallDropped': Reason for call termination. For 'Disconnected' code only
    - `description` string: Optional message

## Other responses

- `400`: General response with **HTTP 400 "Bad request"** status.<br> Reasons: unparsable request, path, query or body parameters are invalid. The error description may contain reference to particular parameter(s) which haven't passed the validation.
- `403`: General response with **HTTP 403 "Forbidden"** status.<br> Reasons: the requested operation is forbidden because of certain resource state, lack of permissions, feature unavailability, etc.
- `404`: General response with **HTTP 404 "Not found"** status.<br> Reasons: the entity with given ID (typically specified in a path parameter), is not found or inaccessible
- `409`: General response with **HTTP 409 "Conflict"** status.<br> Reasons: the requested modification operation causes a conflict (for example, unique constraint violation). The error definition may contain reference to particular parameter(s) which caused the conflict.
- `500`: General response with **HTTP 500 "Internal Server Error"** status.<br> Reasons: general server-side error.
- `503`: General response with **HTTP 503 "Service not available"** status.<br> Reasons: server cannot process the request because of being overloaded, misconfiguration or other issues.

---

[API](https://skmtc.dev/ringcentral/apis/ringcentral-api.md) - [All operations](https://skmtc.dev/ringcentral/apis/ringcentral-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ringcentral/apis/ringcentral-api/revisions/8d602198ec97?raw)
