Meetings API

Product deprecation notice

Starting on August 31st 2024, users will no longer be able to create Meetings API applications. Existing applications will continue to work uninterrupted until June 30th, 2025. If you are looking to build with video, please consider Vonage Video API or Vonage Video Express services, or contact your account managers or support for help.

Download OpenAPI Specification

Get all rooms

gethttps://api-eu.vonage.com/v1/meetings/rooms

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Query Parameters

start_id
integer

The room serial number to filter from - This number is not the room Id

end_id
integer

The room serial number to filter to (excluding end_id itself) - This number is not the room Id

page_size
integer
Default20

The maximum number of rooms in the current page

Responses
Content Type
application/json

OK

page_size
integer
example25

The number of results returned on this page

total_items
integer
example30

The overall number of results

_embedded
array
id
string(uuid)
example9f6fe8ae-3458-4a72-b532-8276d5533e97

The room UUID

display_name
string
Max200
exampleMy custom room

The name of the meeting room

metadata
string
Max500
exampleWelcome to my custom room

Free text that can be attached to a room. This will be passed in the form of a header in events related to this room.

type
string
Defaultinstant

The type of meeting which can be instant or long term. An instant is active for 10 minutes until the first participant joins the roo, and remains active for 10 minutes after the last participant leaves. A long term room expires after a specific date

Must be one of:instantlong_term
recording_options
object

An object containing various meeting recording options

auto_record
boolean

Automatically record all sessions in this room. Recording cannot be stopped when this is set to true.

record_only_owner
boolean

Record only the owner screen or any share screen of the video.

meeting_code
string
Min9
example280674154

The meeting PIN number

is_available
boolean
Defaulttrue

Once a room becomes unavailable, no new sessions can be created under it

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

created_at
string(date)
example{}

The time for when the room was created, expressed in ISO 8601 format

expires_at
string(date)
example{}

The time for when the room will be expired, expressed in ISO 8601 format. The value must be greater than 10 minutes from now

expire_after_use
boolean
exampletrue

Close the room after a session ends. Only relevant for long_term rooms

join_approval_level
string

The level of approval needed to join the meeting in the room. When set to "after_owner_only" the participants will join the meeting only after the host joined. When set to "explicit_approval" the participants will join the waiting room and the host will deny/approve them.

Must be one of:noneafter_owner_onlyexplicit_approval
initial_join_options
object

Sets the default options for participants

microphone_state
string
Defaultdefault
exampleon

Set the default microphone option for users in the pre-join screen of this room.

Must be one of:onoffdefault
callback_urls
object

Provides callback URLs to listen to events

rooms_callback_url
string
examplehttps://example.com/rooms

Callback url for rooms events, overrides application level rooms callback url.

sessions_callback_url
string
examplehttps://example.com/sessions

Callback url for sessions events, overrides application level sessions callback url.

recordings_callback_url
string
examplehttps://example.com/recordings

Callback url for recordings events, overrides application level recordings callback url.

available_features
object
is_recording_available
boolean
Defaulttrue

Determine if recording feature is available in the UI.

is_chat_available
boolean
Defaulttrue

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean
Defaulttrue

Determine if whiteboard feature is available in the UI.

is_locale_switcher_available
boolean
Defaulttrue

Determine if the locale switcher is available in the UI.

is_captions_available
boolean

Determine if captions are available in the UI.

ui_settings
object

Provides options to customize the user interface

language
string
Defaulten
examplees

The desired language of the UI. The default is English.

Must be one of:arcadeenesfrheitpt-brzh-twzh-cn
_links
object

Provides links to join the meeting room

guest_url
object

The link to join the meeting as participant, using the meeting code

href
string
examplehttps://meetings.vonage.com/280674154
host_url
object

The link to join the meeting as host, using the meeting code

href
string
examplehttps://meetings.vonage.com/?room_token=280674154&participant_token=eyJhbGciOiJIUzI1NiIsInR5cC
_links
object

Represents HAL links for navigation purposes

first
object

Provides a link to the first element

href
string
examplehttps://api-eu.vonage.com/v1/meetings/rooms?page_size=50
self
object

Provides a link to the current element

href
string
examplehttps://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293905
next
object

Provides a link to the next element

href
string
examplehttps://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293906
prev
object

Provides a link to the previous element

href
string
examplehttps://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293904

Example Response

Create a room

An application is limited to a thousand rooms. Trying to create more rooms will result in a 403 response.

