Skip to content

Vonage Meetings

github-actions edited this page Jul 1, 2025 · 4 revisions

Documentation


Documentation / Vonage Meetings

Vonage Meetings SDK for Node.js

GitHub Workflow Status (branch) Codecov Latest Release Contributor Covenant License

Vonage

Warning

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.

This is the Vonage Meetings SDK for Node.js for use with Vonage APIs. To use it you will need a Vonage account. Sign up for free at vonage.com.

We recommend using this package as part of the overall @vonage/server-sdk package.

For full API documentation refer to developer.nexmo.com.

Installation

We recommend using this SDK as part of the overall @vonage/server-sdk package. Please see the main package for installation.

You can also use this SDK standalone if you only need access to just the Meetings API.

With NPM

npm install @vonage/meetings

With Yarn

yarn add @vonage/meetings

Using the Vonage Meetings SDK

As part of the Vonage Server SDK

If you are using this SDK as part of the Vonage Server SDK, you can access it as the meetings property off of the client that you instantiate.

const { Vonage, Auth } = require('@vonage/server-sdk');

const credentials = new Auth({
    apiKey: API_KEY,
    apiSecret: API_SECRET
});
const options = {};
const vonage = new Vonage(credentials, options);

(async () =>{
  for await (const room of vonage.meetings.getRooms()) {
    console.log(room);
  }
})();

Standalone

The SDK can be used standalone from the main Vonage Server SDK for Node.js if you only need to use the Meetings API. All you need to do is require('@vonage/meetings'), and use the returned object to create your own client.

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

const credentials = new Auth({
    apiKey: API_KEY,
    apiSecret: API_SECRET
});
const options = {};

const meetingsClient = new Meetings(credentials, options);

Where credentials is any option from @vonage/auth, and options is any option from @vonage/server-client

Uploading theme images

The SDK will handle all the steps for uploading images to your theme. All you need to do is pass in the themeId, logoType and the path the image file:

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

const credentials = new Auth({
    apiKey: API_KEY,
    apiSecret: API_SECRET
});
const options = {};

const meetingsClient = new Meetings(credentials, options);

await meetingsClient.uploadIcon('my-theme', LogoType.WHITE, '/path/to/image.png'),

For more information see Uploading Icons and Logos

Promises

Most methods that interact with the Vonage API uses Promises. You can either resolve these yourself, or use await to wait for a response.

const resp = await vonage.meetings.getRoom(roomId);

vonage.meetings.getRoom(roomId)
  .then(resp => console.log(resp))
  .catch(err => console.error(err));

Testing

Run:

npm run test

Enumerations

EventType

Defined in: meetings/lib/enums/eventTypes.ts:4

Enum representing different event types.

Enumeration Members

Enumeration Member Value Description Defined in
RECORDING_ENDED "recording:ended" Event type for the end of recording. meetings/lib/enums/eventTypes.ts:28
RECORDING_READY "recording:ready" Event type for a recording that is ready. meetings/lib/enums/eventTypes.ts:33
RECORDING_STARTED "recording:started" Event type for the start of recording. meetings/lib/enums/eventTypes.ts:23
ROOM_EXPIRED "room:expired" Event type for a room that has expired. meetings/lib/enums/eventTypes.ts:8
SESSION_ENDED "session:ended" Event type for the end of a session. meetings/lib/enums/eventTypes.ts:18
SESSION_PARTICIPANT_JOINED "session:participant:joined" Event type for a participant joining a session. meetings/lib/enums/eventTypes.ts:38
SESSION_PARTICIPANT_LEFT "session:participant:left" Event type for a participant leaving a session. meetings/lib/enums/eventTypes.ts:43
SESSION_STARTED "session:started" Event type for the start of a session. meetings/lib/enums/eventTypes.ts:13

JoinType

Defined in: meetings/lib/enums/joinType.ts:4

Enum representing different join approval levels for a meeting room.

Enumeration Members

Enumeration Member Value Description Defined in
AFTER_OWNER_ONLY "after_owner_only" Participants can join only after the owner has joined. meetings/lib/enums/joinType.ts:13
EXPLICIT_APPROVAL "explicit_approval" Participants need explicit approval from the host to join. meetings/lib/enums/joinType.ts:18
NONE "none" No approval is required for participants to join. meetings/lib/enums/joinType.ts:8

LogoType

Defined in: meetings/lib/enums/logoType.ts:4

Enum representing different types of logos.

Enumeration Members

Enumeration Member Value Description Defined in
COLORED "colored" Colored logo. meetings/lib/enums/logoType.ts:13
FAVICON "favicon" Favicon logo. meetings/lib/enums/logoType.ts:18
WHITE "white" White logo. meetings/lib/enums/logoType.ts:8

MeetingType

Defined in: meetings/lib/enums/meetingType.ts:4

Enum representing different types of meetings.

Enumeration Members

Enumeration Member Value Description Defined in
INSTANT "instant" Instant meeting type. An instant meeting is active for a limited duration. meetings/lib/enums/meetingType.ts:9
LONG_TERM "long_term" Long-term meeting type. A long-term meeting can last for an extended period. meetings/lib/enums/meetingType.ts:15

MicrophoneSate

Defined in: meetings/lib/enums/microphoneState.ts:4

Enum representing different states for a microphone.

Enumeration Members

Enumeration Member Value Description Defined in
DEFAULT "default" Default microphone state. meetings/lib/enums/microphoneState.ts:18
OFF "off" Microphone is turned off. meetings/lib/enums/microphoneState.ts:13
ON "on" Microphone is turned on. meetings/lib/enums/microphoneState.ts:8

RecordingStatus

Defined in: meetings/lib/enums/recordingStatus.ts:4

Enum representing different recording statuses.

Enumeration Members

Enumeration Member Value Description Defined in
PAUSED "paused" Recording is paused. meetings/lib/enums/recordingStatus.ts:18
STARTED "started" Recording has started. meetings/lib/enums/recordingStatus.ts:8
STOPPED "stopped" Recording has stopped. meetings/lib/enums/recordingStatus.ts:13
UPLOADED "uploaded" Recording has been uploaded. meetings/lib/enums/recordingStatus.ts:23

RoomLanguage

Defined in: meetings/lib/enums/roomLanguage.ts:4

Enum representing different room languages.

Enumeration Members

Enumeration Member Value Description Defined in
DEFAULT "default" Default language for the room. meetings/lib/enums/roomLanguage.ts:8
EN "en" English language. meetings/lib/enums/roomLanguage.ts:13
ES "es" Spanish language. meetings/lib/enums/roomLanguage.ts:23
HE "he" Hebrew language. meetings/lib/enums/roomLanguage.ts:18
IT "it" Italian language. meetings/lib/enums/roomLanguage.ts:33
PT "pt" Portuguese language. meetings/lib/enums/roomLanguage.ts:28

ThemeDomain

Defined in: meetings/lib/enums/themeDomain.ts:4

Enum representing different theme domains.

Enumeration Members

