-
Notifications
You must be signed in to change notification settings - Fork 182
Vonage Meetings
Documentation / Vonage Meetings
Defined in: meetings/lib/enums/eventTypes.ts:4
Enum representing different event types.
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 |
Defined in: meetings/lib/enums/joinType.ts:4
Enum representing different join approval levels for a meeting room.
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 |
Defined in: meetings/lib/enums/logoType.ts:4
Enum representing different types of logos.
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 |
Defined in: meetings/lib/enums/meetingType.ts:4
Enum representing different types of meetings.
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 |
Defined in: meetings/lib/enums/microphoneState.ts:4
Enum representing different states for a microphone.
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 |
Defined in: meetings/lib/enums/recordingStatus.ts:4
Enum representing different recording statuses.
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 |
Defined in: meetings/lib/enums/roomLanguage.ts:4
Enum representing different room languages.
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 |
Defined in: meetings/lib/enums/themeDomain.ts:4
Enum representing different theme domains.
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 |
Defined in: meetings/lib/meetings.ts:86
Client class to interact with the Meetings API to create and manage meeting rooms.
the meetings API is officially sunsetted by Vonage.
This client is only available as a standalone client. It cannot be instantiated from the server-sdk package.
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
});
new Meetings(credentials, options?): Meetings
Defined in: server-client/dist/lib/client.d.ts:35
Creates a new instance of the Client.
The authentication credentials or an authentication instance.
Optional configuration settings for the client.
protected auth: AuthInterface;
Defined in: server-client/dist/lib/client.d.ts:24
The authentication instance responsible for generating authentication headers and query parameters.
authType: AuthenticationType = AuthenticationType.JWT;
Defined in: meetings/lib/meetings.ts:87
The type of authentication used for the client's requests.
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.
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: string[];
Defined in: meetings/lib/meetings.ts:97
List of properties from the room that can be written
THEME_WRITE_KEYS: string[];
Defined in: meetings/lib/meetings.ts:119
List of properties from the theme that can be written
static transformers: object;
Defined in: server-client/dist/lib/client.d.ts:11
Static property containing utility transformers.
camelCaseObjectKeys: PartialTransformFunction;
kebabCaseObjectKeys: PartialTransformFunction;
omit: (keys, obj) => TransformedObject;
string
[]
snakeCaseObjectKeys: PartialTransformFunction;
protected _getIconUploadUrl(logo): Promise<UrlResponse>
Defined in: meetings/lib/meetings.ts:788
Retrieves the URL for uploading an icon (logo) to the specified LogoType.
The LogoType for which the upload URL is requested.
Promise
<UrlResponse
>
A promise that resolves to the URLResponse containing the upload URL and fields.
If the upload URL retrieval fails or encounters an error.
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.
The URL and fields required for the AWS S3 upload.
string
The file path of the file to upload.
Promise
<true
>
A promise that resolves to true
when the file is successfully uploaded to AWS S3.
If the upload fails or encounters an error.
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.
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
Client
.addAuthenticationToRequest
protected addBasicAuthToRequest(request): Promise<VetchOptions>
Defined in: server-client/dist/lib/client.d.ts:71
Adds basic authentication headers to the request.
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
protected addJWTToRequest(request): Promise<VetchOptions>
Defined in: server-client/dist/lib/client.d.ts:64
Adds a JWT to the request.
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
protected addQueryKeySecretToRequest(request): Promise<VetchOptions>
Defined in: server-client/dist/lib/client.d.ts:57
Adds API key and secret to the request.
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
Client
.addQueryKeySecretToRequest
protected addQueryKeySecretToRequestBody(request): Promise<VetchOptions>
Defined in: server-client/dist/lib/client.d.ts:50
Adds API key and secret to the request body.
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
Client
.addQueryKeySecretToRequestBody
createRoom(room): Promise<MeetingRoom>
Defined in: meetings/lib/meetings.ts:252
Creates a new meeting room.
The meeting room object to create.
Promise
<MeetingRoom
>
A promise that resolves to the created meeting room.
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(theme): Promise<Theme>
Defined in: meetings/lib/meetings.ts:512
Creates a new theme with the provided theme details.
The theme details to create.
Promise
<Theme
>
A Promise that resolves with the created theme.
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(recordingId): Promise<void>
Defined in: meetings/lib/meetings.ts:374
Deletes a recording by its ID.
string
The ID of the recording to delete.
Promise
<void
>
A promise that resolves when the recording is successfully deleted.
Delete a recording by ID
await meetingsClient.deleteRecording('my-recording-id');
console.log(`Recording with ID ${recordingId} has been deleted`);
deleteTheme(themeId, force?): Promise<void>
Defined in: meetings/lib/meetings.ts:484
Deletes a theme by its theme ID.
string
The ID of the theme to delete.
boolean
= false
Whether to force the deletion even if it's associated with rooms.
Promise
<void
>
A Promise that resolves when the theme is successfully deleted.
Delete a theme by ID
await meetingsClient.deleteTheme('my-theme-id');
console.log(`Theme with ID ${themeId} has been deleted`);
getConfig(): ConfigParams
Defined in: server-client/dist/lib/client.d.ts:36
getDialInNumbers(): AsyncGenerator<DialInNumber, void & DialInNumber, undefined>
Defined in: meetings/lib/meetings.ts:398
Retrieves a list of dial-in numbers.
AsyncGenerator
<DialInNumber
, undefined
>
An asynchronous generator that yields dial-in numbers.
All numbers will be returned in one request
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(recordingId): Promise<Recording>
Defined in: meetings/lib/meetings.ts:315
Retrieves a recording by its ID.
string
The ID of the recording to retrieve.
Promise
<Recording
>
A promise that resolves to the recording.
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(roomId): Promise<MeetingRoom>
Defined in: meetings/lib/meetings.ts:224
Retrieves a meeting room by its ID.
string
The ID of the meeting room to retrieve.
Promise
<MeetingRoom
>
A promise that resolves to the meeting room.
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(params): Promise<MeetingRoomPageResponse>
Defined in: meetings/lib/meetings.ts:195
Retrieves a page of meeting rooms based on the provided parameters.
MeetingRoomParams
= {}
Optional parameters for pagination.
Promise
<MeetingRoomPageResponse
>
A promise that resolves to a page of meeting rooms.
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(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
MeetingRoomParams
= {}
Optional parameters for pagination.
AsyncGenerator
<MeetingRoom
, undefined
>
An async generator of meeting rooms.
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(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
string
The ID of the theme for which to retrieve meeting rooms.
MeetingRoomParams
= {}
Optional parameters to filter and paginate the results.
AsyncGenerator
<MeetingRoom
, undefined
>
An async generator that yields meeting rooms associated with the theme.
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(themeId, params): Promise<MeetingRoomPageResponse>
Defined in: meetings/lib/meetings.ts:632
Retrieves a page of meeting rooms associated with a specific theme.
string
The ID of the theme for which to retrieve meeting rooms.
MeetingRoomParams
= {}
Optional parameters to filter and paginate the results.
Promise
<MeetingRoomPageResponse
>
A promise that resolves to a page of meeting rooms associated with the theme.
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(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
string
The ID of the session for which to retrieve recordings.
AsyncGenerator
<Recording
, undefined
>
An async generator that yields recordings associated with the session.
All the recordings will be returned in one request. There could be a large number of recordings.
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(themeId): Promise<Theme>
Defined in: meetings/lib/meetings.ts:460
Retrieves a theme by its theme ID.
string
The ID of the theme to retrieve.
Promise
<Theme
>
A Promise that resolves to the retrieved theme.
Get a theme by ID
const theme = await meetingsClient.getTheme('my-theme-id');
console.log(`Theme ${theme.themeName} has ID ${theme.id}`);
getThemes(): AsyncGenerator<Theme, void & Theme, undefined>
Defined in: meetings/lib/meetings.ts:432
Retrieves a list of themes.
AsyncGenerator
<Theme
, undefined
>
An asynchronous generator that yields themes.
All themes are returned in one request
Get a list of getThemes
for await (const theme of meetingsClient.getThemes()) {
console.log(`Theme ${theme.themeName} has ID ${theme.id}`);
}
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.
• T
The expected type of the parsed response data.
The request options.
Response
The raw response from the request.
Promise
<VetchResponse
<T
>>
- The parsed response.
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.
The request options.
undefined
| string
- The prepared request body as a string or undefined.
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.
The initial request options.
Promise
<VetchOptions
>
- The modified request options.
sendDeleteRequest<T>(url): Promise<VetchResponse<T>>
Defined in: server-client/dist/lib/client.d.ts:78
Sends a DELETE request to the specified URL.
• T
string
The URL endpoint for the DELETE request.
Promise
<VetchResponse
<T
>>
- The response from the DELETE request.
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.
• T
string
The URL endpoint for the POST request.
Record
<string
, undefined
| string
>
Optional payload containing form data to send with the POST request.
Promise
<VetchResponse
<T
>>
- The response from the POST request.
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.
• T
string
The URL endpoint for the GET request.
Optional query parameters to append to the URL. These should be compatible with Node's URLSearchParams.
Promise
<VetchResponse
<T
>>
- The response from the GET request.
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.
• T
string
The URL endpoint for the PATCH request.
Optional payload to be sent as the body of the PATCH request.
Promise
<VetchResponse
<T
>>
- The response from the PATCH request.
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.
• T
string
The URL endpoint for the POST request.
Optional payload to be sent as the body of the POST request.
Promise
<VetchResponse
<T
>>
- The response from the POST request.
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.
• T
string
The URL endpoint for the PUT request.
Optional payload to be sent as the body of the PUT request.
Promise
<VetchResponse
<T
>>
- The response from the PUT request.
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.
• T
The options defining the request, including URL, method, headers, and data.
Promise
<VetchResponse
<T
>>
- The parsed response from the request.
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.
• T
The HTTP method to be used for the request (only POST, PATCH, or PUT are acceptable).
string
The URL endpoint for the request.
Optional payload to be sent as the body of the request, JSON-encoded.
Promise
<VetchResponse
<T
>>
- The response from the request.
setDefaultTheme(themeId): Promise<true>
Defined in: meetings/lib/meetings.ts:659
Sets the default theme for the application.
string
The ID of the theme to set as the default theme.
Promise
<true
>
A promise that resolves to true
when the default theme is set successfully.
Set the default theme
await meetingsClient.setDefaultTheme('my-theme-id');
console.log(`Default theme has been set`);
updateRoom(roomId, room): Promise<MeetingRoom>
Defined in: meetings/lib/meetings.ts:285
Updates an existing meeting room.
string
The ID of the meeting room to update.
The meeting room object with updated information.
Promise
<MeetingRoom
>
A promise that resolves to the updated meeting room.
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(themeId, theme): Promise<Theme>
Defined in: meetings/lib/meetings.ts:545
Updates an existing theme with the provided theme details.
string
The ID of the theme to update.
The updated theme details.
Promise
<Theme
>
A Promise that resolves with the updated theme.
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(
themeId,
logo,
logoFile): Promise<true>
Defined in: meetings/lib/meetings.ts:697
Uploads an icon (logo) to a theme.
string
The ID of the theme to which the icon will be attached.
The type of logo to upload (e.g., LogoType.WHITE, LogoType.COLORED).
string
The file path of the logo to upload.
Promise
<true
>
A promise that resolves to true
when the icon is uploaded and attached to the theme successfully.
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.
Uploading Icons and Logos https://developer.vonage.com/en/meetings/guides/upload-icons-logo
If the file specified by logoFile
does not exist or if the upload fails.
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/types/events/recordingEndedEvent.ts:46
Exported as interface in error. Please use RecordingEnded
duration: number;
Defined in: meetings/lib/types/events/recordingEndedEvent.ts:40
The duration of the recording in seconds.
RecordingEnded.duration
ended_at: string;
Defined in: meetings/lib/types/events/recordingEndedEvent.ts:35
The date and time when the recording ended.
RecordingEnded.ended_at
event: RECORDING_ENDED;
Defined in: meetings/lib/types/events/recordingEndedEvent.ts:15
The type of event, which is 'recording:ended'.
RecordingEnded.event
recording_id: string;
Defined in: meetings/lib/types/events/recordingEndedEvent.ts:20
The unique identifier for the recording.
RecordingEnded.recording_id
session_id: string;
Defined in: meetings/lib/types/events/recordingEndedEvent.ts:25
The unique identifier for the session associated with the recording.
RecordingEnded.session_id
started_at: string;
Defined in: meetings/lib/types/events/recordingEndedEvent.ts:30
The date and time when the recording started.
RecordingEnded.started_at
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:56
Exported as interface in error. Please use RecordingReady
duration: number;
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:45
The duration of the recording in seconds.
RecordingReady.duration
ended_at: string;
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:40
The date and time when the recording ended.
RecordingReady.ended_at
event: RECORDING_READY;
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:15
The type of event, which is 'recording:ready'.
RecordingReady.event
recording_id: string;
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:20
The unique identifier for the recording.
RecordingReady.recording_id
room_id: string;
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:30
The unique identifier for the room associated with the recording.
RecordingReady.room_id
session_id: string;
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:25
The unique identifier for the session associated with the recording.
RecordingReady.session_id
started_at: string;
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:35
The date and time when the recording started.
RecordingReady.started_at
url: string;
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:50
The URL where the recording can be accessed.
RecordingReady.url
Defined in: meetings/lib/types/events/recordingStartedEvent.ts:31
Exported as interface in error. Please use RecordingStarted
event: RECORDING_STARTED;
Defined in: meetings/lib/types/events/recordingStartedEvent.ts:15
The type of event, which is 'recording:started'.
RecordingStarted.event
recording_id: string;
Defined in: meetings/lib/types/events/recordingStartedEvent.ts:20
The unique identifier for the recording.
RecordingStarted.recording_id
session_id: string;
Defined in: meetings/lib/types/events/recordingStartedEvent.ts:25
The unique identifier for the session associated with the recording.
RecordingStarted.session_id
Defined in: meetings/lib/types/events/roomExpiredEvent.ts:42
Exported as interface in error. Please use RoomExpired
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.
RoomExpired.created_at
event: ROOM_EXPIRED;
Defined in: meetings/lib/types/events/roomExpiredEvent.ts:15
The type of event, which is 'room:expired'.
RoomExpired.event
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.
RoomExpired.expires_at
room_id: string;
Defined in: meetings/lib/types/events/roomExpiredEvent.ts:20
The unique identifier for the room.
RoomExpired.room_id
room_type: MeetingType;
Defined in: meetings/lib/types/events/roomExpiredEvent.ts:25
The type of meeting associated with the room.
RoomExpired.room_type
Defined in: meetings/lib/types/events/sessionEndedEvent.ts:41
Exported as interface in error. Please use SessionEnded
ended_at: string;
Defined in: meetings/lib/types/events/sessionEndedEvent.ts:35
The date and time when the session ended.
SessionEnded.ended_at
event: SESSION_ENDED;
Defined in: meetings/lib/types/events/sessionEndedEvent.ts:15
The type of event, which is 'session:ended'.
SessionEnded.event
room_id: string;
Defined in: meetings/lib/types/events/sessionEndedEvent.ts:25
The unique identifier for the room associated with the session.
SessionEnded.room_id
session_id: string;
Defined in: meetings/lib/types/events/sessionEndedEvent.ts:20
The unique identifier for the session.
SessionEnded.session_id
started_at: string;
Defined in: meetings/lib/types/events/sessionEndedEvent.ts:30
The date and time when the session started.
SessionEnded.started_at
Defined in: meetings/lib/types/events/sessionStartedEvent.ts:36
Exported as interface in error. Please use SessionStarted
event: SESSION_STARTED;
Defined in: meetings/lib/types/events/sessionStartedEvent.ts:15
The type of event, which is 'session:started'.
SessionStarted.event
room_id: string;
Defined in: meetings/lib/types/events/sessionStartedEvent.ts:25
The unique identifier for the room associated with the session.
SessionStarted.room_id
session_id: string;
Defined in: meetings/lib/types/events/sessionStartedEvent.ts:20
The unique identifier for the session.
SessionStarted.session_id
started_at: string;
Defined in: meetings/lib/types/events/sessionStartedEvent.ts:30
The date and time when the session started.
SessionStarted.started_at
type AvailableFeatures = object;
Defined in: meetings/lib/types/availableFeatures.ts:4
Represents available features for a meeting room.
optional isCaptionsAvailable: boolean;
Indicates if captions are available in the UI.
optional isChatAvailable: boolean;
Indicates if chat feature is available in the UI.
optional isLocaleSwitcherAvailable: boolean;
Indicates if the locale switcher is available in the UI.
optional isRecordingAvailable: boolean;
Indicates if recording feature is available in the UI.
optional isWhiteboardAvailable: boolean;
Indicates if whiteboard feature is available in the UI.
type AvailableFeaturesResponse = object;
Defined in: meetings/lib/types/response/meetingRoomResponse.ts:69
Represents available features in the user interface of a meeting room.
is_captions_available: boolean;
Determine if captions are available in the UI.
is_chat_available: boolean;
Determine if the chat feature is available in the UI.
is_locale_switcher_available: boolean;
Determine if the locale switcher is available in the UI.
is_recording_available: boolean;
Determine if the recording feature is available in the UI.
is_whiteboard_available: boolean;
Determine if the whiteboard feature is available in the UI.
Vonage API's will return information using snake_case
. This represents the
pure response before the client will transform the keys into camelCase
type CallbackUrlsResponse = object;
Defined in: meetings/lib/types/response/meetingRoomResponse.ts:45
Represents callback URLs for events related to a meeting room.
recordings_callback_url: string;
Callback URL for recordings events, overrides application-level recordings callback URL.
rooms_callback_url: string;
Callback URL for rooms events, overrides application-level rooms callback URL.
sessions_callback_url: string;
Callback URL for sessions events, overrides application-level sessions callback URL.
Vonage API's will return information using snake_case
. This represents the
pure response before the client will transform the keys into camelCase
type DefaultThemeResponse = object;
Defined in: meetings/lib/types/response/defaultThemeResponse.ts:4
Represents the response containing default theme information.
account_id: string;
The account ID associated with the default theme.
application_id: string;
The application ID associated with the default theme.
default_theme_id: string;
The ID of the default theme.
type DialInNumber = object;
Defined in: meetings/lib/types/dialInNumber.ts:4
Represents a dial-in number with associated information.
displayName: string;
The display name or label for the dial-in number.
locale: string;
The locale or region associated with the dial-in number.
number: string;
The phone number for dialing in.
type InitialJoinOptionsResponse = object;
Defined in: meetings/lib/types/response/meetingRoomResponse.ts:31
Represents the default options for participants when joining a meeting room.
microphone_state: MicrophoneSate;
The default microphone state for users in the pre-join screen of this room.
Vonage API's will return information using snake_case
. This represents the
pure response before the client will transform the keys into camelCase
type MeetingRoom = object;
Defined in: meetings/lib/types/meetingRoom.ts:14
Represents a meeting room with associated properties.
availableFeatures: AvailableFeatures;
Available features for the meeting room's user interface.
optional callbackUrls: RoomCallbackURLS;
Callback URLs for various room-related events.
optional createdAt: string;
The date and time when the meeting room was created.
displayName: string;
The display name or label for the meeting room.
optional expireAfterUse: boolean;
Indicates whether the room should expire after use (only relevant for long-term rooms).
optional expiresAt: string;
The date and time when the meeting room will expire.
optional guestUrl: string;
The URL for joining the meeting room as a guest.
optional hostUrl: string;
The URL for joining the meeting room as a host.
optional id: string;
The unique identifier for the meeting room.
optional initialJoinOptions: object;
Options for participants when they initially join the room.
optional initialJoinOptions.microphoneState: MicrophoneSate;
The default microphone state for users in the pre-join screen of this room.
optional isAvailable: boolean;
Indicates whether the meeting room is available for use.
optional joinApprovalLevel: JoinType;
The level of approval needed to join the meeting in the room.
optional meetingCode: string;
The meeting PIN number or code.
optional metadata: string;
Additional metadata or information about the meeting room.
optional recordingOptions: RecordingOptions;
Options related to recording meetings in the room.
optional themeId: string;
The unique identifier for the theme associated with the meeting room.
type: MeetingType;
The type of meeting, which can be instant or long term.
optional uiSettings: object;
User interface settings for the meeting room.
optional uiSettings.language: RoomLanguage;
The desired language of the UI.
type MeetingRoomPageResponse = object & APILinks;
Defined in: meetings/lib/types/response/meetingRoomPageResponse.ts:7
Represents the response for a page of meeting rooms.
_embedded: MeetingRoomResponse[];
An array of meeting room responses embedded within the page.
page_size: number;
The number of meeting rooms on the page.
total_items: number;
The total number of meeting rooms across all pages.
type MeetingRoomParams = object;
Defined in: meetings/lib/types/meetingRoomParams.ts:4
Represents parameters for querying meeting rooms.
optional endId: string;
The ending identifier for filtering meeting rooms.
optional pageSize: number;
The maximum number of items to retrieve per page.
optional startId: string;
The starting identifier for filtering meeting rooms.
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.
optional _links: object;
Links for guest and host URLs to join the meeting room.
_links.guest_url: APILink;
_links.host_url: APILink;
available_features: AvailableFeaturesResponse;
Available features in the meeting room's user interface.
callback_urls: CallbackUrlsResponse;
Callback URLs for events related to the room.
created_at: string;
The time when the meeting room was created, expressed in ISO 8601 format.
display_name: string;
The display name of the meeting room.
expire_after_use: string;
Indicates whether to expire the room after a session ends.
expires_at: string;
The time for when the room will expire, expressed in ISO 8601 format.
initial_join_options: InitialJoinOptionsResponse;
Default options for participants joining the room.
is_available: boolean;
Indicates whether the meeting room is available.
join_approval_level: JoinType;
The level of approval needed to join the meeting in the room.
meeting_code: string;
The meeting PIN.
recording_options: RecordingOptionsResponse;
Recording options for the meeting room.
theme_id: string;
The theme UUID associated with the meeting room.
ui_settings: UiSettingsResponse;
User interface settings for the meeting room.
Vonage API's will return information using snake_case
. This represents the
pure response before the client will transform the keys into camelCase
type Recording = object;
Defined in: meetings/lib/types/recording.ts:6
Represents a recording with associated properties.
endedAt: string;
The date and time when the recording ended.
id: string;
The unique identifier for the recording.
sessionId: string;
The unique identifier for the session associated with the recording.
startedAt: string;
The date and time when the recording started.
status: RecordingStatus;
The status of the recording.
url: string;
The URL where the recording can be accessed.
type RecordingEnded = object;
Defined in: meetings/lib/types/events/recordingEndedEvent.ts:11
Represents an event for recording ended.
duration: number;
The duration of the recording in seconds.
ended_at: string;
The date and time when the recording ended.
event: RECORDING_ENDED;
The type of event, which is 'recording:ended'.
recording_id: string;
The unique identifier for the recording.
session_id: string;
The unique identifier for the session associated with the recording.
started_at: string;
The date and time when the recording started.
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
type RecordingOptions = object;
Defined in: meetings/lib/types/recordingOptions.ts:4
Represents options for recording a meeting.
autoRecord: boolean;
Indicates whether recording should be automatically started for all sessions.
recordOnlyOwner: boolean;
Indicates whether recording should be limited to the owner's screen or any shared screen.
type RecordingOptionsResponse = object;
Defined in: meetings/lib/types/response/meetingRoomResponse.ts:12
Represents recording options for a meeting room.
auto_record: boolean;
Indicates whether to automatically record all sessions in this room.
record_owner_only: boolean;
Indicates whether to record only the owner's screen or any shared screen during video.
Vonage API's will return information using snake_case
. This represents the
pure response before the client will transform the keys into camelCase
type RecordingReady = object;
Defined in: meetings/lib/types/events/recordingReadyEvent.ts:11
Represents an event type for recording readiness.
duration: number;
The duration of the recording in seconds.
ended_at: string;
The date and time when the recording ended.
event: RECORDING_READY;
The type of event, which is 'recording:ready'.
recording_id: string;
The unique identifier for the recording.
room_id: string;
The unique identifier for the room associated with the recording.
session_id: string;
The unique identifier for the session associated with the recording.
started_at: string;
The date and time when the recording started.
url: string;
The URL where the recording can be accessed.
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
type RecordingResponse = object;
Defined in: meetings/lib/types/response/recordingResponse.ts:11
Represents a response for a recording.
_links: object;
Links for accessing the recording URL.
_links.url: APILink;
The URL to access the recording.
ended_at: string;
The date when the recording ended, expressed in ISO 8601 format.
id: string;
The ID of the recording.
session_id: string;
The session ID corresponding to the recording.
started_at: string;
The date when the recording started, expressed in ISO 8601 format.
status: RecordingStatus;
The current status of the recording.
Vonage API's will return information using snake_case
. This represents the
pure response before the client will transform the keys into camelCase
type RecordingResponsePage = object;
Defined in: meetings/lib/types/response/recordingResponsePage.ts:6
Represents a response page containing an array of recording responses.
_embedded: object;
An object containing an array of recording responses embedded within the page.
_embedded.recordings: RecordingResponse[];
An array of recording responses.
type RecordingStarted = object;
Defined in: meetings/lib/types/events/recordingStartedEvent.ts:11
Represents an event for recording started.
event: RECORDING_STARTED;
The type of event, which is 'recording:started'.
recording_id: string;
The unique identifier for the recording.
session_id: string;
The unique identifier for the session associated with the recording.
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
type RoomCallbackURLS = object;
Defined in: meetings/lib/types/roomCallbackURLS.ts:4
Represents callback URLs for various room-related events.
recordingsCallbackUrl: string;
The callback URL for recordings events.
roomsCallbackUrl: string;
The callback URL for rooms events.
sessionsCallbackUrl: string;
The callback URL for sessions events.
type RoomExpired = object;
Defined in: meetings/lib/types/events/roomExpiredEvent.ts:11
Represents an event for a room expiration.
created_at: string;
The date and time when the room was created, expressed in ISO 8601 format.
event: ROOM_EXPIRED;
The type of event, which is 'room:expired'.
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: string;
The unique identifier for the room.
room_type: MeetingType;
The type of meeting associated with the room.
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
type SessionEnded = object;
Defined in: meetings/lib/types/events/sessionEndedEvent.ts:11
Represents an event for a session ending.
ended_at: string;
The date and time when the session ended.
event: SESSION_ENDED;
The type of event, which is 'session:ended'.
room_id: string;
The unique identifier for the room associated with the session.
session_id: string;
The unique identifier for the session.
started_at: string;
The date and time when the session started.
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
type SessionStarted = object;
Defined in: meetings/lib/types/events/sessionStartedEvent.ts:11
Represents an event for a session starting.
event: SESSION_STARTED;
The type of event, which is 'session:started'.
room_id: string;
The unique identifier for the room associated with the session.
session_id: string;
The unique identifier for the session.
started_at: string;
The date and time when the session started.
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
type Theme = object;
Defined in: meetings/lib/types/theme.ts:6
Represents a theme configuration for meeting rooms.
optional accountId: string;
The application's account ID (ApiKey).
optional applicationId: string;
The application ID.
optional brandedFavicon: string;
Favicon key in the storage system.
optional brandedFaviconUrl: string;
Favicon link.
optional brandImageColored: string;
Colored logo's key in the storage system.
optional brandImageColoredUrl: string;
Colored logo's link.
optional brandImageWhite: string;
White logo's key in the storage system.
optional brandImageWhiteUrl: string;
White logo's link.
brandText: string;
The text that will appear on the meeting homepage, in the case that there is no brand image.
optional domain: ThemeDomain;
The domain of the theme, which must be one of 'VCP' or 'VBC'.
mainColor: string;
The main color that will be used for the meeting room.
optional shortCompanyUrl: string;
The URL that will represent every meeting room with this theme. The value must be unique across Vonage.
optional themeId: string;
The unique identifier for the theme.
optional themeName: string;
The name of the theme (must be unique). If null, a UUID will automatically be generated.
type ThemeResponse = Theme;
Defined in: meetings/lib/types/response/themeResponse.ts:3
type UiSettingsResponse = object;
Defined in: meetings/lib/types/response/meetingRoomResponse.ts:103
Represents user interface settings for a meeting room.
language: RoomLanguage;
The desired language of the user interface.
Vonage API's will return information using snake_case
. This represents the
pure response before the client will transform the keys into camelCase
type UrlResponse = object;
Defined in: meetings/lib/types/response/urlResponse.ts:11
Represents a response containing URL and associated fields for an image.
fields: object;
Fields related to the image URL.
fields.bucket: string;
The bucket where the image is stored.
fields.Content-Type: "image/png";
The content type of the image, typically 'image/png'.
fields.key: string;
The key associated with the image.
fields.logoType: LogoType;
The logo type of the image.
fields.Policy: string;
The policy associated with image access.
fields.X-Amz-Algorithm: string;
The AWS S3 algorithm used for access.
fields.X-Amz-Credential: string;
The AWS S3 credential for access.
fields.X-Amz-Date: string;
The date associated with the image access.
fields.X-Amz-Security-Token: string;
The security token for AWS access.
fields.X-Amz-Signature: string;
The AWS S3 signature for image access.
url: string;
The URL for the image.
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.