posthttps://api-eu.vonage.com/v1/meetings/rooms

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Request Body
Content Type
application/json

One Of
display_name
string
Required
Max200
exampleMy custom room

The name of the meeting room

metadata
string
Max500
exampleWelcome to my custom room

Free text that can be attached to a room. This will be passed in the form of a header in events related to this room.

type
string
exampleinstant

Represents a room that is active for 10 minutes until the first participant joins the room, and remains active for 10 minutes after the last participant leaves.

Must be one of:instant
recording_options
object

An object containing various meeting recording options

auto_record
boolean

Automatically record all sessions in this room. Recording cannot be stopped when this is set to true.

record_only_owner
boolean

Record only the owner screen or any share screen of the video.

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

join_approval_level
string

The level of approval needed to join the meeting in the room. When set to "after_owner_only" the participants will join the meeting only after the host joined. When set to "explicit_approval" the participants will join the waiting room and the host will deny/approve them.

Must be one of:noneafter_owner_onlyexplicit_approval
initial_join_options
object

Sets the default options for participants

microphone_state
string
Defaultdefault
exampleon

Set the default microphone option for users in the pre-join screen of this room.

Must be one of:onoffdefault
callback_urls
object

Provides callback URLs to listen to events

rooms_callback_url
string
examplehttps://example.com/rooms

Callback url for rooms events, overrides application level rooms callback url.

sessions_callback_url
string
examplehttps://example.com/sessions

Callback url for sessions events, overrides application level sessions callback url.

recordings_callback_url
string
examplehttps://example.com/recordings

Callback url for recordings events, overrides application level recordings callback url.

available_features
object
is_recording_available
boolean
Defaulttrue

Determine if recording feature is available in the UI.

is_chat_available
boolean
Defaulttrue

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean
Defaulttrue

Determine if whiteboard feature is available in the UI.

is_locale_switcher_available
boolean
Defaulttrue

Determine if the locale switcher is available in the UI.

is_captions_available
boolean

Determine if captions are available in the UI.

ui_settings
object

Provides options to customize the user interface

language
string
Defaulten
examplees

The desired language of the UI. The default is English.

Must be one of:arcadeenesfrheitpt-brzh-twzh-cn

Example Request

Responses
Content Type
application/json

OK

id
string(uuid)
example9f6fe8ae-3458-4a72-b532-8276d5533e97

The room UUID

display_name
string
Max200
exampleMy custom room

The name of the meeting room

metadata
string
Max500
exampleWelcome to my custom room

Free text that can be attached to a room. This will be passed in the form of a header in events related to this room.

type
string
Defaultinstant

The type of meeting which can be instant or long term. An instant is active for 10 minutes until the first participant joins the roo, and remains active for 10 minutes after the last participant leaves. A long term room expires after a specific date

Must be one of:instantlong_term
recording_options
object

An object containing various meeting recording options

auto_record
boolean

Automatically record all sessions in this room. Recording cannot be stopped when this is set to true.

record_only_owner
boolean

Record only the owner screen or any share screen of the video.

meeting_code
string
Min9
example280674154

The meeting PIN number

is_available
boolean
Defaulttrue

Once a room becomes unavailable, no new sessions can be created under it

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

created_at
string(date)
example{}

The time for when the room was created, expressed in ISO 8601 format

expires_at
string(date)
example{}

The time for when the room will be expired, expressed in ISO 8601 format. The value must be greater than 10 minutes from now

expire_after_use
boolean
exampletrue

Close the room after a session ends. Only relevant for long_term rooms

join_approval_level
string

The level of approval needed to join the meeting in the room. When set to "after_owner_only" the participants will join the meeting only after the host joined. When set to "explicit_approval" the participants will join the waiting room and the host will deny/approve them.

Must be one of:noneafter_owner_onlyexplicit_approval
initial_join_options
object

Sets the default options for participants

microphone_state
string
Defaultdefault
exampleon

Set the default microphone option for users in the pre-join screen of this room.

Must be one of:onoffdefault
callback_urls
object

Provides callback URLs to listen to events

rooms_callback_url
string
examplehttps://example.com/rooms

Callback url for rooms events, overrides application level rooms callback url.

sessions_callback_url
string
examplehttps://example.com/sessions

Callback url for sessions events, overrides application level sessions callback url.

recordings_callback_url
string
examplehttps://example.com/recordings