Enumeration Member Value Description Defined in
VBC "VBC" Theme domain for Vonage Business Communications meetings/lib/enums/themeDomain.ts:13
VCP "VCP" Theme domain for Vonage Cloud Platform meetings/lib/enums/themeDomain.ts:8

Classes

Meetings

Defined in: meetings/lib/meetings.ts:86

Client class to interact with the Meetings API to create and manage meeting rooms.

Deprecated

the meetings API is officially sunsetted by Vonage.

Remarks

This client is only available as a standalone client. It cannot be instantiated from the server-sdk package.

Example

Create a standalone Meetings Client

import { Meetings } from '@vonage/meetings';

const meetingsClient = new Meetings({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET,
  applicationId: VONAGE_APPLICATION_ID,
  privateKey: VONAGE_APPLICATION_PRIVATE_KEY_PATH
});

Extends

Constructors

Constructor
new Meetings(credentials, options?): Meetings;

Defined in: server-client/dist/lib/client.d.ts:35

Creates a new instance of the Client.

Parameters
credentials

The authentication credentials or an authentication instance.

AuthInterface | AuthParams

options?

ConfigParams

Optional configuration settings for the client.

Returns

Meetings

Inherited from

Client.constructor

Properties

auth
protected auth: AuthInterface;

Defined in: server-client/dist/lib/client.d.ts:24

The authentication instance responsible for generating authentication headers and query parameters.

Inherited from

Client.auth

authType
authType: AuthenticationType = AuthenticationType.JWT;

Defined in: meetings/lib/meetings.ts:87

The type of authentication used for the client's requests.

Overrides

Client.authType

config
protected config: ConfigParams;

Defined in: server-client/dist/lib/client.d.ts:28

Configuration settings for the client, including default hosts for various services and other request settings.

Inherited from

Client.config

FORM_BOUNDARY
FORM_BOUNDARY: string = '-------------------------Vonage-Node_SDK';

Defined in: meetings/lib/meetings.ts:92

Used to keep the form boundary consistent when uploading files

ROOM_WRITE_KEYS
ROOM_WRITE_KEYS: string[];

Defined in: meetings/lib/meetings.ts:97

List of properties from the room that can be written

THEME_WRITE_KEYS
THEME_WRITE_KEYS: string[];

Defined in: meetings/lib/meetings.ts:119

List of properties from the theme that can be written

transformers
static transformers: object;

Defined in: server-client/dist/lib/client.d.ts:11

Static property containing utility transformers.

camelCaseObjectKeys
camelCaseObjectKeys: PartialTransformFunction;
kebabCaseObjectKeys
kebabCaseObjectKeys: PartialTransformFunction;
omit()
omit: (keys, obj) => TransformedObject;
Parameters
keys

string[]

obj

ObjectToTransform

Returns

TransformedObject

snakeCaseObjectKeys
snakeCaseObjectKeys: PartialTransformFunction;
Inherited from

Client.transformers

Methods

_getIconUploadUrl()
protected _getIconUploadUrl(logo): Promise<UrlResponse>;

Defined in: meetings/lib/meetings.ts:788

Retrieves the URL for uploading an icon (logo) to the specified LogoType.

Parameters
logo

LogoType

The LogoType for which the upload URL is requested.

Returns

Promise<UrlResponse>

A promise that resolves to the URLResponse containing the upload URL and fields.

Throws

If the upload URL retrieval fails or encounters an error.

_uploadToAws()
protected _uploadToAws(urlResponse, logoFile): Promise<true>;

Defined in: meetings/lib/meetings.ts:744

Uploads a file to an AWS S3 bucket using the provided URL and fields.

Parameters
urlResponse

UrlResponse

The URL and fields required for the AWS S3 upload.

logoFile

string

The file path of the file to upload.

Returns

Promise<true>

A promise that resolves to true when the file is successfully uploaded to AWS S3.

Throws

If the upload fails or encounters an error.

addAuthenticationToRequest()
addAuthenticationToRequest(request): Promise<VetchOptions>;

Defined in: server-client/dist/lib/client.d.ts:43

Adds the appropriate authentication headers or parameters to the request based on the authentication type.

Parameters
request

VetchOptions

The request options to which authentication needs to be added.

Returns

Promise<VetchOptions>

  • The request options with the added authentication.
Inherited from

Client.addAuthenticationToRequest

addBasicAuthToRequest()
protected addBasicAuthToRequest(request): Promise<VetchOptions>;

Defined in: server-client/dist/lib/client.d.ts:71

Adds basic authentication headers to the request.

Parameters
request

VetchOptions

The request options to which authentication needs to be added.

Returns

Promise<VetchOptions>

  • The request options with the added authentication.
Inherited from

Client.addBasicAuthToRequest

addJWTToRequest()
protected addJWTToRequest(request): Promise<VetchOptions>;

Defined in: server-client/dist/lib/client.d.ts:64

Adds a JWT to the request.

Parameters
request

VetchOptions

The request options to which authentication needs to be added.

Returns

Promise<VetchOptions>

  • The request options with the added authentication.
Inherited from

Client.addJWTToRequest

addQueryKeySecretToRequest()
protected addQueryKeySecretToRequest(request): Promise<VetchOptions>;

Defined in: server-client/dist/lib/client.d.ts:57

Adds API key and secret to the request.

Parameters
request

VetchOptions

The request options to which authentication needs to be added.

Returns

Promise<VetchOptions>

  • The request options with the added authentication.
Inherited from

Client.addQueryKeySecretToRequest

addQueryKeySecretToRequestBody()
protected addQueryKeySecretToRequestBody(request): Promise<VetchOptions>;

Defined in: server-client/dist/lib/client.d.ts:50

Adds API key and secret to the request body.

Parameters
request

VetchOptions

The request options to which authentication needs to be added.

Returns

Promise<VetchOptions>

  • The request options with the added authentication.
Inherited from

Client.addQueryKeySecretToRequestBody

createRoom()
createRoom(room): Promise<MeetingRoom>;

Defined in: meetings/lib/meetings.ts:252

Creates a new meeting room.

Parameters
room

MeetingRoom

The meeting room object to create.

Returns

Promise<MeetingRoom>

A promise that resolves to the created meeting room.

Example

Create a new meeting room

const room = await meetingsClient.createRoom({
  displayName: 'My Room',
  metadata: {
    my_data: 'my_value'
  }
});
console.log(`Created room with ID ${room.id}`);
createTheme()
createTheme(theme): Promise<Theme>;

Defined in: meetings/lib/meetings.ts:512

Creates a new theme with the provided theme details.

Parameters
theme

Theme

The theme details to create.

Returns

Promise<Theme>

A Promise that resolves with the created theme.

Example

Create a new themes

const theme = await meetingsClient.createTheme({
  themeName: 'My Theme',
  mainColor: '#C0FFEE',
  brandText: 'My Brand',
  shortCompanyUrl: 'my-brand'
});
console.log(`Created theme with ID ${theme.id}`);
deleteRecording()
deleteRecording(recordingId): Promise<void>;

