Available Operations Webhooks
 
 

Get all available rooms

GET https://api-eu.vonage.com/beta/meetings/rooms
Host https://api-eu.vonage.com
GET /beta/meetings/rooms

Query Parameter

start_id
string

The ID to start returning events at

end_id
string

The ID to end returning events at (excluding end_id itself)

Responses

200 OK
page_size
integer

The number of results returned on this page.

total_items
integer

The overall number of available rooms.

_embedded
object
rooms
array of objects

List of all accessible rooms

id
string
display_name
string
metadata
string

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
One of: instant or long_term
recording_options
object
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
is_available
boolean

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

theme_id
string

The theme id for the room

created_at
string

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

expires_at
string

The time for when the room will be expired, expressed in ISO 8601 format

expire_after_use
boolean

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.

One of: none, after_owner_only or explicit_approval
callback_urls
object
rooms_callback_url
string

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

sessions_callback_url
string

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

recordings_callback_url
string

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

available_features
object
is_recording_available
boolean

Determine if recording feature is available in the UI.

is_chat_available
boolean

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean

Determine if whiteboard feature is available in the UI.

Example Responses

200
{
  "page_size": 10,
  "total_items": 30,
  "_embedded": {
    "rooms": [
      {
        "id": "abc123",
        "display_name": "abc123",
        "metadata": "abc123",
        "type": "abc123",
        "recording_options": {
          "auto_record": false,
          "record_only_owner": false
        },
        "meeting_code": "123456789",
        "is_available": false,
        "theme_id": "abc123",
        "created_at": "abc123",
        "expires_at": "abc123",
        "expire_after_use": false,
        "join_approval_level": "abc123",
        "callback_urls": {
          "rooms_callback_url": "https://example.com",
          "sessions_callback_url": "https://example.com",
          "recordings_callback_url": "https://example.com"
        },
        "available_features": {
          "is_recording_available": true,
          "is_chat_available": true,
          "is_whiteboard_available": true
        },
        "_links": {
          "guest_url": {
            "href": "https://meetings.vonage.com/123456789"
          },
          "host_url": {
            "href": "https://meetings.vonage.com/123456789?participant_token=xyz"
          }
        }
      }
    ]
  },
  "_links": {
    "first": {
      "href": "https://api.nexmo.com/v0.1/meetings/rooms?page_size=10"
    },
    "self": {
      "href": "https://api.nexmo.com/v0.1/meetings/rooms?page_size=10&start_id=20"
    },
    "next": {
      "href": "https://api.nexmo.com/v0.1/meetings/rooms?page_size=10&start_id=30"
    },
    "prev": {
      "href": "https://api.nexmo.com/v0.1/meetings/rooms?page_size=10&end_id=20"
    }
  }
}

Create a room

POST https://api-eu.vonage.com/beta/meetings/rooms
Host https://api-eu.vonage.com
POST /beta/meetings/rooms

Request body application/json

display_name
string | Max: 200
metadata
string | Max: 500

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

Represents the type of the room.

Must be one of: instant or long_term
expires_at
string (date)

The time for when the room will be expired, expressed in ISO 8601 format. Required only for long-term room creation.

recording_options
object
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.

expire_after_use
boolean

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

theme_id
string (uuid)

The theme id for the room

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: none, after_owner_only or explicit_approval
callback_urls
object
rooms_callback_url
string

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

sessions_callback_url
string

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

recordings_callback_url
string

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

available_features
object
is_recording_available
boolean | Default: true

Determine if recording feature is available in the UI.

is_chat_available
boolean | Default: true

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean | Default: true

Determine if whiteboard feature is available in the UI.

Responses

201 OK
id
string
display_name
string
metadata
string

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
One of: instant or long_term
recording_options
object
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
is_available
boolean

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

theme_id
string

The theme id for the room

created_at
string

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

expires_at
string

The time for when the room will be expired, expressed in ISO 8601 format

expire_after_use
boolean

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.

One of: none, after_owner_only or explicit_approval
callback_urls
object
rooms_callback_url
string

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

sessions_callback_url
string

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

recordings_callback_url
string

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

available_features
object
is_recording_available
boolean

Determine if recording feature is available in the UI.

is_chat_available
boolean

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean

Determine if whiteboard feature is available in the UI.

Example Request