Callback url for recordings events, overrides application level recordings callback url.

available_features
object
is_recording_available
boolean
Defaulttrue

Determine if recording feature is available in the UI.

is_chat_available
boolean
Defaulttrue

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean
Defaulttrue

Determine if whiteboard feature is available in the UI.

is_locale_switcher_available
boolean
Defaulttrue

Determine if the locale switcher is available in the UI.

is_captions_available
boolean

Determine if captions are available in the UI.

ui_settings
object

Provides options to customize the user interface

language
string
Defaulten
examplees

The desired language of the UI. The default is English.

Must be one of:arcadeenesfrheitpt-brzh-twzh-cn
_links
object

Provides links to join the meeting room

guest_url
object

The link to join the meeting as participant, using the meeting code

href
string
examplehttps://meetings.vonage.com/280674154
host_url
object

The link to join the meeting as host, using the meeting code

href
string
examplehttps://meetings.vonage.com/?room_token=280674154&participant_token=eyJhbGciOiJIUzI1NiIsInR5cC

Example Response

Get room details

gethttps://api-eu.vonage.com/v1/meetings/rooms/:room_id

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Responses
Content Type
application/json

OK

id
string(uuid)
example9f6fe8ae-3458-4a72-b532-8276d5533e97

The room UUID

display_name
string
Max200
exampleMy custom room

The name of the meeting room

metadata
string
Max500
exampleWelcome to my custom room

Free text that can be attached to a room. This will be passed in the form of a header in events related to this room.

type
string
Defaultinstant

The type of meeting which can be instant or long term. An instant is active for 10 minutes until the first participant joins the roo, and remains active for 10 minutes after the last participant leaves. A long term room expires after a specific date

Must be one of:instantlong_term
recording_options
object

An object containing various meeting recording options

auto_record
boolean

Automatically record all sessions in this room. Recording cannot be stopped when this is set to true.

record_only_owner
boolean

Record only the owner screen or any share screen of the video.

meeting_code
string
Min9
example280674154

The meeting PIN number

is_available
boolean
Defaulttrue

Once a room becomes unavailable, no new sessions can be created under it

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

created_at
string(date)
example{}

The time for when the room was created, expressed in ISO 8601 format

expires_at
string(date)
example{}

The time for when the room will be expired, expressed in ISO 8601 format. The value must be greater than 10 minutes from now

expire_after_use
boolean
exampletrue

Close the room after a session ends. Only relevant for long_term rooms

join_approval_level
string

The level of approval needed to join the meeting in the room. When set to "after_owner_only" the participants will join the meeting only after the host joined. When set to "explicit_approval" the participants will join the waiting room and the host will deny/approve them.

Must be one of:noneafter_owner_onlyexplicit_approval
initial_join_options
object

Sets the default options for participants

microphone_state
string
Defaultdefault
exampleon

Set the default microphone option for users in the pre-join screen of this room.

Must be one of:onoffdefault
callback_urls
object

Provides callback URLs to listen to events

rooms_callback_url
string
examplehttps://example.com/rooms

Callback url for rooms events, overrides application level rooms callback url.

sessions_callback_url
string
examplehttps://example.com/sessions

Callback url for sessions events, overrides application level sessions callback url.

recordings_callback_url
string
examplehttps://example.com/recordings

Callback url for recordings events, overrides application level recordings callback url.

available_features
object
is_recording_available
boolean
Defaulttrue

Determine if recording feature is available in the UI.

is_chat_available
boolean
Defaulttrue

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean
Defaulttrue

Determine if whiteboard feature is available in the UI.

is_locale_switcher_available
boolean
Defaulttrue

Determine if the locale switcher is available in the UI.

is_captions_available
boolean

Determine if captions are available in the UI.

ui_settings
object

Provides options to customize the user interface

language
string
Defaulten
examplees

The desired language of the UI. The default is English.

Must be one of:arcadeenesfrheitpt-brzh-twzh-cn
_links
object

Provides links to join the meeting room

guest_url
object

The link to join the meeting as participant, using the meeting code

href
string
examplehttps://meetings.vonage.com/280674154
host_url
object

The link to join the meeting as host, using the meeting code

href
string
examplehttps://meetings.vonage.com/?room_token=280674154&participant_token=eyJhbGciOiJIUzI1NiIsInR5cC

Example Response

Update an existing room

If you try to update a room which expired or not available anymore, you will receive a 404 response

