List rooms by theme

This code snippet shows how to list all rooms associated with a theme using the Meetings API.

See the API Reference for more information.

Example Request

Where needed, replace the following variables in the sample code with your own values:

KeyDescription
JWT

Used to authenticate your request. See Authentication for more information, including how to generate a JWT.

THEME_ID

The theme UUID.

VONAGE_APPLICATION_ID

The Vonage Application ID.

VONAGE_APPLICATION_PRIVATE_KEY_PATH

Private key path.

Write the code

Add the following to list-rooms-by-theme.sh:

curl -X GET "https://api-eu.vonage.com/meetings/themes/"$THEME_ID"/rooms" \
  -H "Authorization: Bearer $JWT"

View full source

Run your code

Save this file to your machine and run it:

sh list-rooms-by-theme.sh

Prerequisites

npm install @vonage/server-sdk

Create a file named request.js and add the following code:

const { Auth } = require('@vonage/auth');
const { Meetings } = require('@vonage/meetings');

const credentials = new Auth({
  privateKey: VONAGE_APPLICATION_PRIVATE_KEY_PATH,
  applicationId: VONAGE_APPLICATION_ID,
});

const meetingsClient = new Meetings(credentials);

View full source

Write the code

Add the following to request.js:

const run = async () => {
  try {
    for (const room of meetingsClient.getRoomsForTheme(THEME_ID)) {
      console.log(room);
    }
  } catch (error) {
    console.error(error);
  }
};

run();

View full source

Run your code

Save this file to your machine and run it:

node request.js

Prerequisites

pip install vonage

Create a file named request.py and add the following code:


import vonage

client = vonage.Client(
    application_id=VONAGE_APPLICATION_ID,
    private_key=VONAGE_PRIVATE_KEY,

View full source

Write the code

Add the following to request.py:

View full source

Run your code

Save this file to your machine and run it:

python request.py

Prerequisites

gem install vonage

Create a file named list-rooms-by-theme.rb and add the following code:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: File.read(VONAGE_APPLICATION_PRIVATE_KEY_PATH)
)

View full source

Write the code

Add the following to list-rooms-by-theme.rb:

rooms = client.meetings.themes.list_rooms(theme_id: THEME_ID)

View full source

Run your code

Save this file to your machine and run it:

ruby list-rooms-by-theme.rb

Example Response

{
   "page_size": 25,
   "total_items": 30,
   "_embedded": [
      {
         "id": "9f6fe8ae-3458-4a72-b532-8276d5533e97",
         "display_name": "My custom room",
         "metadata": "Welcome to my custom room",
         "type": "instant",
         "recording_options": {
            "auto_record": false,
            "record_only_owner": false
         },
         "meeting_code": "280674154",
         "is_available": true,
         "theme_id": "ef2b46f3-8ebb-437e-a671-272e4990fbc8",
         "created_at": "2023-06-06T06:45:07.135Z",
         "expires_at": "2023-06-06T06:55:07.134Z",
         "expire_after_use": true,
         "join_approval_level": "none",
         "initial_join_options": {
            "microphone_state": "on"
         },
         "callback_urls": {
            "rooms_callback_url": "https://example.com/rooms",
            "sessions_callback_url": "https://example.com/sessions",
            "recordings_callback_url": "https://example.com/recordings"
         },
         "available_features": {
            "is_recording_available": true,
            "is_chat_available": true,
            "is_whiteboard_available": true,
            "is_locale_switcher_available": true,
            "is_captions_available": false
         },
         "ui_settings": {
            "language": "es"
         },
         "_links": {
            "guest_url": {
               "href": "https://meetings.vonage.com/280674154"
            },
            "host_url": {
               "href": "https://meetings.vonage.com/?room_token=280674154&participant_token=eyJhbGciOiJIUzI1NiIsInR5cC"
            }
         }
      }
   ],
   "_links": {
      "first": {
         "href": "https://api-eu.vonage.com/v1/meetings/rooms?page_size=50"
      },
      "self": {
         "href": "https://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293905"
      },
      "next": {
         "href": "https://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293906"
      },
      "prev": {
         "href": "https://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293904"
      }
   }
}