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:
| Key | Description |
|---|---|
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"Run your code
Save this file to your machine and run it:
Prerequisites
npm install @vonage/server-sdkCreate 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);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();Run your code
Save this file to your machine and run it:
Prerequisites
pip install vonageCreate 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,Run your code
Save this file to your machine and run it:
Prerequisites
gem install vonageCreate a file named list-rooms-by-theme.rb and add the following code:
Run your code
Save this file to your machine and run it:
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"
}
}
}