Finding your personal meeting ID

Last updated: 2023-05-02Contributors
Edit this page

RingCentral Video REST API and Client SDKs are in beta

The RingCentral Video REST API and Client SDKs are currently in beta. Developers should be aware of the following:

  • Their feature sets are not reflective of the full scope currently planned.
  • Backwards compatibility is not guaranteed from one release to the next during the beta period. Changes can be introduced at any time that may impact your applications with little notice.
  • Video APIs are not currently available in our sandbox environment and developers are asked to do development in our production environment.

Every RingCentral Video account holder has a "Personal Meeting ID." This personal meeting ID is a persistent location in which to hold meetings. It is often used for having a quick ad-hoc meeting with a group of people. Developers may need to find a user's personal meeting ID when building user flows that allow users to schedule meetings -- often you may want to ask, "use your personal meeting ID?"

To retrieve the personal meeting ID for a user, formulate a request like the following:

GET /rcvideo/v2/account/{accountId}/extension/{extensionId}/bridges/default

Example code

const RC = require('@ringcentral/sdk').SDK
require('dotenv').config();

const CALLER       = process.env.RINGOUT_CALLER
const RECIPIENT    = process.env.RINGOUT_RECIPIENT

var rcsdk = new RC({
    'server':       process.env.RC_SERVER_URL,
    'clientId':     process.env.RC_CLIENT_ID,
    'clientSecret': process.env.RC_CLIENT_SECRET
});
var platform = rcsdk.platform();
platform.login({ 'jwt':  process.env.RC_JWT })

platform.on(platform.events.loginSuccess, () => {
  fetch_personal_meeting()
})

async function fetch_personal_meeting() {
    try {
    var resp = await platform.get('/rcvideo/v2/account/~/extension/~/bridges/default');
    var jsonObj = await resp.json()
        console.log("Your personal meeting URL is: " + jsonObj.discovery.web)
    } catch (e) {
    console.log(e.message)
    }
}
#!/usr/bin/python

# You get the environment parameters from your 
# application dashbord in your developer account 
# https://developers.ringcentral.com

import os
import sys

from dotenv import load_dotenv
from ringcentral import SDK
load_dotenv()

rcsdk = SDK( os.environ.get('RC_CLIENT_ID'),
             os.environ.get('RC_CLIENT_SECRET'),
             os.environ.get('RC_SERVER_URL') )
platform = rcsdk.platform()
try:
  platform.login( jwt=os.environ.get('RC_JWT') )
except Exception as e:
  sys.exit("Unable to authenticate to platform: " + str(e))

try:
    resp = platform.get('/rcvideo/v2/account/~/extension/~/bridges/default')
    print("Your personal meeting URL is: " + resp.web.discovery)
except Exception as err:
    print("Exception: " + err.message)
<?php
/* You get the environment parameters from your 
   application dashbord in your developer account 
   https://developers.ringcentral.com */

require('vendor/autoload.php');
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/../');
$dotenv->load();

$rcsdk = new RingCentral\SDK\SDK( $_ENV['RC_CLIENT_ID'],
                                  $_ENV['RC_CLIENT_SECRET'],
                                  $_ENV['RC_SERVER_URL'] );
$platform = $rcsdk->platform();
$platform->login( [ "jwt" => $_ENV['RC_JWT'] ] );

get_personal_meeting_url();

function get_personal_meeting_url(){
  global $platform;
  $resp = $platform->get("/rcvideo/v2/account/~/extension/~/bridges/default");
  $jsonObj = $resp->json();
  print("Your personal meeting URL is: " . $resp->json()->web->discovery . PHP_EOL);
}
?>
#!usr/bin/ruby

# You get the environment parameters from your 
# application dashbord in your developer account 
# https://developers.ringcentral.com

require 'ringcentral'
require 'dotenv/load'

$rc = RingCentral.new(ENV['RC_CLIENT_ID'],
                      ENV['RC_CLIENRT_SECRET'],
                      ENV['RC_SERVER_URL'])

$rc.authorize(jwt: ENV['RC_JWT'])

resp = $rc.get('/rcvideo/v2/account/~/extension/~/bridges/default')

puts "Your personal meeting URL is: " + resp.body['discovery']['web']

C# and .NET SDKs are not currently available

If you are looking to call RingCentral Video APIs using Java or C#, RingCentral Video APIs can't be invoked using RingCentra's Java or C# SDK at the moment. You can however call the APIs directly from those programming lanugaes using a REST based helper library if needed.

A Java SDK is not currently available

If you are looking to call RingCentral Video APIs using Java or C#, RingCentral Video APIs can't be invoked using RingCentra's Java or C# SDK at the moment. You can however call the APIs directly from those programming lanugaes using a REST based helper library if needed.

Sample personal meeting room response

{
  "id": "iad41-c04-ndb256065cf14ae6a1832389d9c2e",
  "name": "Weekly Meeting with Joseph",
  "type": "Instant",
  "host": {
    "accountId": "664287016",
    "extensionId": "664307016"
  },
  "pins": {
    "pstn": {
      "host": "432331057631",
      "participant": "013409241367"
    },
    "web": "018209241352",
    "aliases": [
      "joseph1990",
      "qa_team_2_lead"
    ]
  },
  "security": {
    "passwordProtected": true,
    "password": {
      "plainText": "Wq123ygs15",
      "pstn": "7492486829",
      "joinQuery": "99e4f8e6a241fc71279449a9c8f46eef"
    },
    "noGuests": false,
    "sameAccount": false,
    "e2ee": false
  },
  "preferences": {
    "join": {
      "audioMuted": false,
      "videoMuted": false,
      "waitingRoomRequired": "Nobody",
      "pstn": {
        "promptAnnouncement": true,
        "promptParticipants": true
      }
    },
    "playTones": "Off",
    "musicOnHold": true,
    "joinBeforeHost": true,
    "screenSharing": true,
    "recordingsMode": "User",
    "transcriptionsMode": "User"
  },
  "discovery": {
    "web": "https://v.ringcentral.com/join/018209241352?pw=99e4f8e6a241fc71279449a9c8f46eef"
  }
}