Defined in: meetings/lib/meetings.ts:374

Deletes a recording by its ID.

Parameters
recordingId

string

The ID of the recording to delete.

Returns

Promise<void>

A promise that resolves when the recording is successfully deleted.

Example

Delete a recording by ID

await meetingsClient.deleteRecording('my-recording-id');
console.log(`Recording with ID ${recordingId} has been deleted`);
deleteTheme()
deleteTheme(themeId, force?): Promise<void>;

Defined in: meetings/lib/meetings.ts:484

Deletes a theme by its theme ID.

Parameters
themeId

string

The ID of the theme to delete.

force?

boolean = false

Whether to force the deletion even if it's associated with rooms.

Returns

Promise<void>

A Promise that resolves when the theme is successfully deleted.

Example

Delete a theme by ID

await meetingsClient.deleteTheme('my-theme-id');
console.log(`Theme with ID ${themeId} has been deleted`);
getConfig()
getConfig(): ConfigParams;

Defined in: server-client/dist/lib/client.d.ts:36

Returns

ConfigParams

Inherited from

Client.getConfig

getDialInNumbers()
getDialInNumbers(): AsyncGenerator<DialInNumber, void & DialInNumber, undefined>;

Defined in: meetings/lib/meetings.ts:398

Retrieves a list of dial-in numbers.

Returns

AsyncGenerator<DialInNumber, void & DialInNumber, undefined>

An asynchronous generator that yields dial-in numbers.

Remarks

All numbers will be returned in one request

Example

Get a list of dial-in numbers

for await (const number of meetingsClient.getDialInNumbers()) {
  console.log(`Dial-in number ${number.number} is in ${number.country}`);
}
getRecording()
getRecording(recordingId): Promise<Recording>;

Defined in: meetings/lib/meetings.ts:315

Retrieves a recording by its ID.

Parameters
recordingId

string

The ID of the recording to retrieve.

Returns

Promise<Recording>

A promise that resolves to the recording.

Example

Get a recording by ID

const recording = await meetingsClient.getRecording('my-recording-id');
console.log(`Recording ${recording.id} started at ${recording.startedAt}`);
console.log(`Recording ${recording.id} ended at ${recording.endedAt}`);
getRoom()
getRoom(roomId): Promise<MeetingRoom>;

Defined in: meetings/lib/meetings.ts:224

Retrieves a meeting room by its ID.

Parameters
roomId

string

The ID of the meeting room to retrieve.

Returns

Promise<MeetingRoom>

A promise that resolves to the meeting room.

Example

Get a meeting room by ID

const room = await meetingsClient.getRoom('my-room-id');
console.log(`Room ${room.id} has ${room.participants} participants`);
console.log(`Room ${room.id} has ${room.members} members`);
console.log(`Room ${room.id} has ${room.sessions} sessions`);
console.log(`Room ${room.id} has ${room.recordings} recordings`);
getRoomPage()
getRoomPage(params): Promise<MeetingRoomPageResponse>;

Defined in: meetings/lib/meetings.ts:195

Retrieves a page of meeting rooms based on the provided parameters.

Parameters
params

MeetingRoomParams = {}

Optional parameters for pagination.

Returns

Promise<MeetingRoomPageResponse>

A promise that resolves to a page of meeting rooms.

Examples

Get a page of meeting rooms

const resp = await meetingsClient.getRoomPage();
console.log(`There are ${resp.totalItems} meeting rooms`);
console.log(`There are ${resp.pageSize} meeting rooms per page`);

Get a specific page of meeting rooms

const resp = await meetingsClient.getRoomPage({pageSize: 10, pageNumber: 2});
console.log(`There are ${resp.totalItems} meeting rooms`);
console.log(`There are ${resp.pageSize} meeting rooms per page`);
getRooms()
getRooms(params): AsyncGenerator<MeetingRoom, void & MeetingRoom, undefined>;

Defined in: meetings/lib/meetings.ts:145

Retrieves a list of meeting rooms until there are no more pages

Parameters
params

MeetingRoomParams = {}

Optional parameters for pagination.

Returns

AsyncGenerator<MeetingRoom, void & MeetingRoom, undefined>

An async generator of meeting rooms.

Example

Generate a list of meeting rooms

for await (const room of meetingsClient.getRooms()) {
 console.log(`Room ${room.id} has ${room.participants} participants`);
 console.log(`Room ${room.id} has ${room.sessions} sessions`);
 console.log(`Room ${room.id} has ${room.recordings} recordings`);
 console.log(`Room ${room.id} has ${room.members} members`);
 }
getRoomsForTheme()
getRoomsForTheme(themeId, params): AsyncGenerator<MeetingRoom, void & MeetingRoom, undefined>;

Defined in: meetings/lib/meetings.ts:582

Retrieves a list of meeting rooms associated with a specific theme. This will keep calling the API until there are no more pages

Parameters
themeId

string

The ID of the theme for which to retrieve meeting rooms.

params

MeetingRoomParams = {}

Optional parameters to filter and paginate the results.

Returns

AsyncGenerator<MeetingRoom, void & MeetingRoom, undefined>

An async generator that yields meeting rooms associated with the theme.

Example

Get meeting rooms for a theme

for await (const room of meetingsClient.getRoomsForTheme('my-theme-id')) {
  console.log(`Room ${room.id} has ${room.participants} participants`);
  console.log(`Room ${room.id} has ${room.sessions} sessions`);
  console.log(`Room ${room.id} has ${room.recordings} recordings`);
  console.log(`Room ${room.id} has ${room.members} members`);
}
getRoomsForThemePage()
getRoomsForThemePage(themeId, params): Promise<MeetingRoomPageResponse>;

Defined in: meetings/lib/meetings.ts:632

Retrieves a page of meeting rooms associated with a specific theme.

Parameters
themeId

string

The ID of the theme for which to retrieve meeting rooms.

params

MeetingRoomParams = {}

Optional parameters to filter and paginate the results.

Returns

Promise<MeetingRoomPageResponse>

A promise that resolves to a page of meeting rooms associated with the theme.

Examples

Get a page of meeting rooms for a theme

const resp = await meetingsClient.getRoomsForThemePage('my-theme-id');
console.log(`There are ${resp.totalItems} meeting rooms`);
console.log(`There are ${resp.pageSize} meeting rooms per page`);

Get a specific page of meeting rooms for a theme

const resp = await meetingsClient.getRoomsForThemePage('my-theme-id', {pageSize: 10, pageNumber: 2});
console.log(`There are ${resp.totalItems} meeting rooms`);
console.log(`There are ${resp.pageSize} meeting rooms per page`);
getSessionRecordings()
getSessionRecordings(sessionId): AsyncGenerator<Recording, void & Recording, undefined>;

Defined in: meetings/lib/meetings.ts:345

Retrieves recordings associated with a session by its ID until there are no more recordings

Parameters
sessionId

string

The ID of the session for which to retrieve recordings.

Returns

AsyncGenerator<Recording, void & Recording, undefined>