patchhttps://api-eu.vonage.com/v1/meetings/rooms/:room_id

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Request Body
Content Type
application/json

update_details
object
Required

Contains information to be updated on the room. It is mandatory to provide at least one value to update; you will receive a 400 response otherwise.

expires_at
string(date)
example{}

The time for when the room will be expired, expressed in ISO 8601 format. The value must be greater than 10 minutes from now

expire_after_use
boolean
exampletrue

Close the room after a session ends. Only relevant for long_term rooms

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

join_approval_level
string

The level of approval needed to join the meeting in the room. When set to "after_owner_only" the participants will join the meeting only after the host joined. When set to "explicit_approval" the participants will join the waiting room and the host will deny/approve them.

Must be one of:noneafter_owner_onlyexplicit_approval
initial_join_options
object

Sets the default options for participants

microphone_state
string
Defaultdefault
exampleon

Set the default microphone option for users in the pre-join screen of this room.

Must be one of:onoffdefault
callback_urls
object

Provides callback URLs to listen to events

rooms_callback_url
string
examplehttps://example.com/rooms

Callback url for rooms events, overrides application level rooms callback url.

sessions_callback_url
string
examplehttps://example.com/sessions

Callback url for sessions events, overrides application level sessions callback url.

recordings_callback_url
string
examplehttps://example.com/recordings

Callback url for recordings events, overrides application level recordings callback url.

available_features
object
is_recording_available
boolean
Defaulttrue

Determine if recording feature is available in the UI.

is_chat_available
boolean
Defaulttrue

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean
Defaulttrue

Determine if whiteboard feature is available in the UI.

is_locale_switcher_available
boolean
Defaulttrue

Determine if the locale switcher is available in the UI.

is_captions_available
boolean

Determine if captions are available in the UI.

Example Request

Responses
Content Type
application/json

OK

id
string(uuid)
example9f6fe8ae-3458-4a72-b532-8276d5533e97

The room UUID

display_name
string
Max200
exampleMy custom room

The name of the meeting room

metadata
string
Max500
exampleWelcome to my custom room

Free text that can be attached to a room. This will be passed in the form of a header in events related to this room.

type
string
Defaultinstant

The type of meeting which can be instant or long term. An instant is active for 10 minutes until the first participant joins the roo, and remains active for 10 minutes after the last participant leaves. A long term room expires after a specific date

Must be one of:instantlong_term
recording_options
object

An object containing various meeting recording options

auto_record
boolean

Automatically record all sessions in this room. Recording cannot be stopped when this is set to true.

record_only_owner
boolean

Record only the owner screen or any share screen of the video.

meeting_code
string
Min9
example280674154

The meeting PIN number

is_available
boolean
Defaulttrue

Once a room becomes unavailable, no new sessions can be created under it

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

created_at
string(date)
example{}

The time for when the room was created, expressed in ISO 8601 format

expires_at
string(date)
example{}

The time for when the room will be expired, expressed in ISO 8601 format. The value must be greater than 10 minutes from now

expire_after_use
boolean
exampletrue

Close the room after a session ends. Only relevant for long_term rooms

join_approval_level
string

The level of approval needed to join the meeting in the room. When set to "after_owner_only" the participants will join the meeting only after the host joined. When set to "explicit_approval" the participants will join the waiting room and the host will deny/approve them.

Must be one of:noneafter_owner_onlyexplicit_approval
initial_join_options
object

Sets the default options for participants

microphone_state
string
Defaultdefault
exampleon

Set the default microphone option for users in the pre-join screen of this room.

Must be one of:onoffdefault
callback_urls
object

Provides callback URLs to listen to events

rooms_callback_url
string
examplehttps://example.com/rooms

Callback url for rooms events, overrides application level rooms callback url.

sessions_callback_url
string
examplehttps://example.com/sessions

Callback url for sessions events, overrides application level sessions callback url.

recordings_callback_url
string
examplehttps://example.com/recordings

Callback url for recordings events, overrides application level recordings callback url.

available_features
object
is_recording_available
boolean
Defaulttrue

Determine if recording feature is available in the UI.

is_chat_available
boolean
Defaulttrue

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean
Defaulttrue

Determine if whiteboard feature is available in the UI.

is_locale_switcher_available
boolean
Defaulttrue

Determine if the locale switcher is available in the UI.

is_captions_available
boolean

Determine if captions are available in the UI.

