Skip to content

Vonage Meetings

github-actions edited this page Jul 5, 2024 · 31 revisions

Vonage MeetingsDocs


Documentation / Vonage Meetings

Vonage Meetings

Enumerations

EventType

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

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

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

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

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

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

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

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

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

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

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

Creates a new instance of the Client.

Parameters

credentials: AuthInterface | AuthParams

The authentication credentials or an authentication instance.

options?: ConfigParams

Optional configuration settings for the client.

Returns

Meetings

Inherited from

Client.constructor

Defined in

server-client/dist/client.d.ts:30

Properties

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

Used to keep the form boundary consistent when uploading files

Defined in

meetings/lib/meetings.ts:87

ROOM_WRITE_KEYS
ROOM_WRITE_KEYS: string[];

List of properties from the room that can be written

Defined in

meetings/lib/meetings.ts:92

THEME_WRITE_KEYS
THEME_WRITE_KEYS: string[];

List of properties from the theme that can be written

Defined in

meetings/lib/meetings.ts:114

auth
protected auth: AuthInterface;

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

Inherited from

Client.auth

Defined in

server-client/dist/client.d.ts:19

authType
authType: AuthenticationType = AuthenticationType.JWT;

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

Overrides

Client.authType

Defined in

meetings/lib/meetings.ts:82

config
protected config: ConfigParams;

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

Inherited from

Client.config

Defined in

server-client/dist/client.d.ts:23

transformers
static transformers: __module;

Static property containing utility transformers.

Inherited from

Client.transformers

Defined in

server-client/dist/client.d.ts:11

Methods

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

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.

Defined in

meetings/lib/meetings.ts:765

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

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.

Defined in

meetings/lib/meetings.ts:722

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

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

Defined in

server-client/dist/client.d.ts:37

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

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}`);
Defined in

meetings/lib/meetings.ts:245

createTheme()
createTheme(theme): Promise<Theme>

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}`);
Defined in

meetings/lib/meetings.ts:496

deleteRecording()
deleteRecording(recordingId): Promise<void>

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`);
Defined in

meetings/lib/meetings.ts:363

deleteTheme()
deleteTheme(themeId, force?): Promise<void>

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`);
Defined in

meetings/lib/meetings.ts:469

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

Retrieves a list of dial-in numbers.

Returns

AsyncGenerator<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}`);
}
Defined in

meetings/lib/meetings.ts:386

getRecording()
getRecording(recordingId): Promise<Recording>

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}`);
Defined in

meetings/lib/meetings.ts:306

getRoom()
getRoom(roomId): Promise<MeetingRoom>

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`);
Defined in

meetings/lib/meetings.ts:218

getRoomPage()
getRoomPage(params): Promise<MeetingRoomPageResponse>

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`);
Defined in

meetings/lib/meetings.ts:190

getRooms()
getRooms(params): AsyncGenerator<MeetingRoom, void & MeetingRoom, undefined>

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

Parameters

params: MeetingRoomParams = {}

Optional parameters for pagination.

Returns

AsyncGenerator<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`);
 }
Defined in

meetings/lib/meetings.ts:140

getRoomsForTheme()
getRoomsForTheme(themeId, params): AsyncGenerator<MeetingRoom, void & MeetingRoom, undefined>

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, 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`);
}
Defined in

meetings/lib/meetings.ts:564

getRoomsForThemePage()
getRoomsForThemePage(themeId, params): Promise<MeetingRoomPageResponse>

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`);
Defined in

meetings/lib/meetings.ts:613

getSessionRecordings()
getSessionRecordings(sessionId): AsyncGenerator<Recording, void & Recording, undefined>

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, 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}`);
}
Defined in

meetings/lib/meetings.ts:335

getTheme()
getTheme(themeId): Promise<Theme>

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}`);
Defined in

meetings/lib/meetings.ts:446

getThemes()
getThemes(): AsyncGenerator<Theme, void & Theme, undefined>

Retrieves a list of themes.

Returns

AsyncGenerator<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}`);
}
Defined in

meetings/lib/meetings.ts:419