An async generator that yields recordings associated with the session.

Remarks

All the recordings will be returned in one request. There could be a large number of recordings.

Example

Get recordings for a session

for await (const recording of meetingsClient.getSessionRecordings('my-session-id')) {
 console.log(`Recording ${recording.id} started at ${recording.startedAt}`);
 console.log(`Recording ${recording.id} ended at ${recording.endedAt}`);
}
getTheme()
getTheme(themeId): Promise<Theme>;

Defined in: meetings/lib/meetings.ts:460

Retrieves a theme by its theme ID.

Parameters
themeId

string

The ID of the theme to retrieve.

Returns

Promise<Theme>

A Promise that resolves to the retrieved theme.

Example

Get a theme by ID

const theme = await meetingsClient.getTheme('my-theme-id');
console.log(`Theme ${theme.themeName} has ID ${theme.id}`);
getThemes()
getThemes(): AsyncGenerator<Theme, void & Theme, undefined>;

Defined in: meetings/lib/meetings.ts:432

Retrieves a list of themes.

Returns

AsyncGenerator<Theme, void & Theme, undefined>

An asynchronous generator that yields themes.

Remarks

All themes are returned in one request

Example

Get a list of getThemes

for await (const theme of meetingsClient.getThemes()) {
  console.log(`Theme ${theme.themeName} has ID ${theme.id}`);
}
parseResponse()
protected parseResponse<T>(request, response): Promise<VetchResponse<T>>;

Defined in: server-client/dist/lib/client.d.ts:168

Parses the response based on its content type.

Type Parameters
T

T

The expected type of the parsed response data.

Parameters
request

VetchOptions

The request options.

response

Response

The raw response from the request.

Returns

Promise<VetchResponse<T>>

  • The parsed response.
Inherited from

Client.parseResponse

prepareBody()
protected prepareBody(request): undefined | string;

Defined in: server-client/dist/lib/client.d.ts:158

Prepares the body for the request based on the content type.

Parameters
request

VetchOptions

The request options.

Returns

undefined | string

  • The prepared request body as a string or undefined.
Inherited from

Client.prepareBody

prepareRequest()
protected prepareRequest(request): Promise<VetchOptions>;

Defined in: server-client/dist/lib/client.d.ts:151

Prepares the request with necessary headers, authentication, and query parameters.

Parameters
request

VetchOptions

The initial request options.

Returns

Promise<VetchOptions>

  • The modified request options.
Inherited from

Client.prepareRequest

sendDeleteRequest()
sendDeleteRequest<T>(url): Promise<VetchResponse<T>>;

Defined in: server-client/dist/lib/client.d.ts:78

Sends a DELETE request to the specified URL.

Type Parameters
T

T

Parameters
url

string

The URL endpoint for the DELETE request.

Returns

Promise<VetchResponse<T>>

  • The response from the DELETE request.
Inherited from

Client.sendDeleteRequest

sendFormSubmitRequest()
sendFormSubmitRequest<T>(url, payload?): Promise<VetchResponse<T>>;

Defined in: server-client/dist/lib/client.d.ts:86

Sends a POST request with form data to the specified URL.

Type Parameters
T

T

Parameters
url

string

The URL endpoint for the POST request.

payload?

Record<string, undefined | string>

Optional payload containing form data to send with the POST request.

Returns

Promise<VetchResponse<T>>

  • The response from the POST request.
Inherited from

Client.sendFormSubmitRequest

sendGetRequest()
sendGetRequest<T>(url, queryParams?): Promise<VetchResponse<T>>;

Defined in: server-client/dist/lib/client.d.ts:94

Sends a GET request to the specified URL with optional query parameters.

Type Parameters
T

T

Parameters
url

string

The URL endpoint for the GET request.

queryParams?

Optional query parameters to append to the URL. These should be compatible with Node's URLSearchParams.

Returns

Promise<VetchResponse<T>>

  • The response from the GET request.
Inherited from

Client.sendGetRequest

sendPatchRequest()
sendPatchRequest<T>(url, payload?): Promise<VetchResponse<T>>;

Defined in: server-client/dist/lib/client.d.ts:104

Sends a PATCH request to the specified URL with an optional payload.

Type Parameters
T

T

Parameters
url

string

The URL endpoint for the PATCH request.

payload?

Optional payload to be sent as the body of the PATCH request.

Returns

Promise<VetchResponse<T>>

  • The response from the PATCH request.
Inherited from

Client.sendPatchRequest

sendPostRequest()
sendPostRequest<T>(url, payload?): Promise<VetchResponse<T>>;

Defined in: server-client/dist/lib/client.d.ts:114

Sends a POST request to the specified URL with an optional payload.

Type Parameters
T

T

Parameters
url

string

The URL endpoint for the POST request.

payload?

Optional payload to be sent as the body of the POST request.

Returns

Promise<VetchResponse<T>>

  • The response from the POST request.
Inherited from

Client.sendPostRequest

sendPutRequest()
sendPutRequest<T>(url, payload?): Promise<VetchResponse<T>>;

Defined in: server-client/dist/lib/client.d.ts:124

Sends a PUT request to the specified URL with an optional payload.

Type Parameters
T

T

Parameters
url

string

The URL endpoint for the PUT request.

payload?

Optional payload to be sent as the body of the PUT request.

Returns

Promise<VetchResponse<T>>

  • The response from the PUT request.
Inherited from

Client.sendPutRequest

sendRequest()
sendRequest<T>(request): Promise<VetchResponse<T>>;

Defined in: server-client/dist/lib/client.d.ts:144

Sends a request adding necessary headers, handling authentication, and parsing the response.

Type Parameters
T

T

Parameters
request

VetchOptions

The options defining the request, including URL, method, headers, and data.

Returns

Promise<VetchResponse<T>>

  • The parsed response from the request.
Inherited from

Client.sendRequest

sendRequestWithData()
sendRequestWithData<T>(
   method, 
   url, 
payload?): Promise<VetchResponse<T>>;

Defined in: server-client/dist/lib/client.d.ts:135

Sends a request with JSON-encoded data to the specified URL using the provided HTTP method.

Type Parameters
T

T

Parameters
method

The HTTP method to be used for the request (only POST, PATCH, or PUT are acceptable).

POST | PUT | PATCH

url

string

The URL endpoint for the request.

payload?

Optional payload to be sent as the body of the request, JSON-encoded.

Returns

Promise<VetchResponse<T>>

  • The response from the request.
Inherited from

Client.sendRequestWithData

setDefaultTheme()
setDefaultTheme(themeId): Promise<true>;

Defined in: meetings/lib/meetings.ts:659

Sets the default theme for the application.

Parameters
themeId

string

The ID of the theme to set as the default theme.

Returns

Promise<true>

A promise that resolves to true when the default theme is set successfully.

Example

Set the default theme

await meetingsClient.setDefaultTheme('my-theme-id');
console.log(`Default theme has been set`);
updateRoom()
updateRoom(roomId, room): Promise<MeetingRoom>;