ui_settings
object

Provides options to customize the user interface

language
string
Defaulten
examplees

The desired language of the UI. The default is English.

Must be one of:arcadeenesfrheitpt-brzh-twzh-cn
_links
object

Provides links to join the meeting room

guest_url
object

The link to join the meeting as participant, using the meeting code

href
string
examplehttps://meetings.vonage.com/280674154
host_url
object

The link to join the meeting as host, using the meeting code

href
string
examplehttps://meetings.vonage.com/?room_token=280674154&participant_token=eyJhbGciOiJIUzI1NiIsInR5cC

Example Response

Get a recording

gethttps://api-eu.vonage.com/v1/meetings/recordings/:recording_id

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Responses
Content Type
application/json

OK

id
string(uuid)
example9f6fe8ae-3458-4a72-b532-8276d5533e97

The recording UUID

session_id
string
example2_MX40NjMwODczMn5-MTU3NTgyODEwNzQ2MH5OZDJrVmdBRUNDbG5MUzNqNX20yQ1Z-fg

Corresponds to the underlying Video API session id

started_at
string(date-time)
example{}

The date the recording started

ended_at
string(date-time)
example{}

The date the recording stopped

status
string
examplestopped

The recording current status

Must be one of:startedstoppedpauseduploaded
_links
object

Provide links for the current recording

url
object

The recording url

href
string
examplehttps://prod-meetings-recordings.s3.amazonaws.com/123/9f6fe8ae-3458-4a72-b532-8276d5533e97/archive.mp4

Example Response

Delete a recording

The recording needs to have a 'uploaded' status to be deleted. Otherwise, you will receive a 500 response.

deletehttps://api-eu.vonage.com/v1/meetings/recordings/:recording_id

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Responses

No Content

Get recordings of a session

The session_id is provided in the callbacks

gethttps://api-eu.vonage.com/v1/meetings/sessions/:session_id/recordings

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Responses
Content Type
application/json

OK

_embedded
object
recordings
array

List of recordings for the given session

id
string(uuid)
example9f6fe8ae-3458-4a72-b532-8276d5533e97

The recording UUID

session_id
string
example2_MX40NjMwODczMn5-MTU3NTgyODEwNzQ2MH5OZDJrVmdBRUNDbG5MUzNqNX20yQ1Z-fg

Corresponds to the underlying Video API session id

started_at
string(date-time)
example{}

The date the recording started

ended_at
string(date-time)
example{}

The date the recording stopped

status
string
examplestopped

The recording current status

Must be one of:startedstoppedpauseduploaded
_links
object

Provide links for the current recording

url
object

The recording url

href
string
examplehttps://prod-meetings-recordings.s3.amazonaws.com/123/9f6fe8ae-3458-4a72-b532-8276d5533e97/archive.mp4

Example Response

Get numbers that can be used to dial into a meeting

gethttps://api-eu.vonage.com/v1/meetings/dial-in-numbers

Responses
Content Type
application/json

OK

array
number
string
example17323338801

The phone number

locale
string
exampleen-US

The language culture name

display_name
string
exampleUnited States

The name of the number

Example Response

Get application themes

An application is limited to a thousand themes. Trying to create more themes will result in a 403 response.

gethttps://api-eu.vonage.com/v1/meetings/themes

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Responses
Content Type
application/json

OK

array
theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

theme_name
string
Max200
exampleTheme1

The name of the theme (must be unique). If null, a UUID will automatically be generated

domain
string
exampleVCP

The domain of the theme

Must be one of:VCPVBC
account_id
string
example123ab4cd

The applications account id (ApiKey)

application_id
string(uuid)
example921a6f5b-1f94-49f4-8107-26f0c75fc6e7

The application Id

main_color
string
Max7
example#12f64e

The main color that will be used for the meeting room.

short_company_url
string
Max128
exampleshort-url

The URL that will represent every meeting room with this theme. The value must be unique across Vonage

brand_text
string
Max200
exampleBrand

The text that will appear on the meeting homepage, in the case that there is no brand image

brand_image_colored
string
examplebranded-image-colored

Colored logo's key in storage system

brand_image_white
string
examplebranded-image-white

White logo's key in storage system

branded_favicon
string
examplebranded-favicon

Favicon key in storage system

brand_image_colored_url
string
examplebranded-image-colored-url

Colored logo's link

brand_image_white_url
string
examplebranded-image-white-url