parseResponse()
protected parseResponse<T>(request, response): Promise<VetchResponse<T>>

Parses the response based on its content type.

Type Parameters

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

Defined in

server-client/dist/client.d.ts:134

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

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

Defined in

server-client/dist/client.d.ts:124

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

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

Defined in

server-client/dist/client.d.ts:117

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

Sends a DELETE request to the specified URL.

Type Parameters

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

Defined in

server-client/dist/client.d.ts:44

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

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

Type Parameters

T

Parameters

url: string

The URL endpoint for the POST request.

payload?: Record<string, 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

Defined in

server-client/dist/client.d.ts:52

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

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

Type Parameters

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

Defined in

server-client/dist/client.d.ts:60

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

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

Type Parameters

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

Defined in

server-client/dist/client.d.ts:70

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

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

Type Parameters

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

Defined in

server-client/dist/client.d.ts:80

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

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

Type Parameters

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

Defined in

server-client/dist/client.d.ts:90

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

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

Type Parameters

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

Defined in

server-client/dist/client.d.ts:110

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

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

Type Parameters

T

Parameters

method: POST | PUT | PATCH

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

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

Defined in

server-client/dist/client.d.ts:101

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

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`);
Defined in

meetings/lib/meetings.ts:639

updateRoom()
updateRoom(roomId, room): Promise<MeetingRoom>

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}`);
Defined in

meetings/lib/meetings.ts:277

updateTheme()
updateTheme(themeId, theme): Promise<Theme>

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}`);
Defined in

meetings/lib/meetings.ts:528

uploadIcon()
uploadIcon(
   themeId, 
   logo, 
logoFile): Promise<true>

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`);
Defined in

meetings/lib/meetings.ts:676

Interfaces

RecordingEndedInterface

Deprecated

Exported as interface in error. Please use RecordingEnded

Extends

Properties

duration
duration: number;

The duration of the recording in seconds.

Inherited from

RecordingEnded.duration

Defined in

meetings/lib/types/events/recordingEndedEvent.ts:39

ended_at
ended_at: string;

The date and time when the recording ended.

Inherited from

RecordingEnded.ended_at

Defined in

meetings/lib/types/events/recordingEndedEvent.ts:34

event
event: RECORDING_ENDED;

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

Inherited from

RecordingEnded.event

Defined in

meetings/lib/types/events/recordingEndedEvent.ts:14

recording_id
recording_id: string;

The unique identifier for the recording.

Inherited from

RecordingEnded.recording_id

Defined in

meetings/lib/types/events/recordingEndedEvent.ts:19

session_id
session_id: string;

The unique identifier for the session associated with the recording.

Inherited from

RecordingEnded.session_id

Defined in

meetings/lib/types/events/recordingEndedEvent.ts:24

started_at
started_at: string;

The date and time when the recording started.

Inherited from

RecordingEnded.started_at

Defined in

meetings/lib/types/events/recordingEndedEvent.ts:29


RecordingReadyInterface

Deprecated

Exported as interface in error. Please use RecordingReady

Extends

Properties

duration
duration: number;

The duration of the recording in seconds.

Inherited from

RecordingReady.duration

Defined in

meetings/lib/types/events/recordingReadyEvent.ts:44

ended_at
ended_at: string;

The date and time when the recording ended.

Inherited from

RecordingReady.ended_at

Defined in

meetings/lib/types/events/recordingReadyEvent.ts:39

event
event: RECORDING_READY;

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

Inherited from

RecordingReady.event

Defined in

meetings/lib/types/events/recordingReadyEvent.ts:14

recording_id
recording_id: string;

The unique identifier for the recording.

Inherited from

RecordingReady.recording_id

Defined in

meetings/lib/types/events/recordingReadyEvent.ts:19

room_id
room_id: string;

The unique identifier for the room associated with the recording.

Inherited from

RecordingReady.room_id

Defined in

meetings/lib/types/events/recordingReadyEvent.ts:29

session_id
session_id: string;

The unique identifier for the session associated with the recording.

Inherited from

RecordingReady.session_id