Defined in: meetings/lib/meetings.ts:285

Updates an existing meeting room.

Parameters
roomId

string

The ID of the meeting room to update.

room

MeetingRoom

The meeting room object with updated information.

Returns

Promise<MeetingRoom>

A promise that resolves to the updated meeting room.

Example

Update a meeting room

const room = await meetingsClient.updateRoom('my-room-id', {
  displayName: 'My Room',
  metadata: {
    my_data: 'my_value'
  }
});
console.log(`Updated room with ID ${room.id}`);
updateTheme()
updateTheme(themeId, theme): Promise<Theme>;

Defined in: meetings/lib/meetings.ts:545

Updates an existing theme with the provided theme details.

Parameters
themeId

string

The ID of the theme to update.

theme

Theme

The updated theme details.

Returns

Promise<Theme>

A Promise that resolves with the updated theme.

Example

Update a theme

const theme = await meetingsClient.updateTheme('my-theme-id', {
  themeName: 'My Theme',
  mainColor: '#C0FFEE',
  brandText: 'My Brand',
  shortCompanyUrl: 'my-brand'
});
console.log(`Updated theme with ID ${theme.id}`);
uploadIcon()
uploadIcon(
   themeId, 
   logo, 
logoFile): Promise<true>;

Defined in: meetings/lib/meetings.ts:697

Uploads an icon (logo) to a theme.

Parameters
themeId

string

The ID of the theme to which the icon will be attached.

logo

LogoType

The type of logo to upload (e.g., LogoType.WHITE, LogoType.COLORED).

logoFile

string

The file path of the logo to upload.

Returns

Promise<true>

A promise that resolves to true when the icon is uploaded and attached to the theme successfully.

Remarks

To add icons and logos to a theme, they first need to be uploaded to the Meetings API AWS bucket, and then paired with the respective theme. You should also ensure that your Logos and Favicons adhere to the Image.

See

Uploading Icons and Logos https://developer.vonage.com/en/meetings/guides/upload-icons-logo

Throws

If the file specified by logoFile does not exist or if the upload fails.

Example

Upload an icon to a theme

await meetingsClient.uploadIcon('my-theme-id', LogoType.WHITE, '/path/to/white-logo.png');
console.log(`Icon has been uploaded`);

Interfaces

RecordingEndedInterface

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:46

Deprecated

Exported as interface in error. Please use RecordingEnded

Extends

Properties

duration
duration: number;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:40

The duration of the recording in seconds.

Inherited from

RecordingEnded.duration

ended_at
ended_at: string;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:35

The date and time when the recording ended.

Inherited from

RecordingEnded.ended_at

event
event: RECORDING_ENDED;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:15

The type of event, which is 'recording:ended'.

Inherited from

RecordingEnded.event

recording_id
recording_id: string;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:20

The unique identifier for the recording.

Inherited from

RecordingEnded.recording_id

session_id
session_id: string;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:25

The unique identifier for the session associated with the recording.

Inherited from

RecordingEnded.session_id

started_at
started_at: string;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:30

The date and time when the recording started.

Inherited from

RecordingEnded.started_at


RecordingReadyInterface

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:56

Deprecated

Exported as interface in error. Please use RecordingReady

Extends

Properties

duration
duration: number;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:45

The duration of the recording in seconds.

Inherited from

RecordingReady.duration

ended_at
ended_at: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:40

The date and time when the recording ended.

Inherited from

RecordingReady.ended_at

event
event: RECORDING_READY;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:15

The type of event, which is 'recording:ready'.

Inherited from

RecordingReady.event

recording_id
recording_id: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:20

The unique identifier for the recording.

Inherited from

RecordingReady.recording_id

room_id
room_id: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:30

The unique identifier for the room associated with the recording.

Inherited from

RecordingReady.room_id

session_id
session_id: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:25

The unique identifier for the session associated with the recording.

Inherited from

RecordingReady.session_id

started_at
started_at: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:35

The date and time when the recording started.

Inherited from

RecordingReady.started_at

url
url: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:50

The URL where the recording can be accessed.

Inherited from

RecordingReady.url


RecordingStartedInterface

Defined in: meetings/lib/types/events/recordingStartedEvent.ts:31

Deprecated

Exported as interface in error. Please use RecordingStarted

Extends

Properties

event
event: RECORDING_STARTED;

Defined in: meetings/lib/types/events/recordingStartedEvent.ts:15

The type of event, which is 'recording:started'.

Inherited from

RecordingStarted.event

recording_id
recording_id: string;

Defined in: meetings/lib/types/events/recordingStartedEvent.ts:20

The unique identifier for the recording.

Inherited from

RecordingStarted.recording_id

session_id
session_id: string;

Defined in: meetings/lib/types/events/recordingStartedEvent.ts:25

The unique identifier for the session associated with the recording.

Inherited from

RecordingStarted.session_id


RoomExpiredInterface

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:42

Deprecated

Exported as interface in error. Please use RoomExpired

Extends

Properties

created_at
created_at: string;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:36

The date and time when the room was created, expressed in ISO 8601 format.

Inherited from

RoomExpired.created_at

event
event: ROOM_EXPIRED;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:15

The type of event, which is 'room:expired'.

Inherited from

RoomExpired.event

expires_at
expires_at: string;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:31

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

Inherited from

RoomExpired.expires_at

room_id
room_id: string;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:20

The unique identifier for the room.

Inherited from

RoomExpired.room_id

room_type
room_type: MeetingType;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:25

The type of meeting associated with the room.

Inherited from

RoomExpired.room_type


SessionEndedInterface

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:41

Deprecated

Exported as interface in error. Please use SessionEnded

Extends

Properties

ended_at
ended_at: string;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:35

The date and time when the session ended.

Inherited from

SessionEnded.ended_at

event
event: SESSION_ENDED;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:15

The type of event, which is 'session:ended'.

Inherited from

SessionEnded.event

room_id
room_id: string;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:25

The unique identifier for the room associated with the session.

Inherited from

SessionEnded.room_id

session_id
session_id: string;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:20

The unique identifier for the session.

Inherited from

SessionEnded.session_id

started_at
started_at: string;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:30

The date and time when the session started.

Inherited from

SessionEnded.started_at


SessionStartedInterface

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:36

Deprecated

Exported as interface in error. Please use SessionStarted

Extends

Properties

event
event: SESSION_STARTED;

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:15

The type of event, which is 'session:started'.

Inherited from

SessionStarted.event

room_id
room_id: string;

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:25

The unique identifier for the room associated with the session.

Inherited from

SessionStarted.room_id

session_id
session_id: string;

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:20

The unique identifier for the session.

Inherited from

SessionStarted.session_id

started_at
started_at: string;

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:30

The date and time when the session started.

Inherited from

SessionStarted.started_at

Type Aliases

AvailableFeatures

type AvailableFeatures = object;

Defined in: meetings/lib/types/availableFeatures.ts:4

Represents available features for a meeting room.

Properties

isCaptionsAvailable?
optional isCaptionsAvailable: boolean;

