RingCentral Call Control API
The Call Control API from RingCentral — 21 operation(s) for call control.
The Call Control API from RingCentral — 21 operation(s) for call control.
openapi: 3.0.3
info:
title: RingCentral Adaptive Cards Call Control API
description: RingCentral API specification
version: 1.0.58-20240529-47eda8bd
contact:
name: RingCentral Developers Support
url: https://developers.ringcentral.com/support
termsOfService: https://www.ringcentral.com/legal/apilitos.html
license:
name: RingCentral API License Agreement
url: https://www.ringcentral.com/legal/apilitos.html
servers:
- url: https://platform.ringcentral.com
description: Production API entry point
- url: https://media.ringcentral.com
description: Production Media entry point
- url: https://platform.devtest.ringcentral.com
description: Developer sandbox API entry point
- url: https://platform.devtest.ringcentral.com
description: Developer sandbox Media entry point
security:
- OAuth2: []
tags:
- name: Call Control
paths:
/restapi/v1.0/account/{accountId}/telephony/call-out:
post:
tags:
- Call Control
summary: Make CallOut
description: Creates a new outbound call out session. Currently this method is supported for Softphone/Hardphone only, since device IDs for WebRTC/Mobile apps cannot be obtained.
operationId: createCallOutCallSession
parameters:
- $ref: '#/components/parameters/AccountId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/MakeCallOutRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CallSession'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Heavy
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/conference:
post:
tags:
- Call Control
summary: Start Conference Call Session
description: Initiates a conference call session.
operationId: createConferenceCallSession
parameters:
- $ref: '#/components/parameters/AccountId'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CallSession'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Heavy
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}:
get:
tags:
- Call Control
summary: Get Call Session Status
description: Returns the status of a call session by ID.
operationId: readCallSessionStatus
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- name: timestamp
in: query
description: The date and time of a call session latest change
schema:
type: string
- name: timeout
in: query
description: 'The time frame of awaiting for a status change before sending
the resulting one in response
'
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CallSessionObject'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
x-notifications:
- $ref: '#/components/schemas/AccountTelephonySessionsEvent'
- $ref: '#/components/schemas/ExtensionTelephonySessionsEvent'
delete:
tags:
- Call Control
summary: Drop Call Session
description: Drops a call session.
operationId: deleteCallSession
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
responses:
'204':
description: No Content
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/bring-in:
post:
tags:
- Call Control
summary: Bring-In Call Party
description: 'Adds a new party to the call session by bringing in an established
SIP call connection. The maximum number of parties to bring in is 10; only
1 call party can be added per request. Currently, the method is supported for
sessions of the `Conference` origin only.
'
operationId: createCallPartyWithBringIn
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/AddPartyRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}:
get:
tags:
- Call Control
summary: Get Call Party Status
description: Returns a call party status by ID.
operationId: readCallPartyStatus
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
delete:
tags:
- Call Control
summary: Delete Call Party
description: Deletes a party from a call session by ID. A party can be deleted only if supervised or parked. It is possible to delete only one conference participant per request.
operationId: deleteCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
responses:
'204':
description: No Content
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
patch:
tags:
- Call Control
summary: Update Call Party
description: Modifies a call party by ID. There is a known limitation for Mute scenario - mute via REST API doesn't work with mute placed via RingCentral apps or HardPhone. It means that if you muted participant via Call Control API and RingCentral Desktop app you need to unmute both endpoints to bring the media back.
operationId: updateCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/PartyUpdateRequest'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/unhold:
post:
tags:
- Call Control
summary: Un-hold Call Party
description: Brings a party back into a call and stops to play Hold Music. There is a known limitation for Hold API - hold via REST API doesn't work with hold placed via RingCentral apps or HardPhone. It means that if you muted participant via Call Control API and RingCentral Desktop app, then you need to un-hold both endpoints to remove Hold Music and bring media back.
operationId: unholdCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/park:
post:
tags:
- Call Control
summary: Call Park
description: Parks a call to a virtual location from where it can further be retrieved by any user from any phone of the system. The call session and call party identifiers should be specified in path. Currently, the users can park only their own incoming calls. Up to 50 calls can be parked simultaneously. Park location starts with asterisk (*) and ranges 801-899.
operationId: callParkParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/flip:
post:
tags:
- Call Control
summary: Call Flip on Party
description: Performs call flip procedure by holding opposite party and calling to the specified target
operationId: callFlipParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/CallPartyFlip'
required: true
responses:
'200':
description: Success
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/reply:
post:
tags:
- Call Control
summary: Reply with Text
description: Replies with text/pattern without picking up a call.
operationId: replyParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/CallPartyReply'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ReplyParty'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/bridge:
post:
tags:
- Call Control
summary: Bridge Call Party
description: 'Allows the user to connect multiple call session participants over a conference call bridge.
The current active call session ID and party ID of the user within this session should be specified
in path; the bridged call session ID and party ID of the user within that session should be specified
in request body. Thus, the user connects participants of two sessions into the one conference call
using his/her own party IDs from both sessions."
'
operationId: bridgeCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: Defines target call session and call party to be bridged
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeTargetRequest'
required: true
responses:
'200':
description: Bridged Call Info
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/ignore:
post:
tags:
- Call Control
summary: Ignore Call in Queue
description: Ignores a call to a call queue agent in `Setup` or `Proceeding` state.
operationId: ignoreCallInQueue
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/IgnoreRequestBody'
required: true
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/supervise:
post:
tags:
- Call Control
summary: Supervise Call Party
description: 'Allows to monitor a call party in ''Listen'' mode. Input parameters
are extension number of a monitored user and internal identifier of a supervisor''s
device. Call session and party identifiers should be specified in path. Please
note that for this method dual channel audio flow is supported, which means
that you need to make one more request for monitoring the second participant
of a call. And as a result of each monitoring request the client receives
SIP invite with the following header `p-rc-api-monitoring-ids` containing
IDs of the monitored party and session. The flow is supported for calls with
no more than 2 participants. Currently, this method is supported for Softphone/Hardphone devices
only, since device IDs for WebRTC/Mobile apps cannot be obtained.
'
operationId: superviseCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PartySuperviseRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/PartySuperviseResponse'
'400':
$ref: '#/components/responses/InvalidRequest'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/reject:
post:
tags:
- Call Control
summary: Reject Call Party
description: Rejects an inbound call in a "Setup" or "Proceeding" state
operationId: rejectParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/recordings:
post:
tags:
- Call Control
summary: Create Recording
description: Starts a new call recording for the party
operationId: startCallRecording
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
responses:
'201':
description: Created
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/recordings/{recordingId}:
patch:
tags:
- Call Control
summary: Pause/Resume Recording
description: Pause/resume recording
operationId: pauseResumeCallRecording
parameters:
- name: brandId
in: query
description: Identifies a brand of a logged-in user or a brand of a sign-up session
required: true
schema:
type: string
default: '~'
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
- name: recordingId
in: path
description: Internal identifier of a recording
required: true
schema:
type: string
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/CallRecordingUpdate'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CallRecording'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/answer:
post:
tags:
- Call Control
summary: Answer Call Party
description: Answers a call on a certain device by passing the corresponding device ID in request body. Supported for call forwarding, call transfer, call flip and call queues.
operationId: answerCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: Distributes a non-answered call to the defined target. Only a single target is allowed
content:
application/json:
schema:
$ref: '#/components/schemas/AnswerTarget'
required: true
responses:
'200':
description: Call Session Information
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/transfer:
post:
tags:
- Call Control
summary: Transfer Call Party
description: Transfers an answered call to the specified call party. Applicable for a call session in "Answered" or "Hold" state.
operationId: transferCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: Specifies a call party to which the call will be transferred. Only a single call party is allowed.
content:
application/json:
schema:
$ref: '#/components/schemas/TransferTarget'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/hold:
post:
tags:
- Call Control
summary: Hold Call Party
description: Puts the party to stand-alone mode and starts to play Hold Music according to configuration & state to peers. There is a known limitation for Hold API - hold via REST API doesn't work with hold placed via RingCentral apps or HardPhone. It means that if you muted participant via Call Control API and RingCentral Desktop app, then you need to un-hold both endpoints to remove Hold Music and bring media back.
operationId: holdCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/HoldCallPartyRequest'
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/pickup:
post:
tags:
- Call Control
summary: Pickup Call
description: Picks up a call parked to the specified park location.
operationId: pickupCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: Distributes a non-answered call to the defined target. Only a single target is allowed
content:
application/json:
schema:
$ref: '#/components/schemas/PickupTarget'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CallParty'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/forward:
post:
tags:
- Call Control
summary: Forward Call Party
description: Forwards a non-answered incoming call to the specified call party. Applicable for a call session in "Setup" or "Proceeding" state.
operationId: forwardCallParty
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
- $ref: '#/components/parameters/TelephonySessionPartyId'
requestBody:
description: Specifies a call party to which the call will be forwarded. Only a single call party is allowed.
content:
application/json:
schema:
$ref: '#/components/schemas/ForwardTarget'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ForwardCallPartyResponse'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Light
x-app-permission: CallControl
/restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/supervise:
post:
tags:
- Call Control
summary: Supervise Call Session
description: 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.
operationId: superviseCallSession
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/TelephonySessionId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/compo
# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ringcentral/refs/heads/main/openapi/ringcentral-call-control-api-openapi.yml