RingCentral Bridge Management API
The Bridge Management API from RingCentral — 5 operation(s) for bridge management.
The Bridge Management API from RingCentral — 5 operation(s) for bridge management.
openapi: 3.0.3
info:
title: RingCentral Adaptive Cards Bridge Management 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: Bridge Management
paths:
/rcvideo/v2/account/{accountId}/extension/{extensionId}/bridges:
post:
tags:
- Bridge Management
summary: Create Bridge
description: 'Creates a new bridge for the user specified by **accountId** and **extensionId** identifiers. The request body
should contain JSON object which describes properties of the new bridge.
The bridge can be created by a user himself, his delegate or any user who has the **Super Admin** privilege.
'
operationId: createBridge
parameters:
- name: accountId
in: path
description: Account identifier
required: true
schema:
type: string
- name: extensionId
in: path
description: Extension identifier
required: true
schema:
type: string
requestBody:
description: JSON object that describes properties of the new bridge
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBridgeRequest'
required: false
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeResponse'
'406':
description: Not acceptable
'409':
description: Conflicting settings
'500':
description: Internal server error
x-throttling-group: Heavy
x-websocket: true
x-app-permission: Video
/rcvideo/v2/account/{accountId}/extension/{extensionId}/bridges/default:
get:
tags:
- Bridge Management
summary: Get User's Default Bridge
description: 'Returns a default bridge (PMI) for the user specified by **accountId**
and **extensionId** identifiers.
'
operationId: getDefaultBridge
parameters:
- name: accountId
in: path
description: Account identifier
required: true
schema:
type: string
- name: extensionId
in: path
description: Extension identifier
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeResponse'
'404':
description: Not found
'500':
description: Internal server error
x-throttling-group: Medium
x-websocket: true
x-app-permission: Video
/rcvideo/v2/bridges/pin/pstn/{pin}:
get:
tags:
- Bridge Management
summary: Search Bridge by PSTN PIN
description: Finds a bridge by Host or Participant PSTN PIN.
operationId: getBridgeByPstnPin
parameters:
- name: pin
in: path
description: Host or Participant PSTN PIN
required: true
schema:
type: string
- name: phoneNumber
in: query
description: 'Phone number to find a phone group for PSTN PIN. If it is not specified, then the default phone group will be used.
'
schema:
type: string
- name: pw
in: query
required: false
schema:
type: string
description: Bridge hash password
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeResponse'
'404':
description: Not found
'500':
description: Internal server error
x-throttling-group: Medium
x-websocket: true
x-app-permission: Video
/rcvideo/v2/bridges/pin/web/{pin}:
get:
tags:
- Bridge Management
summary: Search Bridge by Web PIN
description: 'Finds a bridge by short identifier (Web PIN). Also it can be used to find a default bridge by the alias
(personal meeting name).
'
operationId: getBridgeByWebPin
parameters:
- name: pin
in: path
description: Bridge short identifier (Web PIN) or alias (personal meeting name)
required: true
schema:
type: string
- name: pw
in: query
required: false
schema:
type: string
description: Bridge hash password
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeResponse'
'404':
description: Not found
'500':
description: Internal server error
x-throttling-group: Medium
x-websocket: true
x-app-permission: Video
/rcvideo/v2/bridges/{bridgeId}:
get:
tags:
- Bridge Management
summary: Get Bridge
description: Returns a bridge by **bridgeId** identifier.
operationId: getBridge
parameters:
- name: bridgeId
in: path
description: Bridge identifier
required: true
schema:
type: string
- name: pw
in: query
required: false
schema:
type: string
description: Bridge hash password
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeResponse'
'404':
description: Not found
'500':
description: Internal server error
x-throttling-group: Medium
x-websocket: true
x-app-permission: Video
patch:
tags:
- Bridge Management
summary: Update Bridge
description: 'Updates a bridge by **bridgeId** identifier. The request body should contain JSON object with updating properties.
Update can only be done by bridge owner, his delegate or any user who has the **Super Admin** privilege.
'
operationId: updateBridge
parameters:
- name: bridgeId
in: path
description: Bridge identifier
required: true
schema:
type: string
requestBody:
description: JSON object with updating properties. Only specified properties will be updated.
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBridgeRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeResponse'
'403':
description: Access denied
'404':
description: Not found
'406':
description: Not acceptable
'409':
description: Conflicting settings
'500':
description: Internal server error
x-throttling-group: Medium
x-websocket: true
x-app-permission: Video
delete:
tags:
- Bridge Management
summary: Delete Bridge
description: 'Deletes a bridge by **bridgeId** identifier.
Deletion can only be done by bridge owner, his delegate or any user who has the **Super Admin** privilege.
'
operationId: deleteBridge
parameters:
- name: bridgeId
in: path
description: Bridge identifier
required: true
schema:
type: string
responses:
'204':
description: OK
'403':
description: Access denied
'404':
description: Not found
'500':
description: Internal server error
x-throttling-group: Medium
x-websocket: true
x-app-permission: Video
components:
schemas:
BridgePinsWithAliases:
type: object
properties:
pstn:
$ref: '#/components/schemas/BridgePstnPins'
web:
$ref: '#/components/schemas/WebPin'
aliases:
type: array
description: 'List of bridge aliases. An alias is a unique personal meeting name that can be specified for the default bridge.
It can be used to join to a meeting in the same way as the short identifier.
'
example:
- joseph1990
- qa_team_2_lead
items:
type: string
AutoShared:
type: object
description: Controls whether recording can be auto shared
properties:
enabled:
type: boolean
description: Controls whether preference is enabled
example: true
locked:
type: boolean
description: Describes whether preference is locked on Service Web
example: false
BridgePreferences:
type: object
properties:
join:
$ref: '#/components/schemas/BridgeJoinPreferences'
playTones:
type: string
description: 'Specifies enter and exit tones mode.
1) On - Enter and exit tones switched on.
2) Off - Enter and exit tones switched off.
3) ExitOnly - Only exit tones switched on.
4) EnterOnly - Only enter tones switched on.
'
default: 'Off'
enum:
- 'On'
- 'Off'
- ExitOnly
- EnterOnly
musicOnHold:
type: boolean
description: Specifies whether to play music on hold when alone
default: true
joinBeforeHost:
type: boolean
description: 'Specifies if participants can join to a meeting before host.
Default value depends on the bridge type:
- default bridge (PMI) -> false
- other types -> true
'
example: true
screenSharing:
type: boolean
description: Specifies if screen sharing is allowed
default: true
recordingsMode:
type: string
enum:
- Auto
- ForceAuto
- User
example: User
description: Controls whether recordings are enabled automatically or by user decision
transcriptionsMode:
type: string
enum:
- Auto
- ForceAuto
- User
example: User
description: Controls whether transcriptions are enabled automatically or by user decision
recordings:
$ref: '#/components/schemas/RecordingsPreferences'
allowEveryoneTranscribeMeetings:
type: boolean
default: true
description: Controls whether participants can start and pause transcription
RecordingsPreferences:
type: object
description: Recordings preferences
properties:
everyoneCanControl:
$ref: '#/components/schemas/EveryoneCanControl'
autoShared:
$ref: '#/components/schemas/AutoShared'
BridgeDiscovery:
type: object
properties:
web:
type: string
description: 'URI that can be used to join to the meeting.
It contains password parameter only if the request was done by bridge owner, his delegate or any user who has
the Super Admin privilege.
'
example: https://v.ringcentral.com/join/018209241352?pw=99e4f8e6a241fc71279449a9c8f46eef
BridgeResponseSecurity:
type: object
properties:
passwordProtected:
type: boolean
description: Specifies if a meeting is password protected.
password:
$ref: '#/components/schemas/BridgeResponseSecurityPassword'
noGuests:
type: boolean
description: If true, only authenticated users can join to a meeting.
example: false
sameAccount:
type: boolean
description: If true, only users have the same account can join to a meeting.
example: false
e2ee:
type: boolean
description: If true, end to end encryption will be enabled for a meeting.
default: false
BridgeJoinPstnPreferences:
type: object
properties:
promptAnnouncement:
type: boolean
description: Specifies whether to play 'Announce yourself' prompt
default: true
promptParticipants:
type: boolean
description: Specifies whether to play 'There are X participants' prompt
default: true
BridgePinsWithoutPstn:
type: object
properties:
web:
$ref: '#/components/schemas/WebPin'
BridgeRequestSecurity:
type: object
properties:
passwordProtected:
type: boolean
description: 'Specifies if a meeting is password protected.
By default, Instant and Scheduled bridges are not password protected. For default (PMI) bridge, password
protection will be turned on and the password will be generated if it is not specified while creation.
While creation to set password protection you should set this field to true and specify a password in the
**password** field. If you want to change password or set password protection for an unprotected bridge,
you should set this field to true and specify a password in the **password** field in the update operation.
To make protected bridge as unprotected you should set this field to false in the update operation.
'
example: true
password:
type: string
description: 'Specifies a password if bridge meetings should be password protected (passwordProtected field is true).
Besides that, if the field is specified in the request but **passwordProtected** field is missing then
it means that **passwordProtected** field is set to true.
'
example: Wq123ygs15
noGuests:
type: boolean
description: If true, only authenticated users can join to a meeting.
default: false
sameAccount:
type: boolean
description: If true, only users have the same account can join to a meeting.
default: false
e2ee:
type: boolean
description: If true, end to end encryption will be enabled for a meeting.
default: false
BridgeResponseSecurityPassword:
type: object
properties:
plainText:
type: string
description: 'Meeting password.
This field will be returned only if the request was done by bridge owner, his delegate or any user who has
the Super Admin privilege.
'
example: Wq123ygs15
pstn:
type: string
description: 'Meeting password for PSTN users.
This field will be returned only if the request was done by bridge owner, his delegate or any user who has
the Super Admin privilege.
'
example: '7492486829'
joinQuery:
type: string
description: 'Meeting password hash.
This field will be returned only if the request was done by bridge owner, his delegate or any user who has
the Super Admin privilege.
'
example: 99e4f8e6a241fc71279449a9c8f46eef
WebPin:
type: string
description: 'Bridge short identifier (Web PIN). The digital unique code which is used to join to a meeting. If it is not specified
while creation, then a code will be generated. If it is a default bridge, then this code is
Personal Meeting Identifier (PMI).
NOTE: Changing this PIN via update method is deprecated. So to change Web PIN use the method:
_*[PATCH] /rcvideo/v2/bridges/{bridgeId}/pin/web*_
'
example: 018209241352
EveryoneCanControl:
type: object
description: Controls whether participants can start and pause recording
properties:
enabled:
type: boolean
description: Controls whether preference is enabled
example: true
locked:
type: boolean
description: Describes whether preference is locked on Service Web
example: false
CreateBridgeRequest:
type: object
properties:
name:
type: string
description: Custom name of a bridge
example: Weekly Meeting with Joseph
type:
type: string
description: 'Type of bridge. It specifies bridge life cycle.
1) Instant - The bridge will be used for a meeting only once immediately after creation. Then it will be deleted.
2) Scheduled - The bridge will be used for scheduled one or more meetings. If the bridge is not used for a long
time after the last meeting, then it will be deleted.
3) PMI - The bridge will contain Personal Meeting Identifier owned by a user. It is the default user bridge.
Each user may have only one default (PMI) bridge. Such bridge will be deleted only in case the user is deleted
from the system.
'
default: Instant
enum:
- Instant
- Scheduled
- PMI
pins:
$ref: '#/components/schemas/BridgePins'
security:
$ref: '#/components/schemas/BridgeRequestSecurity'
preferences:
$ref: '#/components/schemas/BridgePreferences'
BridgeJoinPreferences:
type: object
properties:
audioMuted:
type: boolean
description: Specifies if audio is muted for meeting participants (in the preset after joining)
default: false
videoMuted:
type: boolean
description: Specifies if video is muted for meeting participants (in the preset after joining)
default: false
waitingRoomRequired:
type: string
description: 'Specifies rules for the waiting room before the host starts the meeting.
1) Nobody - No waiting room. Participants are not waiting for meeting start.
2) Everybody - All participants are waiting for meeting start.
3) GuestsOnly - Only unauthenticated participants (guests) are waiting for meeting start.
4) OtherAccount - Only participants who have other account are waiting for meeting start.
Default value depends on the bridge type:
- PMI -> OtherAccount
- Instant, Scheduled -> Nobody
'
example: Nobody
enum:
- Nobody
- Everybody
- GuestsOnly
- OtherAccount
pstn:
$ref: '#/components/schemas/BridgeJoinPstnPreferences'
User:
required:
- accountId
- extensionId
type: object
properties:
accountId:
type: string
description: User account identifier
example: '664287016'
extensionId:
type: string
description: User extension identifier
example: '664307016'
BridgePstnPins:
type: object
properties:
host:
type: string
description: Host PSTN PIN. If it is not specified while creation, then a PIN will be generated.
example: '432331057631'
participant:
type: string
description: Participant PSTN PIN. If it is not specified while creation, then a PIN will be generated.
example: 013409241367
UpdateBridgeRequest:
type: object
properties:
name:
type: string
description: Custom name of a bridge
example: Weekly Meeting with Joseph
pins:
$ref: '#/components/schemas/BridgePinsWithoutPstn'
security:
$ref: '#/components/schemas/BridgeRequestSecurity'
preferences:
$ref: '#/components/schemas/BridgePreferences'
BridgePins:
type: object
properties:
pstn:
$ref: '#/components/schemas/BridgePstnPins'
web:
$ref: '#/components/schemas/WebPin'
BridgeResponse:
type: object
properties:
id:
type: string
description: Unique bridge identifier
example: iad41-c04-ndb256065cf14ae6a1832389d9c2e
name:
type: string
description: Custom name of a bridge
example: Weekly Meeting with Joseph
type:
type: string
description: 'Type of bridge. It specifies bridge life cycle.
1) Instant - The bridge will be used for a meeting only once immediately after creation. Then it will be deleted.
2) Scheduled - The bridge will be used for scheduled one or more meetings. If the bridge is not used for a long
time after the last meeting, then it will be deleted.
3) PMI - The bridge will contain Personal Meeting Identifier owned by a user. It is the default user bridge.
Each user may have only one default (PMI) bridge. Such bridge will be deleted only in case the user is deleted
from the system.
'
example: Instant
enum:
- Instant
- Scheduled
- PMI
host:
$ref: '#/components/schemas/User'
pins:
$ref: '#/components/schemas/BridgePinsWithAliases'
security:
$ref: '#/components/schemas/BridgeResponseSecurity'
preferences:
$ref: '#/components/schemas/BridgePreferences'
discovery:
$ref: '#/components/schemas/BridgeDiscovery'
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://platform.ringcentral.com/restapi/oauth/authorize
tokenUrl: https://platform.ringcentral.com/restapi/oauth/token
refreshUrl: https://platform.ringcentral.com/restapi/oauth/token
scopes: {}
x-tagGroups:
- name: Voice
popular: true
tags:
- Business Hours
- Call Blocking
- Call Control
- Call Forwarding
- Call Handling Rules
- Interaction Rules
- State-based Rules
- Call Flip
- Call Log
- Call History
- Call Log Export
- Call Monitoring Groups
- Call Queues
- Call Recordings
- Call Recording Settings
- Device SIP Registration
- Greetings
- IVR
- RingOut
- Verification Calls
- name: SMS and Fax
popular: true
tags:
- Fax
- Message Exports
- Message Store
- Pager Messages
- SMS
- High Volume SMS
- SMS Log Export
- SMS Templates
- Voicemail Broadcasting
- name: Social Messaging
popular: true
tags:
- Identities
- Contents
- name: Team Messaging
popular: true
tags:
- Adaptive Cards
- Bots
- Calendar Events
- Chats
- Conversations
- Compliance Exports
- Contacts
- Incoming Webhooks
- Notes
- Posts
- Profile
- Tasks
- Teams
- name: Video
popular: true
tags:
- Bridge Management
- Delegation Management
- Meetings History
- Meeting Recordings
- RCM Meetings (Legacy)
- RCM Webinars (Legacy)
- name: Webinar
popular: true
tags:
- Webinars and Sessions
- Invitees
- Historical Webinars
- Historical Recordings
- Registration Management
- Registrants
- Webinar Analytics
- Webinar Subscriptions
- name: Analytics
popular: true
tags:
- Business Analytics
- name: Artificial Intelligence
popular: true
tags:
- Insights
- Audio
- Text
- Status
- name: Authentication
tags:
- OAuth 2.0 / OpenID Connect
- Interoperability
- name: Account
tags:
- Company
- Custom Fields
- Features
- Licenses
- Tax Locations
- Cost Centers
- Multi-Site
- Phone Numbers
- Presence
- Regional Settings
- User Permissions
- User Settings
- Audit Trail
- Calling Rates
- Appearance Customization
- Account Integrations
- name: Provisioning
tags:
- Automatic Location Updates
- Devices
- Extensions
- Paging Only Groups
- Park Locations
- Phone Lines
- SCIM
- Shared Lines
- Group Call Pickup
- Delegated Lines Groups
- Directed Call Pickup
- IVR Apps
- Video Configuration
- Number Porting
- SMB
- Account Federation
- Integrations
- Enterprise Portal API
- Push to Talk Provisioning
- BYOC
- name: Address Book
tags:
- External Contacts
- Internal Contacts
- Hybrid Directory Contacts
- Overlay Contacts
- External Shared Directory
- name: Roles and Permissions
tags:
- Permissions
- Role Management
- Site Administration
- User Groups
- name: Events & Notifications
tags:
- Subscriptions
- name: User Integrations
tags:
- Token Management
- Calendar Management
- Calendar Event Management
- Calendar Presence Link
- Cloud Personal Contacts
- Cloud Shared Contacts
- Cloud Directory
- Deprecated Calendar API
- name: Rooms
tags:
- Rooms Client API
- Rooms Management API
- name: App Management
tags:
- App Gallery
- App Rating Review
- Bot Provisioning
- name: Workflow Builder
tags:
- Flows
- Flow Editor
- Flow Log
- Flow Templates
- name: Utilities
tags:
- API Info
- Application Settings
- Async Tasks
- User Notifications
- Client Versions
- End-to-End Encryption