Defined in: meetings/lib/types/availableFeatures.ts:28

Indicates if captions are available in the UI.

isChatAvailable?
optional isChatAvailable: boolean;

Defined in: meetings/lib/types/availableFeatures.ts:13

Indicates if chat feature is available in the UI.

isLocaleSwitcherAvailable?
optional isLocaleSwitcherAvailable: boolean;

Defined in: meetings/lib/types/availableFeatures.ts:23

Indicates if the locale switcher is available in the UI.

isRecordingAvailable?
optional isRecordingAvailable: boolean;

Defined in: meetings/lib/types/availableFeatures.ts:8

Indicates if recording feature is available in the UI.

isWhiteboardAvailable?
optional isWhiteboardAvailable: boolean;

Defined in: meetings/lib/types/availableFeatures.ts:18

Indicates if whiteboard feature is available in the UI.


AvailableFeaturesResponse

type AvailableFeaturesResponse = object;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:69

Represents available features in the user interface of a meeting room.

Remarks

Vonage API's will return information using snake_case. This represents the pure response before the client will transform the keys into camelCase

Properties

is_captions_available
is_captions_available: boolean;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:93

Determine if captions are available in the UI.

is_chat_available
is_chat_available: boolean;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:78

Determine if the chat feature is available in the UI.

is_locale_switcher_available
is_locale_switcher_available: boolean;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:88

Determine if the locale switcher is available in the UI.

is_recording_available
is_recording_available: boolean;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:73

Determine if the recording feature is available in the UI.

is_whiteboard_available
is_whiteboard_available: boolean;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:83

Determine if the whiteboard feature is available in the UI.


CallbackUrlsResponse

type CallbackUrlsResponse = object;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:45

Represents callback URLs for events related to a meeting room.

Remarks

Vonage API's will return information using snake_case. This represents the pure response before the client will transform the keys into camelCase

Properties

recordings_callback_url
recordings_callback_url: string;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:59

Callback URL for recordings events, overrides application-level recordings callback URL.

rooms_callback_url
rooms_callback_url: string;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:49

Callback URL for rooms events, overrides application-level rooms callback URL.

sessions_callback_url
sessions_callback_url: string;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:54

Callback URL for sessions events, overrides application-level sessions callback URL.


DefaultThemeResponse

type DefaultThemeResponse = object;

Defined in: meetings/lib/types/response/defaultThemeResponse.ts:4

Represents the response containing default theme information.

Properties

account_id
account_id: string;

Defined in: meetings/lib/types/response/defaultThemeResponse.ts:13

The account ID associated with the default theme.

application_id
application_id: string;

Defined in: meetings/lib/types/response/defaultThemeResponse.ts:8

The application ID associated with the default theme.

default_theme_id
default_theme_id: string;

Defined in: meetings/lib/types/response/defaultThemeResponse.ts:18

The ID of the default theme.


DialInNumber

type DialInNumber = object;

Defined in: meetings/lib/types/dialInNumber.ts:4

Represents a dial-in number with associated information.

Properties

displayName
displayName: string;

Defined in: meetings/lib/types/dialInNumber.ts:18

The display name or label for the dial-in number.

locale
locale: string;

Defined in: meetings/lib/types/dialInNumber.ts:13

The locale or region associated with the dial-in number.

number
number: string;

Defined in: meetings/lib/types/dialInNumber.ts:8

The phone number for dialing in.


InitialJoinOptionsResponse

type InitialJoinOptionsResponse = object;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:31

Represents the default options for participants when joining a meeting room.

Remarks

Vonage API's will return information using snake_case. This represents the pure response before the client will transform the keys into camelCase

Properties

microphone_state
microphone_state: MicrophoneSate;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:35

The default microphone state for users in the pre-join screen of this room.


MeetingRoom

type MeetingRoom = object;

Defined in: meetings/lib/types/meetingRoom.ts:14

Represents a meeting room with associated properties.

Properties

availableFeatures
availableFeatures: AvailableFeatures;

Defined in: meetings/lib/types/meetingRoom.ts:93

Available features for the meeting room's user interface.

callbackUrls?
optional callbackUrls: RoomCallbackURLS;

Defined in: meetings/lib/types/meetingRoom.ts:88

Callback URLs for various room-related events.

createdAt?
optional createdAt: string;

Defined in: meetings/lib/types/meetingRoom.ts:58

The date and time when the meeting room was created.

displayName
displayName: string;

Defined in: meetings/lib/types/meetingRoom.ts:23

The display name or label for the meeting room.

expireAfterUse?
optional expireAfterUse: boolean;

Defined in: meetings/lib/types/meetingRoom.ts:68

Indicates whether the room should expire after use (only relevant for long-term rooms).

expiresAt?
optional expiresAt: string;

Defined in: meetings/lib/types/meetingRoom.ts:63

The date and time when the meeting room will expire.

guestUrl?
optional guestUrl: string;

Defined in: meetings/lib/types/meetingRoom.ts:113

The URL for joining the meeting room as a guest.

hostUrl?
optional hostUrl: string;

Defined in: meetings/lib/types/meetingRoom.ts:108

The URL for joining the meeting room as a host.

id?
optional id: string;

Defined in: meetings/lib/types/meetingRoom.ts:18

The unique identifier for the meeting room.

initialJoinOptions?
optional initialJoinOptions: object;

Defined in: meetings/lib/types/meetingRoom.ts:78

Options for participants when they initially join the room.

microphoneState?
optional microphoneState: MicrophoneSate;

The default microphone state for users in the pre-join screen of this room.

isAvailable?
optional isAvailable: boolean;

Defined in: meetings/lib/types/meetingRoom.ts:48

Indicates whether the meeting room is available for use.

joinApprovalLevel?
optional joinApprovalLevel: JoinType;

Defined in: meetings/lib/types/meetingRoom.ts:73

The level of approval needed to join the meeting in the room.

meetingCode?
optional meetingCode: string;

Defined in: meetings/lib/types/meetingRoom.ts:43

The meeting PIN number or code.

metadata?
optional metadata: string;

Defined in: meetings/lib/types/meetingRoom.ts:28

Additional metadata or information about the meeting room.

recordingOptions?
optional recordingOptions: RecordingOptions;

Defined in: meetings/lib/types/meetingRoom.ts:38

Options related to recording meetings in the room.

themeId?
optional themeId: string;

Defined in: meetings/lib/types/meetingRoom.ts:53

The unique identifier for the theme associated with the meeting room.

type
type: MeetingType;

Defined in: meetings/lib/types/meetingRoom.ts:33

The type of meeting, which can be instant or long term.

uiSettings?
optional uiSettings: object;

Defined in: meetings/lib/types/meetingRoom.ts:98

User interface settings for the meeting room.

language?
optional language: RoomLanguage;

The desired language of the UI.


MeetingRoomPageResponse

type MeetingRoomPageResponse = object & APILinks;

Defined in: meetings/lib/types/response/meetingRoomPageResponse.ts:7