{
  "callback_urls": {
    "rooms_callback_url": "https://example.com",
    "sessions_callback_url": "https://example.com",
    "recordings_callback_url": "https://example.com"
  },
  "available_features": {
    "is_recording_available": true,
    "is_chat_available": true,
    "is_whiteboard_available": true
  }
}

Example Responses

201 403
{
  "id": "abc123",
  "display_name": "abc123",
  "metadata": "abc123",
  "type": "abc123",
  "recording_options": {
    "auto_record": false,
    "record_only_owner": false
  },
  "meeting_code": "123456789",
  "is_available": false,
  "theme_id": "abc123",
  "created_at": "abc123",
  "expires_at": "abc123",
  "expire_after_use": false,
  "join_approval_level": "abc123",
  "callback_urls": {
    "rooms_callback_url": "https://example.com",
    "sessions_callback_url": "https://example.com",
    "recordings_callback_url": "https://example.com"
  },
  "available_features": {
    "is_recording_available": true,
    "is_chat_available": true,
    "is_whiteboard_available": true
  },
  "_links": {
    "guest_url": {
      "href": "https://meetings.vonage.com/123456789"
    },
    "host_url": {
      "href": "https://meetings.vonage.com/123456789?participant_token=xyz"
    }
  }
}

This endpoint does not support application/json

Get room details

GET https://api-eu.vonage.com/beta/meetings/rooms/:room_id
Host https://api-eu.vonage.com
GET /beta/meetings/rooms/:room_id

Responses

200 OK
id
string
display_name
string
metadata
string

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
One of: instant or long_term
recording_options
object
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
is_available
boolean

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

theme_id
string

The theme id for the room

created_at
string

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

expires_at
string

The time for when the room will be expired, expressed in ISO 8601 format

expire_after_use
boolean

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.

One of: none, after_owner_only or explicit_approval
callback_urls
object
rooms_callback_url
string

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

sessions_callback_url
string

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

recordings_callback_url
string

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

available_features
object
is_recording_available
boolean

Determine if recording feature is available in the UI.

is_chat_available
boolean

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean

Determine if whiteboard feature is available in the UI.

Example Responses

200 404
{
  "id": "abc123",
  "display_name": "abc123",
  "metadata": "abc123",
  "type": "abc123",
  "recording_options": {
    "auto_record": false,
    "record_only_owner": false
  },
  "meeting_code": "123456789",
  "is_available": false,
  "theme_id": "abc123",
  "created_at": "abc123",
  "expires_at": "abc123",
  "expire_after_use": false,
  "join_approval_level": "abc123",
  "callback_urls": {
    "rooms_callback_url": "https://example.com",
    "sessions_callback_url": "https://example.com",
    "recordings_callback_url": "https://example.com"
  },
  "available_features": {
    "is_recording_available": true,
    "is_chat_available": true,
    "is_whiteboard_available": true
  },
  "_links": {
    "guest_url": {
      "href": "https://meetings.vonage.com/123456789"
    },
    "host_url": {
      "href": "https://meetings.vonage.com/123456789?participant_token=xyz"
    }
  }
}

This endpoint does not support application/json

Update an existing room

PATCH https://api-eu.vonage.com/beta/meetings/rooms/:room_id
Host https://api-eu.vonage.com
PATCH /beta/meetings/rooms/:room_id

Request body application/json

update_details
object
expires_at
string (date)

The time for when the room will be expired, expressed in ISO 8601 format.

expire_after_use
boolean

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

theme_id
string (uuid)

The theme id for the room

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: none, after_owner_only or explicit_approval
callback_urls
object
rooms_callback_url
string

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

sessions_callback_url
string

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

recordings_callback_url
string

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

available_features
object
is_recording_available
boolean | Default: true

Determine if recording feature is available in the UI.

is_chat_available
boolean | Default: true

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean | Default: true

Determine if whiteboard feature is available in the UI.

Responses

200 OK
id
string
display_name
string
metadata
string

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
One of: instant or long_term
recording_options
object
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
is_available
boolean

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

theme_id
string

The theme id for the room

created_at
string

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

expires_at
string

The time for when the room will be expired, expressed in ISO 8601 format

expire_after_use
boolean

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.

One of: none, after_owner_only or explicit_approval
callback_urls
object
rooms_callback_url
string

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

sessions_callback_url
string

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

recordings_callback_url
string

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

available_features
object
is_recording_available
boolean

Determine if recording feature is available in the UI.

is_chat_available
boolean

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean

Determine if whiteboard feature is available in the UI.

Example Request