White logo's link

branded_favicon_url
string
examplebranded-favicon-url

Favicon link

Example Response

Create a theme

posthttps://api-eu.vonage.com/v1/meetings/themes

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Request Body
Content Type
application/json

theme_name
string
Max200
exampleTheme1

The name of the theme (must be unique). If null, a UUID will automatically be generated

main_color
string
Required
Max7
example#12f64e

The main color that will be used for the meeting room.

brand_text
string
Required
Max200
exampleBrand

The text that will appear on the meeting homepage, in the case that there is no brand image

short_company_url
string
Max128
exampleshort-url

The URL that will represent every meeting room with this theme. The value must be unique across Vonage

Example Request

Responses
Content Type
application/json

Created

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

theme_name
string
Max200
exampleTheme1

The name of the theme (must be unique). If null, a UUID will automatically be generated

domain
string
exampleVCP

The domain of the theme

Must be one of:VCPVBC
account_id
string
example123ab4cd

The applications account id (ApiKey)

application_id
string(uuid)
example921a6f5b-1f94-49f4-8107-26f0c75fc6e7

The application Id

main_color
string
Max7
example#12f64e

The main color that will be used for the meeting room.

short_company_url
string
Max128
exampleshort-url

The URL that will represent every meeting room with this theme. The value must be unique across Vonage

brand_text
string
Max200
exampleBrand

The text that will appear on the meeting homepage, in the case that there is no brand image

brand_image_colored
string
examplebranded-image-colored

Colored logo's key in storage system

brand_image_white
string
examplebranded-image-white

White logo's key in storage system

branded_favicon
string
examplebranded-favicon

Favicon key in storage system

brand_image_colored_url
string
examplebranded-image-colored-url

Colored logo's link

brand_image_white_url
string
examplebranded-image-white-url

White logo's link

branded_favicon_url
string
examplebranded-favicon-url

Favicon link

Example Response

Get theme by theme id

gethttps://api-eu.vonage.com/v1/meetings/themes/:theme_id

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Responses
Content Type
application/json

OK

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

theme_name
string
Max200
exampleTheme1

The name of the theme (must be unique). If null, a UUID will automatically be generated

domain
string
exampleVCP

The domain of the theme

Must be one of:VCPVBC
account_id
string
example123ab4cd

The applications account id (ApiKey)

application_id
string(uuid)
example921a6f5b-1f94-49f4-8107-26f0c75fc6e7

The application Id

main_color
string
Max7
example#12f64e

The main color that will be used for the meeting room.

short_company_url
string
Max128
exampleshort-url

The URL that will represent every meeting room with this theme. The value must be unique across Vonage

brand_text
string
Max200
exampleBrand

The text that will appear on the meeting homepage, in the case that there is no brand image

brand_image_colored
string
examplebranded-image-colored

Colored logo's key in storage system

brand_image_white
string
examplebranded-image-white

White logo's key in storage system

branded_favicon
string
examplebranded-favicon

Favicon key in storage system

brand_image_colored_url
string
examplebranded-image-colored-url

Colored logo's link

brand_image_white_url
string
examplebranded-image-white-url

White logo's link

branded_favicon_url
string
examplebranded-favicon-url

Favicon link

Example Response

Delete a theme

deletehttps://api-eu.vonage.com/v1/meetings/themes/:theme_id

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Query Parameters

force
boolean

force delete - delete theme even if theme is used by rooms or as application default theme

Responses

No Content

Update theme by id

patchhttps://api-eu.vonage.com/v1/meetings/themes/:theme_id

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Request Body
Content Type
application/json

update_details
object
theme_name
string
Max200
exampleTheme1

The name of the theme (must be unique). If null, a UUID will automatically be generated

main_color
string
Max7
example#12f64e

The main color that will be used for the meeting room.

brand_text
string
Max200
exampleBrand

The text that will appear on the meeting homepage, in the case that there is no brand image

short_company_url
string
Max128
exampleshort-url

The URL that will represent every meeting room with this theme. The value must be unique across Vonage

Example Request

Responses
Content Type
application/json

OK

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

theme_name
string
Max200
exampleTheme1

The name of the theme (must be unique). If null, a UUID will automatically be generated

domain
string
exampleVCP

The domain of the theme

Must be one of:VCPVBC
account_id
string
example123ab4cd

The applications account id (ApiKey)