Represents the response for a page of meeting rooms.

Type declaration

_embedded
_embedded: MeetingRoomResponse[];

An array of meeting room responses embedded within the page.

page_size
page_size: number;

The number of meeting rooms on the page.

total_items
total_items: number;

The total number of meeting rooms across all pages.


MeetingRoomParams

type MeetingRoomParams = object;

Defined in: meetings/lib/types/meetingRoomParams.ts:4

Represents parameters for querying meeting rooms.

Properties

endId?
optional endId: string;

Defined in: meetings/lib/types/meetingRoomParams.ts:18

The ending identifier for filtering meeting rooms.

pageSize?
optional pageSize: number;

Defined in: meetings/lib/types/meetingRoomParams.ts:8

The maximum number of items to retrieve per page.

startId?
optional startId: string;

Defined in: meetings/lib/types/meetingRoomParams.ts:13

The starting identifier for filtering meeting rooms.


MeetingRoomResponse

type MeetingRoomResponse = object & APILinks & Omit<MeetingRoom, 
  | "displayName"
  | "recordingOptions"
  | "meetingCode"
  | "isAvailable"
  | "themeId"
  | "createdAt"
  | "expiresAt"
  | "expireAfterUse"
  | "joinApprovalLevel"
  | "initialJoinOptions"
  | "callbackUrls"
  | "availableFeatures"
| "uiSettings">;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:117

Represents the response structure for a meeting room.

Type declaration

_links?
optional _links: object;

Links for guest and host URLs to join the meeting room.

_links.guest_url
_links.guest_url: APILink;
_links.host_url
_links.host_url: APILink;
available_features
available_features: AvailableFeaturesResponse;

Available features in the meeting room's user interface.

callback_urls
callback_urls: CallbackUrlsResponse;

Callback URLs for events related to the room.

created_at
created_at: string;

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

display_name
display_name: string;

The display name of the meeting room.

expire_after_use
expire_after_use: string;

Indicates whether to expire the room after a session ends.

expires_at
expires_at: string;

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

initial_join_options
initial_join_options: InitialJoinOptionsResponse;

Default options for participants joining the room.

is_available
is_available: boolean;

Indicates whether the meeting room is available.

join_approval_level
join_approval_level: JoinType;

The level of approval needed to join the meeting in the room.

meeting_code
meeting_code: string;

The meeting PIN.

recording_options
recording_options: RecordingOptionsResponse;

Recording options for the meeting room.

theme_id
theme_id: string;

The theme UUID associated with the meeting room.

ui_settings
ui_settings: UiSettingsResponse;

User interface settings for the meeting room.

Remarks

Vonage API's will return information using snake_case. This represents the pure response before the client will transform the keys into camelCase


Recording

type Recording = object;

Defined in: meetings/lib/types/recording.ts:6

Represents a recording with associated properties.

Properties

endedAt
endedAt: string;

Defined in: meetings/lib/types/recording.ts:25

The date and time when the recording ended.

id
id: string;

Defined in: meetings/lib/types/recording.ts:10

The unique identifier for the recording.

sessionId
sessionId: string;

Defined in: meetings/lib/types/recording.ts:15

The unique identifier for the session associated with the recording.

startedAt
startedAt: string;

Defined in: meetings/lib/types/recording.ts:20

The date and time when the recording started.

status
status: RecordingStatus;

Defined in: meetings/lib/types/recording.ts:30

The status of the recording.

url
url: string;

Defined in: meetings/lib/types/recording.ts:35

The URL where the recording can be accessed.


RecordingEnded

type RecordingEnded = object;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:11

Represents an event for recording ended.

Remarks

The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling

Extended by

Properties

duration
duration: number;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:40

The duration of the recording in seconds.

ended_at
ended_at: string;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:35

The date and time when the recording ended.

event
event: RECORDING_ENDED;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:15

The type of event, which is 'recording:ended'.

recording_id
recording_id: string;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:20

The unique identifier for the recording.

session_id
session_id: string;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:25

The unique identifier for the session associated with the recording.

started_at
started_at: string;

Defined in: meetings/lib/types/events/recordingEndedEvent.ts:30

The date and time when the recording started.


RecordingOptions

type RecordingOptions = object;

Defined in: meetings/lib/types/recordingOptions.ts:4

Represents options for recording a meeting.

Properties

autoRecord
autoRecord: boolean;

Defined in: meetings/lib/types/recordingOptions.ts:8

Indicates whether recording should be automatically started for all sessions.

recordOnlyOwner
recordOnlyOwner: boolean;

Defined in: meetings/lib/types/recordingOptions.ts:13

Indicates whether recording should be limited to the owner's screen or any shared screen.


RecordingOptionsResponse

type RecordingOptionsResponse = object;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:12

Represents recording options for a meeting room.

Remarks

Vonage API's will return information using snake_case. This represents the pure response before the client will transform the keys into camelCase

Properties

auto_record
auto_record: boolean;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:16

Indicates whether to automatically record all sessions in this room.

record_owner_only
record_owner_only: boolean;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:21

Indicates whether to record only the owner's screen or any shared screen during video.


RecordingReady

type RecordingReady = object;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:11

Represents an event type for recording readiness.

Remarks

The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling

Extended by

Properties

duration
duration: number;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:45

The duration of the recording in seconds.

ended_at
ended_at: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:40

The date and time when the recording ended.

event
event: RECORDING_READY;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:15

The type of event, which is 'recording:ready'.

recording_id
recording_id: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:20

The unique identifier for the recording.

room_id
room_id: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:30

The unique identifier for the room associated with the recording.

session_id
session_id: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:25

The unique identifier for the session associated with the recording.

started_at
started_at: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:35

The date and time when the recording started.

url
url: string;

Defined in: meetings/lib/types/events/recordingReadyEvent.ts:50

The URL where the recording can be accessed.


RecordingResponse

type RecordingResponse = object;

Defined in: meetings/lib/types/response/recordingResponse.ts:11

Represents a response for a recording.

Remarks

Vonage API's will return information using snake_case. This represents the pure response before the client will transform the keys into camelCase

Properties

_links
_links: object;

Defined in: meetings/lib/types/response/recordingResponse.ts:40

Links for accessing the recording URL.

url
url: APILink;

The URL to access the recording.

ended_at
ended_at: string;

Defined in: meetings/lib/types/response/recordingResponse.ts:30

The date when the recording ended, expressed in ISO 8601 format.

id
id: string;

Defined in: meetings/lib/types/response/recordingResponse.ts:15

The ID of the recording.

session_id
session_id: string;

Defined in: meetings/lib/types/response/recordingResponse.ts:20

The session ID corresponding to the recording.

started_at
started_at: string;

Defined in: meetings/lib/types/response/recordingResponse.ts:25

The date when the recording started, expressed in ISO 8601 format.

status
status: RecordingStatus;

Defined in: meetings/lib/types/response/recordingResponse.ts:35

The current status of the recording.


RecordingResponsePage

type RecordingResponsePage = object;