Defined in

meetings/lib/types/events/recordingReadyEvent.ts:24

started_at
started_at: string;

The date and time when the recording started.

Inherited from

RecordingReady.started_at

Defined in

meetings/lib/types/events/recordingReadyEvent.ts:34

url
url: string;

The URL where the recording can be accessed.

Inherited from

RecordingReady.url

Defined in

meetings/lib/types/events/recordingReadyEvent.ts:49


RecordingStartedInterface

Deprecated

Exported as interface in error. Please use RecordingStarted

Extends

Properties

event
event: RECORDING_STARTED;

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

Inherited from

RecordingStarted.event

Defined in

meetings/lib/types/events/recordingStartedEvent.ts:14

recording_id
recording_id: string;

The unique identifier for the recording.

Inherited from

RecordingStarted.recording_id

Defined in

meetings/lib/types/events/recordingStartedEvent.ts:19

session_id
session_id: string;

The unique identifier for the session associated with the recording.

Inherited from

RecordingStarted.session_id

Defined in

meetings/lib/types/events/recordingStartedEvent.ts:24


RoomExpiredInterface

Deprecated

Exported as interface in error. Please use RoomExpired

Extends

Properties

created_at
created_at: string;

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

Inherited from

RoomExpired.created_at

Defined in

meetings/lib/types/events/roomExpiredEvent.ts:35

event
event: ROOM_EXPIRED;

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

Inherited from

RoomExpired.event

Defined in

meetings/lib/types/events/roomExpiredEvent.ts:14

expires_at
expires_at: string;

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

Defined in

meetings/lib/types/events/roomExpiredEvent.ts:30

room_id
room_id: string;

The unique identifier for the room.

Inherited from

RoomExpired.room_id

Defined in

meetings/lib/types/events/roomExpiredEvent.ts:19

room_type
room_type: MeetingType;

The type of meeting associated with the room.

Inherited from

RoomExpired.room_type

Defined in

meetings/lib/types/events/roomExpiredEvent.ts:24


SessionEndedInterface

Deprecated

Exported as interface in error. Please use SessionEnded

Extends

Properties

ended_at
ended_at: string;

The date and time when the session ended.

Inherited from

SessionEnded.ended_at

Defined in

meetings/lib/types/events/sessionEndedEvent.ts:34

event
event: SESSION_ENDED;

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

Inherited from

SessionEnded.event

Defined in

meetings/lib/types/events/sessionEndedEvent.ts:14

room_id
room_id: string;

The unique identifier for the room associated with the session.

Inherited from

SessionEnded.room_id

Defined in

meetings/lib/types/events/sessionEndedEvent.ts:24

session_id
session_id: string;

The unique identifier for the session.

Inherited from

SessionEnded.session_id

Defined in

meetings/lib/types/events/sessionEndedEvent.ts:19

started_at
started_at: string;

The date and time when the session started.

Inherited from

SessionEnded.started_at

Defined in

meetings/lib/types/events/sessionEndedEvent.ts:29


SessionStartedInterface

Deprecated

Exported as interface in error. Please use SessionStarted

Extends

Properties

event
event: SESSION_STARTED;

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

Inherited from

SessionStarted.event

Defined in

meetings/lib/types/events/sessionStartedEvent.ts:14

room_id
room_id: string;

The unique identifier for the room associated with the session.

Inherited from

SessionStarted.room_id

Defined in

meetings/lib/types/events/sessionStartedEvent.ts:24

session_id
session_id: string;

The unique identifier for the session.

Inherited from

SessionStarted.session_id

Defined in

meetings/lib/types/events/sessionStartedEvent.ts:19

started_at
started_at: string;

The date and time when the session started.

Inherited from

SessionStarted.started_at

Defined in

meetings/lib/types/events/sessionStartedEvent.ts:29

Type Aliases

AvailableFeatures

type AvailableFeatures: object;

Represents available features for a meeting room.

Type declaration

isCaptionsAvailable?
optional isCaptionsAvailable: boolean;

Indicates if captions are available in the UI.