{
  "update_details": {
    "callback_urls": {
      "rooms_callback_url": "https://example.com",
      "sessions_callback_url": "https://example.com",
      "recordings_callback_url": "https://example.com"
    },
    "available_features": {
      "is_recording_available": true,
      "is_chat_available": true,
      "is_whiteboard_available": true
    }
  }
}

Example Responses

200 400 404
{
  "id": "abc123",
  "display_name": "abc123",
  "metadata": "abc123",
  "type": "abc123",
  "recording_options": {
    "auto_record": false,
    "record_only_owner": false
  },
  "meeting_code": "123456789",
  "is_available": false,
  "theme_id": "abc123",
  "created_at": "abc123",
  "expires_at": "abc123",
  "expire_after_use": false,
  "join_approval_level": "abc123",
  "callback_urls": {
    "rooms_callback_url": "https://example.com",
    "sessions_callback_url": "https://example.com",
    "recordings_callback_url": "https://example.com"
  },
  "available_features": {
    "is_recording_available": true,
    "is_chat_available": true,
    "is_whiteboard_available": true
  },
  "_links": {
    "guest_url": {
      "href": "https://meetings.vonage.com/123456789"
    },
    "host_url": {
      "href": "https://meetings.vonage.com/123456789?participant_token=xyz"
    }
  }
}

This endpoint does not support application/json

This endpoint does not support application/json

Get a recording

GET https://api-eu.vonage.com/beta/meetings/recordings/:recording_id
Host https://api-eu.vonage.com
GET /beta/meetings/recordings/:recording_id

Responses

200 OK
id
string
session_id
string

Corresponds to the underlying Video API session id

started_at
string
ended_at
string
status
string
One of: started, stopped, paused or uploaded

Example Responses

200 404
{
  "id": "abc123",
  "session_id": "2_MX40NjMwODczMn5-MTU3NTgyODEwNzQ2MH5OZDJrVmdBRUNDbG5MUzNqNXgya20yQ1Z-fg",
  "started_at": "abc123",
  "ended_at": "abc123",
  "status": "abc123",
  "_links": {
    "url": {
      "href": "abc123"
    }
  }
}

This endpoint does not support application/json

Delete a recording

DELETE https://api-eu.vonage.com/beta/meetings/recordings/:recording_id
Host https://api-eu.vonage.com
DELETE /beta/meetings/recordings/:recording_id

Example Responses

204 403 404
No Content

This endpoint does not support application/json

This endpoint does not support application/json

Get recordings of a session

GET https://api-eu.vonage.com/beta/meetings/sessions/:session_id/recordings
Host https://api-eu.vonage.com
GET /beta/meetings/sessions/:session_id/recordings

Responses

200 OK
_embedded
object
recordings
array of objects

List of recordings for the given session

id
string
session_id
string

Corresponds to the underlying Video API session id

started_at
string
ended_at
string
status
string
One of: started, stopped, paused or uploaded

Example Responses

200 404
{
  "_embedded": {
    "recordings": [
      {
        "id": "abc123",
        "session_id": "2_MX40NjMwODczMn5-MTU3NTgyODEwNzQ2MH5OZDJrVmdBRUNDbG5MUzNqNXgya20yQ1Z-fg",
        "started_at": "abc123",
        "ended_at": "abc123",
        "status": "abc123",
        "_links": {
          "url": {
            "href": "abc123"
          }
        }
      }
    ]
  }
}

This endpoint does not support application/json

Get numbers that can be used to dial into a meeting

GET https://api-eu.vonage.com/beta/meetings/dial-in-numbers
Host https://api-eu.vonage.com
GET /beta/meetings/dial-in-numbers

Responses

200 OK
number
string
locale
string
display_name
string

Example Responses

200
[
  {
    "number": "17323338801",
    "locale": "en-US",
    "display_name": "United States"
  }
]

Get application themes

GET https://api-eu.vonage.com/beta/meetings/themes
Host https://api-eu.vonage.com
GET /beta/meetings/themes

Responses

200 OK
theme_id
string
theme_name
string
domain
string
One of: VCP or VBC
account_id
string
application_id
string
main_color
string
short_company_url
string
brand_text
string
brand_image_colored
string

Colored logo's key in storage system

brand_image_white
string

White logo's key in storage system

branded_favicon
string

Favicon's key in storage system

brand_image_colored_url
string

Colored logo's link

brand_image_white_url
string

White logo's link

branded_favicon_url
string