application_id
string(uuid)
example921a6f5b-1f94-49f4-8107-26f0c75fc6e7

The application Id

main_color
string
Max7
example#12f64e

The main color that will be used for the meeting room.

short_company_url
string
Max128
exampleshort-url

The URL that will represent every meeting room with this theme. The value must be unique across Vonage

brand_text
string
Max200
exampleBrand

The text that will appear on the meeting homepage, in the case that there is no brand image

brand_image_colored
string
examplebranded-image-colored

Colored logo's key in storage system

brand_image_white
string
examplebranded-image-white

White logo's key in storage system

branded_favicon
string
examplebranded-favicon

Favicon key in storage system

brand_image_colored_url
string
examplebranded-image-colored-url

Colored logo's link

brand_image_white_url
string
examplebranded-image-white-url

White logo's link

branded_favicon_url
string
examplebranded-favicon-url

Favicon link

Example Response

Change given logo to be permanent

Use the theme ID of the theme you wish to update, along with the key used in the previous step, to link the logo with the theme that you wish to update. You can even make multiple upload calls, and then pass multiple keys to the theme update.

puthttps://api-eu.vonage.com/v1/meetings/themes/:theme_id/finalizeLogos

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Request Body
Content Type
application/json

keys
array

List of temporary theme's logos to make permanent

key
string

Key used for uploading a logo

Example Request

Responses

OK

Get URLs that can be used to upload logos for a theme via a POST

Use a GET on this API to retrieve the credentials needed for upload. The response will contain objects for each favicon, light logo, and colored logo. The Policy will be your JWT. Grab the values for the image type you wish to upload.

gethttps://api-eu.vonage.com/v1/meetings/themes/logos-upload-urls

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Responses
Content Type
application/json

OK

array
url
string(uri)
examplehttps://storage-url.com

Storage system URL

fields
object

Fields property has to be part of the POST request's body

Content-Type
string
exampleimage/png
key
string
exampleauto-expiring-temp/logos/white/ca63a155-d5f0-4131-9903-c59907e53df0

Logo's key in storage system

logoType
string
examplefavicon
Must be one of:whitecoloredfavicon
bucket
string
exampleroomservice-whitelabel-logos-prod

Bucket name to upload to

X-Amz-Algorithm
string
exampleAWS4-HMAC-SHA256
X-Amz-Credential
string
exampleASSCSSQSAMKJISDGBW/20220410/us-east-1/s3/aws4_request
X-Amz-Date
string
example20220410T200246Z
X-Amz-Security-Token
string
exampleIQoJb3JpZ2luX2VjEBIaCXVzLWVhc3QtMSJHMEUCIDMxvPG4
Policy
string
exampleeyJleHBpcmF0aW9uIjoiMjAyMy0wNi0wN1QxMjo0Njo0MFo
X-Amz-Signature
string
examplefcb46c1adfa98836f0533aadebedc6fb1edbd90aa583f3264c0ae5bb63d83123

Example Response

Get rooms associated with the theme

gethttps://api-eu.vonage.com/v1/meetings/themes/:themeId/rooms

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Query Parameters

start_id
integer

The room serial number to filter from - This number is not the room Id

end_id
integer

The room serial number to filter to (excluding end_id itself) - This number is not the room Id

Responses
Content Type
application/json

OK

page_size
integer
example25

The number of results returned on this page

total_items
integer
example30

The overall number of results

_embedded
array
id
string(uuid)
example9f6fe8ae-3458-4a72-b532-8276d5533e97

The room UUID

display_name
string
Max200
exampleMy custom room

The name of the meeting room

metadata
string
Max500
exampleWelcome to my custom room

Free text that can be attached to a room. This will be passed in the form of a header in events related to this room.

type
string
Defaultinstant

The type of meeting which can be instant or long term. An instant is active for 10 minutes until the first participant joins the roo, and remains active for 10 minutes after the last participant leaves. A long term room expires after a specific date

Must be one of:instantlong_term
recording_options
object

An object containing various meeting recording options

auto_record
boolean

Automatically record all sessions in this room. Recording cannot be stopped when this is set to true.

record_only_owner
boolean

Record only the owner screen or any share screen of the video.

meeting_code
string
Min9
example280674154

The meeting PIN number

is_available
boolean
Defaulttrue

Once a room becomes unavailable, no new sessions can be created under it

theme_id
string(uuid)
exampleef2b46f3-8ebb-437e-a671-272e4990fbc8