isChatAvailable?
optional isChatAvailable: boolean;

Indicates if chat feature is available in the UI.

isLocaleSwitcherAvailable?
optional isLocaleSwitcherAvailable: boolean;

Indicates if the locale switcher is available in the UI.

isRecordingAvailable?
optional isRecordingAvailable: boolean;

Indicates if recording feature is available in the UI.

isWhiteboardAvailable?
optional isWhiteboardAvailable: boolean;

Indicates if whiteboard feature is available in the UI.

Defined in

meetings/lib/types/availableFeatures.ts:4


AvailableFeaturesResponse

type AvailableFeaturesResponse: object;

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

Type declaration

is_captions_available
is_captions_available: boolean;

Determine if captions are available in the UI.

is_chat_available
is_chat_available: boolean;

Determine if the chat feature is available in the UI.

is_locale_switcher_available
is_locale_switcher_available: boolean;

Determine if the locale switcher is available in the UI.

is_recording_available
is_recording_available: boolean;

Determine if the recording feature is available in the UI.

is_whiteboard_available
is_whiteboard_available: boolean;

Determine if the whiteboard feature is available in the UI.

Remarks

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

Defined in

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


CallbackUrlsResponse

type CallbackUrlsResponse: object;

Represents callback URLs for events related to a meeting room.

Type declaration

recordings_callback_url
recordings_callback_url: string;

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

rooms_callback_url
rooms_callback_url: string;

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

sessions_callback_url
sessions_callback_url: string;

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

Remarks

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

Defined in

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


DefaultThemeResponse

type DefaultThemeResponse: object;

Represents the response containing default theme information.

Type declaration

account_id
account_id: string;

The account ID associated with the default theme.

application_id
application_id: string;

The application ID associated with the default theme.

default_theme_id
default_theme_id: string;

The ID of the default theme.

Defined in

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


DialInNumber

type DialInNumber: object;

Represents a dial-in number with associated information.

Type declaration

displayName
displayName: string;

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

locale
locale: string;

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

number
number: string;

The phone number for dialing in.

Defined in

meetings/lib/types/dialInNumber.ts:4


InitialJoinOptionsResponse

type InitialJoinOptionsResponse: object;

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

Type declaration

microphone_state
microphone_state: MicrophoneSate;

The default microphone state for users in the pre-join screen of this 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

Defined in

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


MeetingRoom

type MeetingRoom: object;

Represents a meeting room with associated properties.

Type declaration

availableFeatures
availableFeatures: AvailableFeatures;

Available features for the meeting room's user interface.

callbackUrls?
optional callbackUrls: RoomCallbackURLS;

Callback URLs for various room-related events.

createdAt?
optional createdAt: string;

The date and time when the meeting room was created.

displayName
displayName: string;

The display name or label for the meeting room.

expireAfterUse?
optional expireAfterUse: boolean;

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

expiresAt?
optional expiresAt: string;

The date and time when the meeting room will expire.

guestUrl?
optional guestUrl: string;

The URL for joining the meeting room as a guest.

hostUrl?
optional hostUrl: string;

The URL for joining the meeting room as a host.

id?
optional id: string;

The unique identifier for the meeting room.

initialJoinOptions?
optional initialJoinOptions: object;

Options for participants when they initially join the room.

initialJoinOptions.microphoneState?
optional initialJoinOptions.microphoneState: MicrophoneSate;

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

isAvailable?
optional isAvailable: boolean;

Indicates whether the meeting room is available for use.

joinApprovalLevel?
optional joinApprovalLevel: JoinType;

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

meetingCode?
optional meetingCode: string;

The meeting PIN number or code.

metadata?
optional metadata: string;

Additional metadata or information about the meeting room.

recordingOptions?
optional recordingOptions: RecordingOptions;

Options related to recording meetings in the room.

themeId?
optional themeId: string;

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

type
type: MeetingType;

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

uiSettings?
optional uiSettings: object;

User interface settings for the meeting room.

uiSettings.language?
optional uiSettings.language: RoomLanguage;

The desired language of the UI.

Defined in