Favicon's link

Example Responses

200
[
  {
    "theme_id": "abc123",
    "theme_name": "Theme1",
    "domain": "abc123",
    "account_id": "abc123",
    "application_id": "abc123",
    "main_color": "#12f64e",
    "short_company_url": "short-url",
    "brand_text": "Brand",
    "brand_image_colored": "abc123",
    "brand_image_white": "abc123",
    "branded_favicon": "abc123",
    "brand_image_colored_url": "abc123",
    "brand_image_white_url": "abc123",
    "branded_favicon_url": "abc123"
  }
]

Create a theme

POST https://api-eu.vonage.com/beta/meetings/themes
Host https://api-eu.vonage.com
POST /beta/meetings/themes

Request body application/json

theme_name
string | Max: 200
main_color
string | Required | Max: 7
brand_text
string | Required | Max: 200
short_company_url
string | Max: 128

Responses

201 Created
theme_id
string
theme_name
string
domain
string
One of: VCP or VBC
account_id
string
application_id
string
main_color
string
short_company_url
string
brand_text
string
brand_image_colored
string

Colored logo's key in storage system

brand_image_white
string

White logo's key in storage system

branded_favicon
string

Favicon's key in storage system

brand_image_colored_url
string

Colored logo's link

brand_image_white_url
string

White logo's link

branded_favicon_url
string

Favicon's link

Example Request

{
  "main_color": "#12f64e",
  "brand_text": "Brand"
}
{
  "theme_name": "Theme1",
  "main_color": "#12f64e",
  "brand_text": "Brand",
  "short_company_url": "short-url"
}

Example Responses

201 409 403
{
  "theme_id": "abc123",
  "theme_name": "Theme1",
  "domain": "abc123",
  "account_id": "abc123",
  "application_id": "abc123",
  "main_color": "#12f64e",
  "short_company_url": "short-url",
  "brand_text": "Brand",
  "brand_image_colored": "abc123",
  "brand_image_white": "abc123",
  "branded_favicon": "abc123",
  "brand_image_colored_url": "abc123",
  "brand_image_white_url": "abc123",
  "branded_favicon_url": "abc123"
}

This endpoint does not support application/json

This endpoint does not support application/json

Get theme by theme id

GET https://api-eu.vonage.com/beta/meetings/themes/:theme_id
Host https://api-eu.vonage.com
GET /beta/meetings/themes/:theme_id

Responses

200 OK
theme_id
string
theme_name
string
domain
string
One of: VCP or VBC
account_id
string
application_id
string
main_color
string
short_company_url
string
brand_text
string
brand_image_colored
string

Colored logo's key in storage system

brand_image_white
string

White logo's key in storage system

branded_favicon
string

Favicon's key in storage system

brand_image_colored_url
string

Colored logo's link

brand_image_white_url
string

White logo's link

branded_favicon_url
string

Favicon's link

Example Responses

200 404
{
  "theme_id": "abc123",
  "theme_name": "Theme1",
  "domain": "abc123",
  "account_id": "abc123",
  "application_id": "abc123",
  "main_color": "#12f64e",
  "short_company_url": "short-url",
  "brand_text": "Brand",
  "brand_image_colored": "abc123",
  "brand_image_white": "abc123",
  "branded_favicon": "abc123",
  "brand_image_colored_url": "abc123",
  "brand_image_white_url": "abc123",
  "branded_favicon_url": "abc123"
}

This endpoint does not support application/json

Delete a theme

DELETE https://api-eu.vonage.com/beta/meetings/themes/:theme_id
Host https://api-eu.vonage.com
DELETE /beta/meetings/themes/:theme_id

Query Parameter

force
boolean

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

Example Responses

204 400 404
OK
{
  "status": 1,
  "name": "abc123",
  "message": "abc123",
  "errors": [
    {}
  ]
}

This endpoint does not support application/json

Update theme by id

PATCH https://api-eu.vonage.com/beta/meetings/themes/:theme_id
Host https://api-eu.vonage.com
PATCH /beta/meetings/themes/:theme_id

Request body application/json

update_details
object
theme_name
string | Max: 200
main_color
string | Max: 7
brand_text
string | Max: 200
short_company_url
string | Max: 128

Responses

200 OK
theme_id
string
theme_name
string
domain
string
One of: VCP or VBC
account_id
string
application_id
string
main_color
string
short_company_url
string
brand_text
string
brand_image_colored
string