The theme UUID

created_at
string(date)
example{}

The time for when the room was created, expressed in ISO 8601 format

expires_at
string(date)
example{}

The time for when the room will be expired, expressed in ISO 8601 format. The value must be greater than 10 minutes from now

expire_after_use
boolean
exampletrue

Close the room after a session ends. Only relevant for long_term rooms

join_approval_level
string

The level of approval needed to join the meeting in the room. When set to "after_owner_only" the participants will join the meeting only after the host joined. When set to "explicit_approval" the participants will join the waiting room and the host will deny/approve them.

Must be one of:noneafter_owner_onlyexplicit_approval
initial_join_options
object

Sets the default options for participants

microphone_state
string
Defaultdefault
exampleon

Set the default microphone option for users in the pre-join screen of this room.

Must be one of:onoffdefault
callback_urls
object

Provides callback URLs to listen to events

rooms_callback_url
string
examplehttps://example.com/rooms

Callback url for rooms events, overrides application level rooms callback url.

sessions_callback_url
string
examplehttps://example.com/sessions

Callback url for sessions events, overrides application level sessions callback url.

recordings_callback_url
string
examplehttps://example.com/recordings

Callback url for recordings events, overrides application level recordings callback url.

available_features
object
is_recording_available
boolean
Defaulttrue

Determine if recording feature is available in the UI.

is_chat_available
boolean
Defaulttrue

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean
Defaulttrue

Determine if whiteboard feature is available in the UI.

is_locale_switcher_available
boolean
Defaulttrue

Determine if the locale switcher is available in the UI.

is_captions_available
boolean

Determine if captions are available in the UI.

ui_settings
object

Provides options to customize the user interface

language
string
Defaulten
examplees

The desired language of the UI. The default is English.

Must be one of:arcadeenesfrheitpt-brzh-twzh-cn
_links
object

Provides links to join the meeting room

guest_url
object

The link to join the meeting as participant, using the meeting code

href
string
examplehttps://meetings.vonage.com/280674154
host_url
object

The link to join the meeting as host, using the meeting code

href
string
examplehttps://meetings.vonage.com/?room_token=280674154&participant_token=eyJhbGciOiJIUzI1NiIsInR5cC
_links
object

Represents HAL links for navigation purposes

first
object

Provides a link to the first element

href
string
examplehttps://api-eu.vonage.com/v1/meetings/rooms?page_size=50
self
object

Provides a link to the current element

href
string
examplehttps://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293905
next
object

Provides a link to the next element

href
string
examplehttps://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293906
prev
object

Provides a link to the previous element

href
string
examplehttps://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293904

Example Response

Update an existing application

patchhttps://api-eu.vonage.com/v1/meetings/applications

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Request Body
Content Type
application/json

update_details
object
Required

Contains information to be updated on the application. It is mandatory to provide at least one value to update; you will receive a 400 response otherwise.

default_theme_id
string(uuid)
Required

The application default theme id

Example Request

Responses
Content Type
application/json

OK

application_id
string(uuid)
example921a6f5b-1f94-49f4-8107-26f0c75fc6e7

The application Id

account_id
string
example123ab4cd

The applications account id (ApiKey)

default_theme_id
string(uuid)

The application default theme id

Example Response

Webhooks

Webhooks are an extension of an API, but instead of your code requesting data, the API sends data to you. The data arrives in a web request to your application.

To learn more about webhooks, see our webhooks documentation.

This API may send any of the webhooks documented below to the URL that you have configured. You must respond with a 200 or 204 HTTP response, or the requests will be retried.

Available Operations

Callbacks webhook

posthttps://example.com/webhooks/event

Request Body
Content Type
application/json

One Of
event
string
Must be one of:room:expired
room_id
string(uuid)
example9f6fe8ae-3458-4a72-b532-8276d5533e97

The room UUID

room_type
string
Defaultinstant

The type of meeting which can be instant or long term. An instant is active for 10 minutes until the first participant joins the roo, and remains active for 10 minutes after the last participant leaves. A long term room expires after a specific date

Must be one of:instantlong_term
expires_at
string(date)
example{}

The time for when the room will be expired, expressed in ISO 8601 format. The value must be greater than 10 minutes from now

created_at
string(date)
example{}

The time for when the room was created, expressed in ISO 8601 format

Example PayloadยปRoom expired

Responses

Your server returns this code if it accepts the callback