meetings/lib/types/meetingRoom.ts:14


MeetingRoomPageResponse

type MeetingRoomPageResponse: object & APILinks;

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.

Defined in

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


MeetingRoomParams

type MeetingRoomParams: object;

Represents parameters for querying meeting rooms.

Type declaration

endId?
optional endId: string;

The ending identifier for filtering meeting rooms.

pageSize?
optional pageSize: number;

The maximum number of items to retrieve per page.

startId?
optional startId: string;

The starting identifier for filtering meeting rooms.

Defined in

meetings/lib/types/meetingRoomParams.ts:4


MeetingRoomResponse

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

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

Defined in

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


Recording

type Recording: object;

Represents a recording with associated properties.

Type declaration

endedAt
endedAt: string;

The date and time when the recording ended.

id
id: string;

The unique identifier for the recording.

sessionId
sessionId: string;

The unique identifier for the session associated with the recording.

startedAt
startedAt: string;

The date and time when the recording started.

status
status: RecordingStatus;

The status of the recording.

url
url: string;

The URL where the recording can be accessed.

Defined in

meetings/lib/types/recording.ts:6


RecordingEnded

type RecordingEnded: object;

Represents an event for recording ended.

Type declaration

duration
duration: number;

The duration of the recording in seconds.

ended_at
ended_at: string;

The date and time when the recording ended.

event
event: EventType.RECORDING_ENDED;

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

recording_id
recording_id: string;

The unique identifier for the recording.

session_id
session_id: string;

The unique identifier for the session associated with the recording.

started_at
started_at: string;

The date and time when the 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

Defined in

meetings/lib/types/events/recordingEndedEvent.ts:10


RecordingOptions

type RecordingOptions: object;

Represents options for recording a meeting.

Type declaration

autoRecord
autoRecord: boolean;

Indicates whether recording should be automatically started for all sessions.

recordOnlyOwner
recordOnlyOwner: boolean;

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

Defined in

meetings/lib/types/recordingOptions.ts:4


RecordingOptionsResponse

type RecordingOptionsResponse: object;

Represents recording options for a meeting room.

Type declaration

auto_record
auto_record: boolean;

Indicates whether to automatically record all sessions in this room.

record_owner_only
record_owner_only: boolean;

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

Remarks

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

Defined in

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


RecordingReady

type RecordingReady: object;

Represents an event type for recording readiness.

Type declaration

duration
duration: number;

The duration of the recording in seconds.

ended_at
ended_at: string;

The date and time when the recording ended.

event
event: EventType.RECORDING_READY;

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

recording_id
recording_id: string;

The unique identifier for the recording.

room_id
room_id: string;

The unique identifier for the room associated with the recording.

session_id
session_id: string;

The unique identifier for the session associated with the recording.

started_at
started_at: string;

The date and time when the recording started.

url
url: string;

The URL where the recording can be accessed.

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

Defined in

meetings/lib/types/events/recordingReadyEvent.ts:10


RecordingResponse

type RecordingResponse: object;

Represents a response for a recording.

Type declaration

_links
_links: object;

Links for accessing the recording URL.

_links.url
_links.url: APILink;

The URL to access the recording.

ended_at
ended_at: string;

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

id
id: string;

The ID of the recording.

session_id
session_id: string;

The session ID corresponding to the recording.

started_at
started_at: string;

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

status
status: RecordingStatus;

The current status of the 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

Defined in

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


RecordingResponsePage

type RecordingResponsePage: object;

Represents a response page containing an array of recording responses.

Type declaration

_embedded
_embedded: object;

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

_embedded.recordings
_embedded.recordings: RecordingResponse[];

An array of recording responses.

Defined in

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


RecordingStarted

type RecordingStarted: object;

Represents an event for recording started.

Type declaration

event
event: EventType.RECORDING_STARTED;

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

recording_id
recording_id: string;

The unique identifier for the recording.

session_id
session_id: string;

The unique identifier for the session associated with the recording.

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

Defined in

meetings/lib/types/events/recordingStartedEvent.ts:10


RoomCallbackURLS