Colored logo's key in storage system

brand_image_white
string

White logo's key in storage system

branded_favicon
string

Favicon's key in storage system

brand_image_colored_url
string

Colored logo's link

brand_image_white_url
string

White logo's link

branded_favicon_url
string

Favicon's link

Example Request

{
  "update_details": {
    "theme_name": "Theme1",
    "main_color": "#12f64e",
    "brand_text": "Brand",
    "short_company_url": "short-url"
  }
}

Example Responses

200 400 404 409
{
  "theme_id": "abc123",
  "theme_name": "Theme1",
  "domain": "abc123",
  "account_id": "abc123",
  "application_id": "abc123",
  "main_color": "#12f64e",
  "short_company_url": "short-url",
  "brand_text": "Brand",
  "brand_image_colored": "abc123",
  "brand_image_white": "abc123",
  "branded_favicon": "abc123",
  "brand_image_colored_url": "abc123",
  "brand_image_white_url": "abc123",
  "branded_favicon_url": "abc123"
}

This endpoint does not support application/json

This endpoint does not support application/json

This endpoint does not support application/json

Change given logo to be permanent

PUT https://api-eu.vonage.com/beta/meetings/themes/:theme_id/finalizeLogos
Host https://api-eu.vonage.com
PUT /beta/meetings/themes/:theme_id/finalizeLogos

Request body application/json

keys
array of objects

List of temporary theme's logos to make permanent

key
string

List of temporary theme's logos to make permanent

Example Request

{
  "keys": [
    "logo-key1",
    "logo-key2"
  ]
}

Example Responses

200 400 404

This endpoint does not support application/json

{
  "status": 1,
  "name": "abc123",
  "message": "abc123",
  "errors": [
    {
      "logoKey": "abc123",
      "code": "abc123",
      "invalidProperty": "abc123"
    }
  ]
}

This endpoint does not support application/json

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

GET https://api-eu.vonage.com/beta/meetings/themes/logos-upload-urls
Host https://api-eu.vonage.com
GET /beta/meetings/themes/logos-upload-urls

Responses

200 OK
url
string

Storage system URL

fields
object

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

Content-Type
string
key
string

Logo's key in storage system

logoType
string
One of: white, colored or favicon
bucket
string

Bucket name to upload to

X-Amz-Algorithm
string
X-Amz-Credential
string
X-Amz-Date
string
X-Amz-Security-Token
string
Policy
string
X-Amz-Signature
string

Example Responses

200
[
  {
    "url": "https://storage-url.com",
    "fields": {
      "Content-Type": "image/png",
      "key": "auto-expiring-temp/logos/white/ca63a155-d5f0-4131-9903-c59907e53df0",
      "logoType": "abc123",
      "bucket": "abc123",
      "X-Amz-Algorithm": "abc123",
      "X-Amz-Credential": "abc123",
      "X-Amz-Date": "abc123",
      "X-Amz-Security-Token": "abc123",
      "Policy": "abc123",
      "X-Amz-Signature": "abc123"
    }
  }
]

Get rooms that associate with the theme id

GET https://api-eu.vonage.com/beta/meetings/themes/:themeId/rooms
Host https://api-eu.vonage.com
GET /beta/meetings/themes/:themeId/rooms

Query Parameter

start_id
string

The ID to start returning events at

end_id
string

The ID to end returning events at (excluding end_id itself)

Responses

200 OK
page_size
integer

The number of results returned on this page

_embedded
object
rooms
array of objects

List of all accessible rooms

id
string
display_name
string
metadata
string

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
One of: instant or long_term
recording_options
object
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
is_available
boolean

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

theme_id
string

The theme id for the room

created_at
string

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

expires_at
string

The time for when the room will be expired, expressed in ISO 8601 format

expire_after_use
boolean

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.

One of: none, after_owner_only or explicit_approval
callback_urls
object
rooms_callback_url
string

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

sessions_callback_url
string

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

recordings_callback_url
string

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

available_features
object
is_recording_available
boolean

Determine if recording feature is available in the UI.

is_chat_available
boolean

Determine if chat feature is available in the UI.

is_whiteboard_available
boolean

Determine if whiteboard feature is available in the UI.

Example Responses