Defined in: meetings/lib/types/response/recordingResponsePage.ts:6

Represents a response page containing an array of recording responses.

Properties

_embedded
_embedded: object;

Defined in: meetings/lib/types/response/recordingResponsePage.ts:10

An object containing an array of recording responses embedded within the page.

recordings
recordings: RecordingResponse[];

An array of recording responses.


RecordingStarted

type RecordingStarted = object;

Defined in: meetings/lib/types/events/recordingStartedEvent.ts:11

Represents an event for recording started.

Remarks

The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling

Extended by

Properties

event
event: RECORDING_STARTED;

Defined in: meetings/lib/types/events/recordingStartedEvent.ts:15

The type of event, which is 'recording:started'.

recording_id
recording_id: string;

Defined in: meetings/lib/types/events/recordingStartedEvent.ts:20

The unique identifier for the recording.

session_id
session_id: string;

Defined in: meetings/lib/types/events/recordingStartedEvent.ts:25

The unique identifier for the session associated with the recording.


RoomCallbackURLS

type RoomCallbackURLS = object;

Defined in: meetings/lib/types/roomCallbackURLS.ts:4

Represents callback URLs for various room-related events.

Properties

recordingsCallbackUrl
recordingsCallbackUrl: string;

Defined in: meetings/lib/types/roomCallbackURLS.ts:18

The callback URL for recordings events.

roomsCallbackUrl
roomsCallbackUrl: string;

Defined in: meetings/lib/types/roomCallbackURLS.ts:8

The callback URL for rooms events.

sessionsCallbackUrl
sessionsCallbackUrl: string;

Defined in: meetings/lib/types/roomCallbackURLS.ts:13

The callback URL for sessions events.


RoomExpired

type RoomExpired = object;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:11

Represents an event for a room expiration.

Remarks

The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling

Extended by

Properties

created_at
created_at: string;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:36

The date and time when the room was created, expressed in ISO 8601 format.

event
event: ROOM_EXPIRED;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:15

The type of event, which is 'room:expired'.

expires_at
expires_at: string;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:31

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

room_id
room_id: string;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:20

The unique identifier for the room.

room_type
room_type: MeetingType;

Defined in: meetings/lib/types/events/roomExpiredEvent.ts:25

The type of meeting associated with the room.


SessionEnded

type SessionEnded = object;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:11

Represents an event for a session ending.

Remarks

The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling

Extended by

Properties

ended_at
ended_at: string;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:35

The date and time when the session ended.

event
event: SESSION_ENDED;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:15

The type of event, which is 'session:ended'.

room_id
room_id: string;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:25

The unique identifier for the room associated with the session.

session_id
session_id: string;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:20

The unique identifier for the session.

started_at
started_at: string;

Defined in: meetings/lib/types/events/sessionEndedEvent.ts:30

The date and time when the session started.


SessionStarted

type SessionStarted = object;

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:11

Represents an event for a session starting.

Remarks

The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling

Extended by

Properties

event
event: SESSION_STARTED;

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:15

The type of event, which is 'session:started'.

room_id
room_id: string;

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:25

The unique identifier for the room associated with the session.

session_id
session_id: string;

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:20

The unique identifier for the session.

started_at
started_at: string;

Defined in: meetings/lib/types/events/sessionStartedEvent.ts:30

The date and time when the session started.


Theme

type Theme = object;

Defined in: meetings/lib/types/theme.ts:6

Represents a theme configuration for meeting rooms.

Properties

accountId?
optional accountId: string;

Defined in: meetings/lib/types/theme.ts:25

The application's account ID (ApiKey).

applicationId?
optional applicationId: string;

Defined in: meetings/lib/types/theme.ts:30

The application ID.

brandedFavicon?
optional brandedFavicon: string;

Defined in: meetings/lib/types/theme.ts:60

Favicon key in the storage system.

brandedFaviconUrl?
optional brandedFaviconUrl: string;

Defined in: meetings/lib/types/theme.ts:75

Favicon link.

brandImageColored?
optional brandImageColored: string;

Defined in: meetings/lib/types/theme.ts:50

Colored logo's key in the storage system.

brandImageColoredUrl?
optional brandImageColoredUrl: string;

Defined in: meetings/lib/types/theme.ts:65

Colored logo's link.

brandImageWhite?
optional brandImageWhite: string;

Defined in: meetings/lib/types/theme.ts:55

White logo's key in the storage system.

brandImageWhiteUrl?
optional brandImageWhiteUrl: string;

Defined in: meetings/lib/types/theme.ts:70

White logo's link.

brandText
brandText: string;

Defined in: meetings/lib/types/theme.ts:45

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

domain?
optional domain: ThemeDomain;

Defined in: meetings/lib/types/theme.ts:20

The domain of the theme, which must be one of 'VCP' or 'VBC'.

mainColor
mainColor: string;

Defined in: meetings/lib/types/theme.ts:35

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

shortCompanyUrl?
optional shortCompanyUrl: string;

Defined in: meetings/lib/types/theme.ts:40

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

themeId?
optional themeId: string;

Defined in: meetings/lib/types/theme.ts:10

The unique identifier for the theme.

themeName?
optional themeName: string;

Defined in: meetings/lib/types/theme.ts:15

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


ThemeResponse

type ThemeResponse = Theme;

Defined in: meetings/lib/types/response/themeResponse.ts:3


UiSettingsResponse

type UiSettingsResponse = object;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:103

Represents user interface settings for a meeting room.

Remarks

Vonage API's will return information using snake_case. This represents the pure response before the client will transform the keys into camelCase

Properties

language
language: RoomLanguage;

Defined in: meetings/lib/types/response/meetingRoomResponse.ts:107

The desired language of the user interface.


UrlResponse

type UrlResponse = object;

Defined in: meetings/lib/types/response/urlResponse.ts:11

Represents a response containing URL and associated fields for an image.

Remarks

Uploading a theme requires fetching a singed URL form AWS. The SDK handles this process for you so there should be no need to use the type. It is included for convenience.

Properties

fields
fields: object;

Defined in: meetings/lib/types/response/urlResponse.ts:20

Fields related to the image URL.

bucket
bucket: string;

The bucket where the image is stored.

Content-Type
Content-Type: "image/png";

The content type of the image, typically 'image/png'.

key
key: string;

The key associated with the image.

logoType
logoType: LogoType;

The logo type of the image.

Policy
Policy: string;

The policy associated with image access.

X-Amz-Algorithm
X-Amz-Algorithm: string;

The AWS S3 algorithm used for access.

X-Amz-Credential
X-Amz-Credential: string;

The AWS S3 credential for access.

X-Amz-Date
X-Amz-Date: string;

The date associated with the image access.

X-Amz-Security-Token
X-Amz-Security-Token: string;

The security token for AWS access.

X-Amz-Signature
X-Amz-Signature: string;

The AWS S3 signature for image access.

url
url: string;

Defined in: meetings/lib/types/response/urlResponse.ts:15

The URL for the image.

Clone this wiki locally