type RoomCallbackURLS: object;

Represents callback URLs for various room-related events.

Type declaration

recordingsCallbackUrl
recordingsCallbackUrl: string;

The callback URL for recordings events.

roomsCallbackUrl
roomsCallbackUrl: string;

The callback URL for rooms events.

sessionsCallbackUrl
sessionsCallbackUrl: string;

The callback URL for sessions events.

Defined in

meetings/lib/types/roomCallbackURLS.ts:4


RoomExpired

type RoomExpired: object;

Represents an event for a room expiration.

Type declaration

created_at
created_at: string;

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

event
event: EventType.ROOM_EXPIRED;

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

expires_at
expires_at: string;

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;

The unique identifier for the room.

room_type
room_type: MeetingType;

The type of meeting associated with the room.

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

Defined in

meetings/lib/types/events/roomExpiredEvent.ts:10


SessionEnded

type SessionEnded: object;

Represents an event for a session ending.

Type declaration

ended_at
ended_at: string;

The date and time when the session ended.

event
event: EventType.SESSION_ENDED;

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

room_id
room_id: string;

The unique identifier for the room associated with the session.

session_id
session_id: string;

The unique identifier for the session.

started_at
started_at: string;

The date and time when the session 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

Defined in

meetings/lib/types/events/sessionEndedEvent.ts:10


SessionStarted

type SessionStarted: object;

Represents an event for a session starting.

Type declaration

event
event: EventType.SESSION_STARTED;

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

room_id
room_id: string;

The unique identifier for the room associated with the session.

session_id
session_id: string;

The unique identifier for the session.

started_at
started_at: string;

The date and time when the session 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

Defined in

meetings/lib/types/events/sessionStartedEvent.ts:10


Theme

type Theme: object;

Represents a theme configuration for meeting rooms.

Type declaration

accountId?
optional accountId: string;

The application's account ID (ApiKey).

applicationId?
optional applicationId: string;

The application ID.

brandImageColored?
optional brandImageColored: string;

Colored logo's key in the storage system.

brandImageColoredUrl?
optional brandImageColoredUrl: string;

Colored logo's link.

brandImageWhite?
optional brandImageWhite: string;

White logo's key in the storage system.

brandImageWhiteUrl?
optional brandImageWhiteUrl: string;

White logo's link.

brandText
brandText: string;

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

brandedFavicon?
optional brandedFavicon: string;

Favicon key in the storage system.

brandedFaviconUrl?
optional brandedFaviconUrl: string;

Favicon link.

domain?
optional domain: ThemeDomain;

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

mainColor
mainColor: string;

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

shortCompanyUrl?
optional shortCompanyUrl: string;

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

themeId?
optional themeId: string;

The unique identifier for the theme.

themeName?
optional themeName: string;

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

Defined in

meetings/lib/types/theme.ts:6


ThemeResponse

type ThemeResponse: Theme;

Defined in

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


UiSettingsResponse

type UiSettingsResponse: object;

Represents user interface settings for a meeting room.

Type declaration

language
language: RoomLanguage;

The desired language of the user interface.

Remarks

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

Defined in

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


UrlResponse

type UrlResponse: object;

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

Type declaration

fields
fields: object;

Fields related to the image URL.

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

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

fields.Policy
fields.Policy: string;

The policy associated with image access.

fields.X-Amz-Algorithm
fields.X-Amz-Algorithm: string;

The AWS S3 algorithm used for access.

fields.X-Amz-Credential
fields.X-Amz-Credential: string;

The AWS S3 credential for access.

fields.X-Amz-Date
fields.X-Amz-Date: string;

The date associated with the image access.

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

The security token for AWS access.

fields.X-Amz-Signature
fields.X-Amz-Signature: string;

The AWS S3 signature for image access.

fields.bucket
fields.bucket: string;

The bucket where the image is stored.

fields.key
fields.key: string;

The key associated with the image.

fields.logoType
fields.logoType: LogoType;

The logo type of the image.

url
url: string;

The URL for the 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.

Defined in

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

Clone this wiki locally