200 404
{
  "page_size": 10,
  "_embedded": {
    "rooms": [
      {
        "id": "abc123",
        "display_name": "abc123",
        "metadata": "abc123",
        "type": "abc123",
        "recording_options": {
          "auto_record": false,
          "record_only_owner": false
        },
        "meeting_code": "123456789",
        "is_available": false,
        "theme_id": "abc123",
        "created_at": "abc123",
        "expires_at": "abc123",
        "expire_after_use": false,
        "join_approval_level": "abc123",
        "callback_urls": {
          "rooms_callback_url": "https://example.com",
          "sessions_callback_url": "https://example.com",
          "recordings_callback_url": "https://example.com"
        },
        "available_features": {
          "is_recording_available": true,
          "is_chat_available": true,
          "is_whiteboard_available": true
        },
        "_links": {
          "guest_url": {
            "href": "https://meetings.vonage.com/123456789"
          },
          "host_url": {
            "href": "https://meetings.vonage.com/123456789?participant_token=xyz"
          }
        }
      }
    ]
  },
  "_links": {
    "first": {
      "href": "https://api.nexmo.com/v0.1/meetings/rooms?page_size=10"
    },
    "self": {
      "href": "https://api.nexmo.com/v0.1/meetings/rooms?page_size=10&start_id=20"
    },
    "next": {
      "href": "https://api.nexmo.com/v0.1/meetings/rooms?page_size=10&start_id=30"
    },
    "prev": {
      "href": "https://api.nexmo.com/v0.1/meetings/rooms?page_size=10&end_id=20"
    }
  }
}

This endpoint does not support application/json

Update an existing application

PATCH https://api-eu.vonage.com/beta/meetings/applications
Host https://api-eu.vonage.com
PATCH /beta/meetings/applications

Request body application/json

default_theme_id
string (uuid)

The theme id to set as application default theme

Responses

200 OK
application_id
string

The application id

account_id
string

The applications account id

default_theme_id
string

The application default theme id

Example Request

{
}

Example Responses

200 400
{
  "application_id": "abc123",
  "account_id": "abc123",
  "default_theme_id": "abc123"
}

This endpoint does not support application/json

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

 

Room Expired Callback Webhook

A notification about a room becoming inactive, which means no more sessions can be created for it

POST https://example.com/webhooks/event

Request body application/json

event
string
One of: room:expired
room_id
string (uuid)
room_type
string
One of: instant or long_term
expires_at
string (date)

The time for when the room will be expired, expressed in ISO 8601 format

created_at
string (date)

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

Example Payload

{
}

Session Started Callback Webhook

A notification about a newly started session

POST https://example.com/webhooks/event

Request body application/json

event
string
One of: session:started
session_id
string
room_id
string (uuid)
started_at
string (date-time)

Example Payload

{
}

Session Ended Callback Webhook

A notification about a session that has just ended

POST https://example.com/webhooks/event

Request body application/json

event
string
One of: session:ended
session_id
string
room_id
string (uuid)
started_at
string (date-time)
ended_at
string (date-time)

Example Payload

{
}

Recording Started Callback Webhook

A notification about recording being turned on in a specific session

POST https://example.com/webhooks/event

Request body application/json

event
string
One of: recording:started
recording_id
string (uuid)
session_id
string

Example Payload

{
}

Recording Ended Callback Webhook

A notification about recording being turned off in a specific session

POST https://example.com/webhooks/event

Request body application/json

event
string
One of: recording:ended
recording_id
string (uuid)
session_id
string
started_at
string (date-time)
ended_at
string (date-time)
duration
number

Duration of the recording in seconds

Example Payload

{
}

Recording Ready Callback Webhook

A notification about recording ready to be downloaded

POST https://example.com/webhooks/event

Request body application/json

event
string
One of: recording:ready
recording_id
string (uuid)
session_id
string
room_id
string (uuid)
started_at
string (date-time)
ended_at
string (date-time)
duration
number

Duration of the recording in seconds

url
string (uri)

Example Payload

{
}

Participant Joined Callback Webhook

A notification about someone joining a specific session

POST https://example.com/webhooks/event

Request body application/json

event
string
One of: session:participant:joined
participant_id
string (uuid)
session_id
string
room_id
string (uuid)
name
string
type
string
is_host
boolean

indicates if this participant is the session's host

Example Payload

{
}

Participant Left Callback Webhook

A notification about someone leaving a specific session

POST https://example.com/webhooks/event

Request body application/json

event
string
One of: session:participant:left
participant_id
string (uuid)
session_id
string
room_id
string (uuid)
name
string
type
string
is_host
boolean

indicates if this participant is the session's host

Example Payload

{
}