[**Documentation**](index.md) *** [Documentation](packages.md) / Vonage Meetings # Vonage Meetings SDK for Node.js ![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/vonage/vonage-node-sdk/Vonage/3.x?logo=github&style=flat-square&label=Workflow%20Build) [![Codecov](https://img.shields.io/codecov/c/github/vonage/vonage-node-sdk?label=Codecov&logo=codecov&style=flat-square)](https://codecov.io/gh/Vonage/vonage-server-sdk) ![Latest Release](https://img.shields.io/npm/v/@vonage/meetings) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg?style=flat-square)](../../CODE_OF_CONDUCT.md) [![License](https://img.shields.io/npm/l/@vonage/meetings?label=License&style=flat-square)][license] Vonage > [!WARNING] > Starting on August 31st 2024, users will no longer be able to create Meetings API > applications. Existing applications will continue to work uninterrupted until > June 30th, 2025. If you are looking to build with video, > please [consider](https://api.support.vonage.com/hc/en-us/articles/14280908404636-Meetings-API-Migration-Options) > Vonage Video API or Vonage Video Express services, or contact your account managers or > [support](https://api.support.vonage.com/) for help. This is the Vonage Meetings SDK for Node.js for use with [Vonage APIs](https://www.vonage.com/). To use it you will need a Vonage account. Sign up [for free at vonage.com][signup]. We recommend using this package as part of the overall [ `@vonage/server-sdk` package](https://github.com/vonage/vonage-node-sdk). For full API documentation refer to [developer.nexmo.com](https://developer.nexmo.com/). * [Installation](#installation) * [Usage](#using-the-vonage-number-sdk) * [Theme Files](#uploading-theme-images) * [Promises](#promises) * [Testing](#testing) ## Installation We recommend using this SDK as part of the overall [ `@vonage/server-sdk` package](https://github.com/vonage/vonage-node-sdk). Please see the main package for installation. You can also use this SDK standalone if you only need access to just the Meetings API. ### With NPM ```bash npm install @vonage/meetings ``` ### With Yarn ```bash yarn add @vonage/meetings ``` ## Using the Vonage Meetings SDK ### As part of the Vonage Server SDK If you are using this SDK as part of the Vonage Server SDK, you can access it as the `meetings` property off of the client that you instantiate. ```js const { Vonage, Auth } = require('@vonage/server-sdk'); const credentials = new Auth({ apiKey: API_KEY, apiSecret: API_SECRET }); const options = {}; const vonage = new Vonage(credentials, options); (async () =>{ for await (const room of vonage.meetings.getRooms()) { console.log(room); } })(); ``` ### Standalone The SDK can be used standalone from the main [Vonage Server SDK for Node.js](https://github.com/vonage/vonage-node-sdk) if you only need to use the Meetings API. All you need to do is `require('@vonage/meetings')`, and use the returned object to create your own client. ```js const { Auth } = require('@vonage/auth'); const { Meetings } = require('@vonage/meetings'); const credentials = new Auth({ apiKey: API_KEY, apiSecret: API_SECRET }); const options = {}; const meetingsClient = new Meetings(credentials, options); ``` Where `credentials` is any option from [`@vonage/auth`](https://github.com/Vonage/vonage-node-sdk/tree/3.x/readme/packages/auth#options), and `options` is any option from [`@vonage/server-client`](https://github.com/Vonage/vonage-node-sdk/tree/3.x/readme/packages/server-client#options) ## Uploading theme images The SDK will handle all the steps for uploading images to your theme. All you need to do is pass in the `themeId`, `logoType` and the path the image file: ```js const { Auth } = require('@vonage/auth'); const { Meetings, LogoType } = require('@vonage/meetings'); const credentials = new Auth({ apiKey: API_KEY, apiSecret: API_SECRET }); const options = {}; const meetingsClient = new Meetings(credentials, options); await meetingsClient.uploadIcon('my-theme', LogoType.WHITE, '/path/to/image.png'), ``` For more information see [Uploading Icons and Logos](https://developer.vonage.com/en/meetings/code-snippets/theme-management#uploading-icons-and-logos) ## Promises Most methods that interact with the Vonage API uses Promises. You can either resolve these yourself, or use `await` to wait for a response. ```js const resp = await vonage.meetings.getRoom(roomId); vonage.meetings.getRoom(roomId) .then(resp => console.log(resp)) .catch(err => console.error(err)); ``` ## Testing Run: ```bash npm run test ``` [signup]: https://dashboard.nexmo.com/sign-up?utm_source=DEV_REL&utm_medium=github&utm_campaign=node-server-sdk [license]: _media/LICENSE.txt ## Enumerations ### EventType Defined in: [meetings/lib/enums/eventTypes.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/eventTypes.ts#L4) 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](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/eventTypes.ts#L28) | | `RECORDING_READY` | `"recording:ready"` | Event type for a recording that is ready. | [meetings/lib/enums/eventTypes.ts:33](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/eventTypes.ts#L33) | | `RECORDING_STARTED` | `"recording:started"` | Event type for the start of recording. | [meetings/lib/enums/eventTypes.ts:23](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/eventTypes.ts#L23) | | `ROOM_EXPIRED` | `"room:expired"` | Event type for a room that has expired. | [meetings/lib/enums/eventTypes.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/eventTypes.ts#L8) | | `SESSION_ENDED` | `"session:ended"` | Event type for the end of a session. | [meetings/lib/enums/eventTypes.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/eventTypes.ts#L18) | | `SESSION_PARTICIPANT_JOINED` | `"session:participant:joined"` | Event type for a participant joining a session. | [meetings/lib/enums/eventTypes.ts:38](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/eventTypes.ts#L38) | | `SESSION_PARTICIPANT_LEFT` | `"session:participant:left"` | Event type for a participant leaving a session. | [meetings/lib/enums/eventTypes.ts:43](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/eventTypes.ts#L43) | | `SESSION_STARTED` | `"session:started"` | Event type for the start of a session. | [meetings/lib/enums/eventTypes.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/eventTypes.ts#L13) | *** ### JoinType Defined in: [meetings/lib/enums/joinType.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/joinType.ts#L4) 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](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/joinType.ts#L13) | | `EXPLICIT_APPROVAL` | `"explicit_approval"` | Participants need explicit approval from the host to join. | [meetings/lib/enums/joinType.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/joinType.ts#L18) | | `NONE` | `"none"` | No approval is required for participants to join. | [meetings/lib/enums/joinType.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/joinType.ts#L8) | *** ### LogoType Defined in: [meetings/lib/enums/logoType.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/logoType.ts#L4) Enum representing different types of logos. #### Enumeration Members | Enumeration Member | Value | Description | Defined in | | ------ | ------ | ------ | ------ | | `COLORED` | `"colored"` | Colored logo. | [meetings/lib/enums/logoType.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/logoType.ts#L13) | | `FAVICON` | `"favicon"` | Favicon logo. | [meetings/lib/enums/logoType.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/logoType.ts#L18) | | `WHITE` | `"white"` | White logo. | [meetings/lib/enums/logoType.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/logoType.ts#L8) | *** ### MeetingType Defined in: [meetings/lib/enums/meetingType.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/meetingType.ts#L4) 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](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/meetingType.ts#L9) | | `LONG_TERM` | `"long_term"` | Long-term meeting type. A long-term meeting can last for an extended period. | [meetings/lib/enums/meetingType.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/meetingType.ts#L15) | *** ### MicrophoneSate Defined in: [meetings/lib/enums/microphoneState.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/microphoneState.ts#L4) 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](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/microphoneState.ts#L18) | | `OFF` | `"off"` | Microphone is turned off. | [meetings/lib/enums/microphoneState.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/microphoneState.ts#L13) | | `ON` | `"on"` | Microphone is turned on. | [meetings/lib/enums/microphoneState.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/microphoneState.ts#L8) | *** ### RecordingStatus Defined in: [meetings/lib/enums/recordingStatus.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/recordingStatus.ts#L4) Enum representing different recording statuses. #### Enumeration Members | Enumeration Member | Value | Description | Defined in | | ------ | ------ | ------ | ------ | | `PAUSED` | `"paused"` | Recording is paused. | [meetings/lib/enums/recordingStatus.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/recordingStatus.ts#L18) | | `STARTED` | `"started"` | Recording has started. | [meetings/lib/enums/recordingStatus.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/recordingStatus.ts#L8) | | `STOPPED` | `"stopped"` | Recording has stopped. | [meetings/lib/enums/recordingStatus.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/recordingStatus.ts#L13) | | `UPLOADED` | `"uploaded"` | Recording has been uploaded. | [meetings/lib/enums/recordingStatus.ts:23](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/recordingStatus.ts#L23) | *** ### RoomLanguage Defined in: [meetings/lib/enums/roomLanguage.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/roomLanguage.ts#L4) 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](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/roomLanguage.ts#L8) | | `EN` | `"en"` | English language. | [meetings/lib/enums/roomLanguage.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/roomLanguage.ts#L13) | | `ES` | `"es"` | Spanish language. | [meetings/lib/enums/roomLanguage.ts:23](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/roomLanguage.ts#L23) | | `HE` | `"he"` | Hebrew language. | [meetings/lib/enums/roomLanguage.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/roomLanguage.ts#L18) | | `IT` | `"it"` | Italian language. | [meetings/lib/enums/roomLanguage.ts:33](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/roomLanguage.ts#L33) | | `PT` | `"pt"` | Portuguese language. | [meetings/lib/enums/roomLanguage.ts:28](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/roomLanguage.ts#L28) | *** ### ThemeDomain Defined in: [meetings/lib/enums/themeDomain.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/themeDomain.ts#L4) 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](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/themeDomain.ts#L13) | | `VCP` | `"VCP"` | Theme domain for Vonage Cloud Platform | [meetings/lib/enums/themeDomain.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/enums/themeDomain.ts#L8) | ## Classes ### ~~Meetings~~ Defined in: [meetings/lib/meetings.ts:86](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L86) Client class to interact with the Meetings API to create and manage meeting rooms. #### Deprecated the meetings API is officially sunsetted by Vonage. #### Remarks This client is only available as a standalone client. It cannot be instantiated from the server-sdk package. #### Example Create a standalone Meetings Client ```ts 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 - [`Client`](Vonage-Server-Client.md#client) #### Constructors ##### Constructor ```ts new Meetings(credentials, options?): Meetings; ``` Defined in: server-client/dist/lib/client.d.ts:35 Creates a new instance of the Client. ###### Parameters ###### credentials The authentication credentials or an authentication instance. [`AuthInterface`](Vonage-Auth.md#authinterface) | [`AuthParams`](Vonage-Auth.md#authparams) ###### options? [`ConfigParams`](Vonage-Server-Client.md#configparams) Optional configuration settings for the client. ###### Returns [`Meetings`](#meetings) ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`constructor`](Vonage-Server-Client.md#client#constructor) #### Properties ##### ~~auth~~ ```ts protected auth: AuthInterface; ``` Defined in: server-client/dist/lib/client.d.ts:24 The authentication instance responsible for generating authentication headers and query parameters. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`auth`](Vonage-Server-Client.md#client#auth) ##### ~~authType~~ ```ts authType: AuthenticationType = AuthenticationType.JWT; ``` Defined in: [meetings/lib/meetings.ts:87](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L87) The type of authentication used for the client's requests. ###### Overrides [`Client`](Vonage-Server-Client.md#client).[`authType`](Vonage-Server-Client.md#client#authtype) ##### ~~config~~ ```ts protected config: ConfigParams; ``` Defined in: server-client/dist/lib/client.d.ts:28 Configuration settings for the client, including default hosts for various services and other request settings. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`config`](Vonage-Server-Client.md#client#config) ##### ~~FORM\_BOUNDARY~~ ```ts FORM_BOUNDARY: string = '-------------------------Vonage-Node_SDK'; ``` Defined in: [meetings/lib/meetings.ts:92](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L92) Used to keep the form boundary consistent when uploading files ##### ~~ROOM\_WRITE\_KEYS~~ ```ts ROOM_WRITE_KEYS: string[]; ``` Defined in: [meetings/lib/meetings.ts:97](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L97) List of properties from the room that can be written ##### ~~THEME\_WRITE\_KEYS~~ ```ts THEME_WRITE_KEYS: string[]; ``` Defined in: [meetings/lib/meetings.ts:119](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L119) List of properties from the theme that can be written ##### ~~transformers~~ ```ts static transformers: object; ``` Defined in: server-client/dist/lib/client.d.ts:11 Static property containing utility transformers. ###### ~~camelCaseObjectKeys~~ ```ts camelCaseObjectKeys: PartialTransformFunction; ``` ###### ~~kebabCaseObjectKeys~~ ```ts kebabCaseObjectKeys: PartialTransformFunction; ``` ###### ~~omit()~~ ```ts omit: (keys, obj) => TransformedObject; ``` ###### Parameters ###### keys `string`[] ###### obj [`ObjectToTransform`](Vonage-Server-Client.md#objecttotransform) ###### Returns [`TransformedObject`](Vonage-Server-Client.md#transformedobject) ###### ~~snakeCaseObjectKeys~~ ```ts snakeCaseObjectKeys: PartialTransformFunction; ``` ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`transformers`](Vonage-Server-Client.md#client#transformers) #### Methods ##### ~~\_getIconUploadUrl()~~ ```ts protected _getIconUploadUrl(logo): Promise; ``` Defined in: [meetings/lib/meetings.ts:788](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L788) Retrieves the URL for uploading an icon (logo) to the specified LogoType. ###### Parameters ###### logo [`LogoType`](#logotype) The LogoType for which the upload URL is requested. ###### Returns `Promise`\<[`UrlResponse`](#urlresponse)\> A promise that resolves to the URLResponse containing the upload URL and fields. ###### Throws If the upload URL retrieval fails or encounters an error. ##### ~~\_uploadToAws()~~ ```ts protected _uploadToAws(urlResponse, logoFile): Promise; ``` Defined in: [meetings/lib/meetings.ts:744](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L744) Uploads a file to an AWS S3 bucket using the provided URL and fields. ###### Parameters ###### urlResponse [`UrlResponse`](#urlresponse) The URL and fields required for the AWS S3 upload. ###### logoFile `string` The file path of the file to upload. ###### Returns `Promise`\<`true`\> A promise that resolves to `true` when the file is successfully uploaded to AWS S3. ###### Throws If the upload fails or encounters an error. ##### ~~addAuthenticationToRequest()~~ ```ts addAuthenticationToRequest(request): Promise; ``` Defined in: server-client/dist/lib/client.d.ts:43 Adds the appropriate authentication headers or parameters to the request based on the authentication type. ###### Parameters ###### request [`VetchOptions`](Vonage-Vetch.md#vetchoptions) The request options to which authentication needs to be added. ###### Returns `Promise`\<[`VetchOptions`](Vonage-Vetch.md#vetchoptions)\> - The request options with the added authentication. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`addAuthenticationToRequest`](Vonage-Server-Client.md#client#addauthenticationtorequest) ##### ~~addBasicAuthToRequest()~~ ```ts protected addBasicAuthToRequest(request): Promise; ``` Defined in: server-client/dist/lib/client.d.ts:71 Adds basic authentication headers to the request. ###### Parameters ###### request [`VetchOptions`](Vonage-Vetch.md#vetchoptions) The request options to which authentication needs to be added. ###### Returns `Promise`\<[`VetchOptions`](Vonage-Vetch.md#vetchoptions)\> - The request options with the added authentication. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`addBasicAuthToRequest`](Vonage-Server-Client.md#client#addbasicauthtorequest) ##### ~~addJWTToRequest()~~ ```ts protected addJWTToRequest(request): Promise; ``` Defined in: server-client/dist/lib/client.d.ts:64 Adds a JWT to the request. ###### Parameters ###### request [`VetchOptions`](Vonage-Vetch.md#vetchoptions) The request options to which authentication needs to be added. ###### Returns `Promise`\<[`VetchOptions`](Vonage-Vetch.md#vetchoptions)\> - The request options with the added authentication. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`addJWTToRequest`](Vonage-Server-Client.md#client#addjwttorequest) ##### ~~addQueryKeySecretToRequest()~~ ```ts protected addQueryKeySecretToRequest(request): Promise; ``` Defined in: server-client/dist/lib/client.d.ts:57 Adds API key and secret to the request. ###### Parameters ###### request [`VetchOptions`](Vonage-Vetch.md#vetchoptions) The request options to which authentication needs to be added. ###### Returns `Promise`\<[`VetchOptions`](Vonage-Vetch.md#vetchoptions)\> - The request options with the added authentication. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`addQueryKeySecretToRequest`](Vonage-Server-Client.md#client#addquerykeysecrettorequest) ##### ~~addQueryKeySecretToRequestBody()~~ ```ts protected addQueryKeySecretToRequestBody(request): Promise; ``` Defined in: server-client/dist/lib/client.d.ts:50 Adds API key and secret to the request body. ###### Parameters ###### request [`VetchOptions`](Vonage-Vetch.md#vetchoptions) The request options to which authentication needs to be added. ###### Returns `Promise`\<[`VetchOptions`](Vonage-Vetch.md#vetchoptions)\> - The request options with the added authentication. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`addQueryKeySecretToRequestBody`](Vonage-Server-Client.md#client#addquerykeysecrettorequestbody) ##### ~~createRoom()~~ ```ts createRoom(room): Promise; ``` Defined in: [meetings/lib/meetings.ts:252](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L252) Creates a new meeting room. ###### Parameters ###### room [`MeetingRoom`](#meetingroom) The meeting room object to create. ###### Returns `Promise`\<[`MeetingRoom`](#meetingroom)\> A promise that resolves to the created meeting room. ###### Example Create a new meeting room ```ts const room = await meetingsClient.createRoom({ displayName: 'My Room', metadata: { my_data: 'my_value' } }); console.log(`Created room with ID ${room.id}`); ``` ##### ~~createTheme()~~ ```ts createTheme(theme): Promise; ``` Defined in: [meetings/lib/meetings.ts:512](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L512) Creates a new theme with the provided theme details. ###### Parameters ###### theme [`Theme`](#theme) The theme details to create. ###### Returns `Promise`\<[`Theme`](#theme)\> A Promise that resolves with the created theme. ###### Example Create a new themes ```ts 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()~~ ```ts deleteRecording(recordingId): Promise; ``` Defined in: [meetings/lib/meetings.ts:374](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L374) 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 ```ts await meetingsClient.deleteRecording('my-recording-id'); console.log(`Recording with ID ${recordingId} has been deleted`); ``` ##### ~~deleteTheme()~~ ```ts deleteTheme(themeId, force?): Promise; ``` Defined in: [meetings/lib/meetings.ts:484](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L484) 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 ```ts await meetingsClient.deleteTheme('my-theme-id'); console.log(`Theme with ID ${themeId} has been deleted`); ``` ##### ~~getConfig()~~ ```ts getConfig(): ConfigParams; ``` Defined in: server-client/dist/lib/client.d.ts:36 ###### Returns [`ConfigParams`](Vonage-Server-Client.md#configparams) ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`getConfig`](Vonage-Server-Client.md#client#getconfig) ##### ~~getDialInNumbers()~~ ```ts getDialInNumbers(): AsyncGenerator; ``` Defined in: [meetings/lib/meetings.ts:398](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L398) Retrieves a list of dial-in numbers. ###### Returns `AsyncGenerator`\<[`DialInNumber`](#dialinnumber), `void` & [`DialInNumber`](#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 ```ts for await (const number of meetingsClient.getDialInNumbers()) { console.log(`Dial-in number ${number.number} is in ${number.country}`); } ``` ##### ~~getRecording()~~ ```ts getRecording(recordingId): Promise; ``` Defined in: [meetings/lib/meetings.ts:315](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L315) Retrieves a recording by its ID. ###### Parameters ###### recordingId `string` The ID of the recording to retrieve. ###### Returns `Promise`\<[`Recording`](#recording)\> A promise that resolves to the recording. ###### Example Get a recording by ID ```ts 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()~~ ```ts getRoom(roomId): Promise; ``` Defined in: [meetings/lib/meetings.ts:224](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L224) Retrieves a meeting room by its ID. ###### Parameters ###### roomId `string` The ID of the meeting room to retrieve. ###### Returns `Promise`\<[`MeetingRoom`](#meetingroom)\> A promise that resolves to the meeting room. ###### Example Get a meeting room by ID ```ts 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()~~ ```ts getRoomPage(params): Promise; ``` Defined in: [meetings/lib/meetings.ts:195](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L195) Retrieves a page of meeting rooms based on the provided parameters. ###### Parameters ###### params [`MeetingRoomParams`](#meetingroomparams) = `{}` Optional parameters for pagination. ###### Returns `Promise`\<[`MeetingRoomPageResponse`](#meetingroompageresponse)\> A promise that resolves to a page of meeting rooms. ###### Examples Get a page of meeting rooms ```ts 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 ```ts 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()~~ ```ts getRooms(params): AsyncGenerator; ``` Defined in: [meetings/lib/meetings.ts:145](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L145) Retrieves a list of meeting rooms until there are no more pages ###### Parameters ###### params [`MeetingRoomParams`](#meetingroomparams) = `{}` Optional parameters for pagination. ###### Returns `AsyncGenerator`\<[`MeetingRoom`](#meetingroom), `void` & [`MeetingRoom`](#meetingroom), `undefined`\> An async generator of meeting rooms. ###### Example Generate a list of meeting rooms ```ts 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()~~ ```ts getRoomsForTheme(themeId, params): AsyncGenerator; ``` Defined in: [meetings/lib/meetings.ts:582](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L582) 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`](#meetingroomparams) = `{}` Optional parameters to filter and paginate the results. ###### Returns `AsyncGenerator`\<[`MeetingRoom`](#meetingroom), `void` & [`MeetingRoom`](#meetingroom), `undefined`\> An async generator that yields meeting rooms associated with the theme. ###### Example Get meeting rooms for a theme ```ts 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()~~ ```ts getRoomsForThemePage(themeId, params): Promise; ``` Defined in: [meetings/lib/meetings.ts:632](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L632) 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`](#meetingroomparams) = `{}` Optional parameters to filter and paginate the results. ###### Returns `Promise`\<[`MeetingRoomPageResponse`](#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 ```ts 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 ```ts 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()~~ ```ts getSessionRecordings(sessionId): AsyncGenerator; ``` Defined in: [meetings/lib/meetings.ts:345](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L345) 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`](#recording), `void` & [`Recording`](#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 ```ts 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()~~ ```ts getTheme(themeId): Promise; ``` Defined in: [meetings/lib/meetings.ts:460](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L460) Retrieves a theme by its theme ID. ###### Parameters ###### themeId `string` The ID of the theme to retrieve. ###### Returns `Promise`\<[`Theme`](#theme)\> A Promise that resolves to the retrieved theme. ###### Example Get a theme by ID ```ts const theme = await meetingsClient.getTheme('my-theme-id'); console.log(`Theme ${theme.themeName} has ID ${theme.id}`); ``` ##### ~~getThemes()~~ ```ts getThemes(): AsyncGenerator; ``` Defined in: [meetings/lib/meetings.ts:432](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L432) Retrieves a list of themes. ###### Returns `AsyncGenerator`\<[`Theme`](#theme), `void` & [`Theme`](#theme), `undefined`\> An asynchronous generator that yields themes. ###### Remarks All themes are returned in one request ###### Example Get a list of getThemes ```ts for await (const theme of meetingsClient.getThemes()) { console.log(`Theme ${theme.themeName} has ID ${theme.id}`); } ``` ##### ~~parseResponse()~~ ```ts protected parseResponse(request, response): Promise>; ``` Defined in: server-client/dist/lib/client.d.ts:168 Parses the response based on its content type. ###### Type Parameters ###### T `T` The expected type of the parsed response data. ###### Parameters ###### request [`VetchOptions`](Vonage-Vetch.md#vetchoptions) The request options. ###### response `Response` The raw response from the request. ###### Returns `Promise`\<[`VetchResponse`](Vonage-Vetch.md#vetchresponse)\<`T`\>\> - The parsed response. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`parseResponse`](Vonage-Server-Client.md#client#parseresponse) ##### ~~prepareBody()~~ ```ts protected prepareBody(request): undefined | string; ``` Defined in: server-client/dist/lib/client.d.ts:158 Prepares the body for the request based on the content type. ###### Parameters ###### request [`VetchOptions`](Vonage-Vetch.md#vetchoptions) The request options. ###### Returns `undefined` \| `string` - The prepared request body as a string or undefined. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`prepareBody`](Vonage-Server-Client.md#client#preparebody) ##### ~~prepareRequest()~~ ```ts protected prepareRequest(request): Promise; ``` Defined in: server-client/dist/lib/client.d.ts:151 Prepares the request with necessary headers, authentication, and query parameters. ###### Parameters ###### request [`VetchOptions`](Vonage-Vetch.md#vetchoptions) The initial request options. ###### Returns `Promise`\<[`VetchOptions`](Vonage-Vetch.md#vetchoptions)\> - The modified request options. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`prepareRequest`](Vonage-Server-Client.md#client#preparerequest) ##### ~~sendDeleteRequest()~~ ```ts sendDeleteRequest(url): Promise>; ``` Defined in: server-client/dist/lib/client.d.ts:78 Sends a DELETE request to the specified URL. ###### Type Parameters ###### T `T` ###### Parameters ###### url `string` The URL endpoint for the DELETE request. ###### Returns `Promise`\<[`VetchResponse`](Vonage-Vetch.md#vetchresponse)\<`T`\>\> - The response from the DELETE request. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`sendDeleteRequest`](Vonage-Server-Client.md#client#senddeleterequest) ##### ~~sendFormSubmitRequest()~~ ```ts sendFormSubmitRequest(url, payload?): Promise>; ``` Defined in: server-client/dist/lib/client.d.ts:86 Sends a POST request with form data to the specified URL. ###### Type Parameters ###### T `T` ###### Parameters ###### url `string` The URL endpoint for the POST request. ###### payload? `Record`\<`string`, `undefined` \| `string`\> Optional payload containing form data to send with the POST request. ###### Returns `Promise`\<[`VetchResponse`](Vonage-Vetch.md#vetchresponse)\<`T`\>\> - The response from the POST request. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`sendFormSubmitRequest`](Vonage-Server-Client.md#client#sendformsubmitrequest) ##### ~~sendGetRequest()~~ ```ts sendGetRequest(url, queryParams?): Promise>; ``` Defined in: server-client/dist/lib/client.d.ts:94 Sends a GET request to the specified URL with optional query parameters. ###### Type Parameters ###### T `T` ###### Parameters ###### url `string` The URL endpoint for the GET request. ###### queryParams? Optional query parameters to append to the URL. These should be compatible with Node's URLSearchParams. ###### Returns `Promise`\<[`VetchResponse`](Vonage-Vetch.md#vetchresponse)\<`T`\>\> - The response from the GET request. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`sendGetRequest`](Vonage-Server-Client.md#client#sendgetrequest) ##### ~~sendPatchRequest()~~ ```ts sendPatchRequest(url, payload?): Promise>; ``` Defined in: server-client/dist/lib/client.d.ts:104 Sends a PATCH request to the specified URL with an optional payload. ###### Type Parameters ###### T `T` ###### Parameters ###### url `string` The URL endpoint for the PATCH request. ###### payload? Optional payload to be sent as the body of the PATCH request. ###### Returns `Promise`\<[`VetchResponse`](Vonage-Vetch.md#vetchresponse)\<`T`\>\> - The response from the PATCH request. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`sendPatchRequest`](Vonage-Server-Client.md#client#sendpatchrequest) ##### ~~sendPostRequest()~~ ```ts sendPostRequest(url, payload?): Promise>; ``` Defined in: server-client/dist/lib/client.d.ts:114 Sends a POST request to the specified URL with an optional payload. ###### Type Parameters ###### T `T` ###### Parameters ###### url `string` The URL endpoint for the POST request. ###### payload? Optional payload to be sent as the body of the POST request. ###### Returns `Promise`\<[`VetchResponse`](Vonage-Vetch.md#vetchresponse)\<`T`\>\> - The response from the POST request. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`sendPostRequest`](Vonage-Server-Client.md#client#sendpostrequest) ##### ~~sendPutRequest()~~ ```ts sendPutRequest(url, payload?): Promise>; ``` Defined in: server-client/dist/lib/client.d.ts:124 Sends a PUT request to the specified URL with an optional payload. ###### Type Parameters ###### T `T` ###### Parameters ###### url `string` The URL endpoint for the PUT request. ###### payload? Optional payload to be sent as the body of the PUT request. ###### Returns `Promise`\<[`VetchResponse`](Vonage-Vetch.md#vetchresponse)\<`T`\>\> - The response from the PUT request. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`sendPutRequest`](Vonage-Server-Client.md#client#sendputrequest) ##### ~~sendRequest()~~ ```ts sendRequest(request): Promise>; ``` Defined in: server-client/dist/lib/client.d.ts:144 Sends a request adding necessary headers, handling authentication, and parsing the response. ###### Type Parameters ###### T `T` ###### Parameters ###### request [`VetchOptions`](Vonage-Vetch.md#vetchoptions) The options defining the request, including URL, method, headers, and data. ###### Returns `Promise`\<[`VetchResponse`](Vonage-Vetch.md#vetchresponse)\<`T`\>\> - The parsed response from the request. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`sendRequest`](Vonage-Server-Client.md#client#sendrequest) ##### ~~sendRequestWithData()~~ ```ts sendRequestWithData( method, url, payload?): Promise>; ``` Defined in: server-client/dist/lib/client.d.ts:135 Sends a request with JSON-encoded data to the specified URL using the provided HTTP method. ###### Type Parameters ###### T `T` ###### Parameters ###### method The HTTP method to be used for the request (only POST, PATCH, or PUT are acceptable). [`POST`](Vonage-Vetch.md#httpmethods#post) | [`PUT`](Vonage-Vetch.md#httpmethods#put) | [`PATCH`](Vonage-Vetch.md#httpmethods#patch) ###### url `string` The URL endpoint for the request. ###### payload? Optional payload to be sent as the body of the request, JSON-encoded. ###### Returns `Promise`\<[`VetchResponse`](Vonage-Vetch.md#vetchresponse)\<`T`\>\> - The response from the request. ###### Inherited from [`Client`](Vonage-Server-Client.md#client).[`sendRequestWithData`](Vonage-Server-Client.md#client#sendrequestwithdata) ##### ~~setDefaultTheme()~~ ```ts setDefaultTheme(themeId): Promise; ``` Defined in: [meetings/lib/meetings.ts:659](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L659) 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 ```ts await meetingsClient.setDefaultTheme('my-theme-id'); console.log(`Default theme has been set`); ``` ##### ~~updateRoom()~~ ```ts updateRoom(roomId, room): Promise; ``` Defined in: [meetings/lib/meetings.ts:285](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L285) Updates an existing meeting room. ###### Parameters ###### roomId `string` The ID of the meeting room to update. ###### room [`MeetingRoom`](#meetingroom) The meeting room object with updated information. ###### Returns `Promise`\<[`MeetingRoom`](#meetingroom)\> A promise that resolves to the updated meeting room. ###### Example Update a meeting room ```ts 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()~~ ```ts updateTheme(themeId, theme): Promise; ``` Defined in: [meetings/lib/meetings.ts:545](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L545) Updates an existing theme with the provided theme details. ###### Parameters ###### themeId `string` The ID of the theme to update. ###### theme [`Theme`](#theme) The updated theme details. ###### Returns `Promise`\<[`Theme`](#theme)\> A Promise that resolves with the updated theme. ###### Example Update a theme ```ts 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()~~ ```ts uploadIcon( themeId, logo, logoFile): Promise; ``` Defined in: [meetings/lib/meetings.ts:697](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/meetings.ts#L697) Uploads an icon (logo) to a theme. ###### Parameters ###### themeId `string` The ID of the theme to which the icon will be attached. ###### logo [`LogoType`](#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](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 ```ts await meetingsClient.uploadIcon('my-theme-id', LogoType.WHITE, '/path/to/white-logo.png'); console.log(`Icon has been uploaded`); ``` ## Interfaces ### ~~RecordingEndedInterface~~ Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:46](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L46) #### Deprecated Exported as interface in error. Please use RecordingEnded #### Extends - [`RecordingEnded`](#recordingended) #### Properties ##### ~~duration~~ ```ts duration: number; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:40](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L40) The duration of the recording in seconds. ###### Inherited from [`RecordingEnded`](#recordingended).[`duration`](#duration-2) ##### ~~ended\_at~~ ```ts ended_at: string; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L35) The date and time when the recording ended. ###### Inherited from [`RecordingEnded`](#recordingended).[`ended_at`](#ended_at-3) ##### ~~event~~ ```ts event: RECORDING_ENDED; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L15) The type of event, which is 'recording:ended'. ###### Inherited from [`RecordingEnded`](#recordingended).[`event`](#event-6) ##### ~~recording\_id~~ ```ts recording_id: string; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L20) The unique identifier for the recording. ###### Inherited from [`RecordingEnded`](#recordingended).[`recording_id`](#recording_id-3) ##### ~~session\_id~~ ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L25) The unique identifier for the session associated with the recording. ###### Inherited from [`RecordingEnded`](#recordingended).[`session_id`](#session_id-5) ##### ~~started\_at~~ ```ts started_at: string; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L30) The date and time when the recording started. ###### Inherited from [`RecordingEnded`](#recordingended).[`started_at`](#started_at-4) *** ### ~~RecordingReadyInterface~~ Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:56](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L56) #### Deprecated Exported as interface in error. Please use RecordingReady #### Extends - [`RecordingReady`](#recordingready) #### Properties ##### ~~duration~~ ```ts duration: number; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:45](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L45) The duration of the recording in seconds. ###### Inherited from [`RecordingReady`](#recordingready).[`duration`](#duration-3) ##### ~~ended\_at~~ ```ts ended_at: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:40](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L40) The date and time when the recording ended. ###### Inherited from [`RecordingReady`](#recordingready).[`ended_at`](#ended_at-4) ##### ~~event~~ ```ts event: RECORDING_READY; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L15) The type of event, which is 'recording:ready'. ###### Inherited from [`RecordingReady`](#recordingready).[`event`](#event-7) ##### ~~recording\_id~~ ```ts recording_id: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L20) The unique identifier for the recording. ###### Inherited from [`RecordingReady`](#recordingready).[`recording_id`](#recording_id-4) ##### ~~room\_id~~ ```ts room_id: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L30) The unique identifier for the room associated with the recording. ###### Inherited from [`RecordingReady`](#recordingready).[`room_id`](#room_id-4) ##### ~~session\_id~~ ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L25) The unique identifier for the session associated with the recording. ###### Inherited from [`RecordingReady`](#recordingready).[`session_id`](#session_id-6) ##### ~~started\_at~~ ```ts started_at: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L35) The date and time when the recording started. ###### Inherited from [`RecordingReady`](#recordingready).[`started_at`](#started_at-5) ##### ~~url~~ ```ts url: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:50](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L50) The URL where the recording can be accessed. ###### Inherited from [`RecordingReady`](#recordingready).[`url`](#url-2) *** ### ~~RecordingStartedInterface~~ Defined in: [meetings/lib/types/events/recordingStartedEvent.ts:31](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingStartedEvent.ts#L31) #### Deprecated Exported as interface in error. Please use RecordingStarted #### Extends - [`RecordingStarted`](#recordingstarted) #### Properties ##### ~~event~~ ```ts event: RECORDING_STARTED; ``` Defined in: [meetings/lib/types/events/recordingStartedEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingStartedEvent.ts#L15) The type of event, which is 'recording:started'. ###### Inherited from [`RecordingStarted`](#recordingstarted).[`event`](#event-8) ##### ~~recording\_id~~ ```ts recording_id: string; ``` Defined in: [meetings/lib/types/events/recordingStartedEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingStartedEvent.ts#L20) The unique identifier for the recording. ###### Inherited from [`RecordingStarted`](#recordingstarted).[`recording_id`](#recording_id-5) ##### ~~session\_id~~ ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/recordingStartedEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingStartedEvent.ts#L25) The unique identifier for the session associated with the recording. ###### Inherited from [`RecordingStarted`](#recordingstarted).[`session_id`](#session_id-8) *** ### ~~RoomExpiredInterface~~ Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:42](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L42) #### Deprecated Exported as interface in error. Please use RoomExpired #### Extends - [`RoomExpired`](#roomexpired) #### Properties ##### ~~created\_at~~ ```ts created_at: string; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:36](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L36) The date and time when the room was created, expressed in ISO 8601 format. ###### Inherited from [`RoomExpired`](#roomexpired).[`created_at`](#created_at-1) ##### ~~event~~ ```ts event: ROOM_EXPIRED; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L15) The type of event, which is 'room:expired'. ###### Inherited from [`RoomExpired`](#roomexpired).[`event`](#event-9) ##### ~~expires\_at~~ ```ts expires_at: string; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:31](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L31) 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`](#roomexpired).[`expires_at`](#expires_at-1) ##### ~~room\_id~~ ```ts room_id: string; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L20) The unique identifier for the room. ###### Inherited from [`RoomExpired`](#roomexpired).[`room_id`](#room_id-5) ##### ~~room\_type~~ ```ts room_type: MeetingType; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L25) The type of meeting associated with the room. ###### Inherited from [`RoomExpired`](#roomexpired).[`room_type`](#room_type-1) *** ### ~~SessionEndedInterface~~ Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:41](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L41) #### Deprecated Exported as interface in error. Please use SessionEnded #### Extends - [`SessionEnded`](#sessionended) #### Properties ##### ~~ended\_at~~ ```ts ended_at: string; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L35) The date and time when the session ended. ###### Inherited from [`SessionEnded`](#sessionended).[`ended_at`](#ended_at-6) ##### ~~event~~ ```ts event: SESSION_ENDED; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L15) The type of event, which is 'session:ended'. ###### Inherited from [`SessionEnded`](#sessionended).[`event`](#event-10) ##### ~~room\_id~~ ```ts room_id: string; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L25) The unique identifier for the room associated with the session. ###### Inherited from [`SessionEnded`](#sessionended).[`room_id`](#room_id-6) ##### ~~session\_id~~ ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L20) The unique identifier for the session. ###### Inherited from [`SessionEnded`](#sessionended).[`session_id`](#session_id-9) ##### ~~started\_at~~ ```ts started_at: string; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L30) The date and time when the session started. ###### Inherited from [`SessionEnded`](#sessionended).[`started_at`](#started_at-7) *** ### ~~SessionStartedInterface~~ Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:36](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L36) #### Deprecated Exported as interface in error. Please use SessionStarted #### Extends - [`SessionStarted`](#sessionstarted) #### Properties ##### ~~event~~ ```ts event: SESSION_STARTED; ``` Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L15) The type of event, which is 'session:started'. ###### Inherited from [`SessionStarted`](#sessionstarted).[`event`](#event-11) ##### ~~room\_id~~ ```ts room_id: string; ``` Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L25) The unique identifier for the room associated with the session. ###### Inherited from [`SessionStarted`](#sessionstarted).[`room_id`](#room_id-7) ##### ~~session\_id~~ ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L20) The unique identifier for the session. ###### Inherited from [`SessionStarted`](#sessionstarted).[`session_id`](#session_id-10) ##### ~~started\_at~~ ```ts started_at: string; ``` Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L30) The date and time when the session started. ###### Inherited from [`SessionStarted`](#sessionstarted).[`started_at`](#started_at-8) ## Type Aliases ### AvailableFeatures ```ts type AvailableFeatures = object; ``` Defined in: [meetings/lib/types/availableFeatures.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/availableFeatures.ts#L4) Represents available features for a meeting room. #### Properties ##### isCaptionsAvailable? ```ts optional isCaptionsAvailable: boolean; ``` Defined in: [meetings/lib/types/availableFeatures.ts:28](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/availableFeatures.ts#L28) Indicates if captions are available in the UI. ##### isChatAvailable? ```ts optional isChatAvailable: boolean; ``` Defined in: [meetings/lib/types/availableFeatures.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/availableFeatures.ts#L13) Indicates if chat feature is available in the UI. ##### isLocaleSwitcherAvailable? ```ts optional isLocaleSwitcherAvailable: boolean; ``` Defined in: [meetings/lib/types/availableFeatures.ts:23](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/availableFeatures.ts#L23) Indicates if the locale switcher is available in the UI. ##### isRecordingAvailable? ```ts optional isRecordingAvailable: boolean; ``` Defined in: [meetings/lib/types/availableFeatures.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/availableFeatures.ts#L8) Indicates if recording feature is available in the UI. ##### isWhiteboardAvailable? ```ts optional isWhiteboardAvailable: boolean; ``` Defined in: [meetings/lib/types/availableFeatures.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/availableFeatures.ts#L18) Indicates if whiteboard feature is available in the UI. *** ### AvailableFeaturesResponse ```ts type AvailableFeaturesResponse = object; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:69](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L69) Represents available features in the user interface of a meeting room. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` #### Properties ##### is\_captions\_available ```ts is_captions_available: boolean; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:93](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L93) Determine if captions are available in the UI. ##### is\_chat\_available ```ts is_chat_available: boolean; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:78](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L78) Determine if the chat feature is available in the UI. ##### is\_locale\_switcher\_available ```ts is_locale_switcher_available: boolean; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:88](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L88) Determine if the locale switcher is available in the UI. ##### is\_recording\_available ```ts is_recording_available: boolean; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:73](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L73) Determine if the recording feature is available in the UI. ##### is\_whiteboard\_available ```ts is_whiteboard_available: boolean; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:83](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L83) Determine if the whiteboard feature is available in the UI. *** ### CallbackUrlsResponse ```ts type CallbackUrlsResponse = object; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:45](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L45) Represents callback URLs for events related to a meeting room. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` #### Properties ##### recordings\_callback\_url ```ts recordings_callback_url: string; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:59](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L59) Callback URL for recordings events, overrides application-level recordings callback URL. ##### rooms\_callback\_url ```ts rooms_callback_url: string; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:49](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L49) Callback URL for rooms events, overrides application-level rooms callback URL. ##### sessions\_callback\_url ```ts sessions_callback_url: string; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:54](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L54) Callback URL for sessions events, overrides application-level sessions callback URL. *** ### DefaultThemeResponse ```ts type DefaultThemeResponse = object; ``` Defined in: [meetings/lib/types/response/defaultThemeResponse.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/defaultThemeResponse.ts#L4) Represents the response containing default theme information. #### Properties ##### account\_id ```ts account_id: string; ``` Defined in: [meetings/lib/types/response/defaultThemeResponse.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/defaultThemeResponse.ts#L13) The account ID associated with the default theme. ##### application\_id ```ts application_id: string; ``` Defined in: [meetings/lib/types/response/defaultThemeResponse.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/defaultThemeResponse.ts#L8) The application ID associated with the default theme. ##### default\_theme\_id ```ts default_theme_id: string; ``` Defined in: [meetings/lib/types/response/defaultThemeResponse.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/defaultThemeResponse.ts#L18) The ID of the default theme. *** ### DialInNumber ```ts type DialInNumber = object; ``` Defined in: [meetings/lib/types/dialInNumber.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/dialInNumber.ts#L4) Represents a dial-in number with associated information. #### Properties ##### displayName ```ts displayName: string; ``` Defined in: [meetings/lib/types/dialInNumber.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/dialInNumber.ts#L18) The display name or label for the dial-in number. ##### locale ```ts locale: string; ``` Defined in: [meetings/lib/types/dialInNumber.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/dialInNumber.ts#L13) The locale or region associated with the dial-in number. ##### number ```ts number: string; ``` Defined in: [meetings/lib/types/dialInNumber.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/dialInNumber.ts#L8) The phone number for dialing in. *** ### InitialJoinOptionsResponse ```ts type InitialJoinOptionsResponse = object; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:31](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L31) Represents the default options for participants when joining a meeting room. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` #### Properties ##### microphone\_state ```ts microphone_state: MicrophoneSate; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L35) The default microphone state for users in the pre-join screen of this room. *** ### MeetingRoom ```ts type MeetingRoom = object; ``` Defined in: [meetings/lib/types/meetingRoom.ts:14](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L14) Represents a meeting room with associated properties. #### Properties ##### availableFeatures ```ts availableFeatures: AvailableFeatures; ``` Defined in: [meetings/lib/types/meetingRoom.ts:93](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L93) Available features for the meeting room's user interface. ##### callbackUrls? ```ts optional callbackUrls: RoomCallbackURLS; ``` Defined in: [meetings/lib/types/meetingRoom.ts:88](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L88) Callback URLs for various room-related events. ##### createdAt? ```ts optional createdAt: string; ``` Defined in: [meetings/lib/types/meetingRoom.ts:58](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L58) The date and time when the meeting room was created. ##### displayName ```ts displayName: string; ``` Defined in: [meetings/lib/types/meetingRoom.ts:23](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L23) The display name or label for the meeting room. ##### expireAfterUse? ```ts optional expireAfterUse: boolean; ``` Defined in: [meetings/lib/types/meetingRoom.ts:68](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L68) Indicates whether the room should expire after use (only relevant for long-term rooms). ##### expiresAt? ```ts optional expiresAt: string; ``` Defined in: [meetings/lib/types/meetingRoom.ts:63](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L63) The date and time when the meeting room will expire. ##### guestUrl? ```ts optional guestUrl: string; ``` Defined in: [meetings/lib/types/meetingRoom.ts:113](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L113) The URL for joining the meeting room as a guest. ##### hostUrl? ```ts optional hostUrl: string; ``` Defined in: [meetings/lib/types/meetingRoom.ts:108](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L108) The URL for joining the meeting room as a host. ##### id? ```ts optional id: string; ``` Defined in: [meetings/lib/types/meetingRoom.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L18) The unique identifier for the meeting room. ##### initialJoinOptions? ```ts optional initialJoinOptions: object; ``` Defined in: [meetings/lib/types/meetingRoom.ts:78](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L78) Options for participants when they initially join the room. ###### microphoneState? ```ts optional microphoneState: MicrophoneSate; ``` The default microphone state for users in the pre-join screen of this room. ##### isAvailable? ```ts optional isAvailable: boolean; ``` Defined in: [meetings/lib/types/meetingRoom.ts:48](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L48) Indicates whether the meeting room is available for use. ##### joinApprovalLevel? ```ts optional joinApprovalLevel: JoinType; ``` Defined in: [meetings/lib/types/meetingRoom.ts:73](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L73) The level of approval needed to join the meeting in the room. ##### meetingCode? ```ts optional meetingCode: string; ``` Defined in: [meetings/lib/types/meetingRoom.ts:43](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L43) The meeting PIN number or code. ##### metadata? ```ts optional metadata: string; ``` Defined in: [meetings/lib/types/meetingRoom.ts:28](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L28) Additional metadata or information about the meeting room. ##### recordingOptions? ```ts optional recordingOptions: RecordingOptions; ``` Defined in: [meetings/lib/types/meetingRoom.ts:38](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L38) Options related to recording meetings in the room. ##### themeId? ```ts optional themeId: string; ``` Defined in: [meetings/lib/types/meetingRoom.ts:53](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L53) The unique identifier for the theme associated with the meeting room. ##### type ```ts type: MeetingType; ``` Defined in: [meetings/lib/types/meetingRoom.ts:33](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L33) The type of meeting, which can be instant or long term. ##### uiSettings? ```ts optional uiSettings: object; ``` Defined in: [meetings/lib/types/meetingRoom.ts:98](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoom.ts#L98) User interface settings for the meeting room. ###### language? ```ts optional language: RoomLanguage; ``` The desired language of the UI. *** ### MeetingRoomPageResponse ```ts type MeetingRoomPageResponse = object & APILinks; ``` Defined in: [meetings/lib/types/response/meetingRoomPageResponse.ts:7](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomPageResponse.ts#L7) Represents the response for a page of meeting rooms. #### Type declaration ##### \_embedded ```ts _embedded: MeetingRoomResponse[]; ``` An array of meeting room responses embedded within the page. ##### page\_size ```ts page_size: number; ``` The number of meeting rooms on the page. ##### total\_items ```ts total_items: number; ``` The total number of meeting rooms across all pages. *** ### MeetingRoomParams ```ts type MeetingRoomParams = object; ``` Defined in: [meetings/lib/types/meetingRoomParams.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoomParams.ts#L4) Represents parameters for querying meeting rooms. #### Properties ##### endId? ```ts optional endId: string; ``` Defined in: [meetings/lib/types/meetingRoomParams.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoomParams.ts#L18) The ending identifier for filtering meeting rooms. ##### pageSize? ```ts optional pageSize: number; ``` Defined in: [meetings/lib/types/meetingRoomParams.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoomParams.ts#L8) The maximum number of items to retrieve per page. ##### startId? ```ts optional startId: string; ``` Defined in: [meetings/lib/types/meetingRoomParams.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/meetingRoomParams.ts#L13) The starting identifier for filtering meeting rooms. *** ### MeetingRoomResponse ```ts type MeetingRoomResponse = object & APILinks & Omit; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:117](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L117) Represents the response structure for a meeting room. #### Type declaration ##### \_links? ```ts optional _links: object; ``` Links for guest and host URLs to join the meeting room. ###### \_links.guest\_url ```ts _links.guest_url: APILink; ``` ###### \_links.host\_url ```ts _links.host_url: APILink; ``` ##### available\_features ```ts available_features: AvailableFeaturesResponse; ``` Available features in the meeting room's user interface. ##### callback\_urls ```ts callback_urls: CallbackUrlsResponse; ``` Callback URLs for events related to the room. ##### created\_at ```ts created_at: string; ``` The time when the meeting room was created, expressed in ISO 8601 format. ##### display\_name ```ts display_name: string; ``` The display name of the meeting room. ##### expire\_after\_use ```ts expire_after_use: string; ``` Indicates whether to expire the room after a session ends. ##### expires\_at ```ts expires_at: string; ``` The time for when the room will expire, expressed in ISO 8601 format. ##### initial\_join\_options ```ts initial_join_options: InitialJoinOptionsResponse; ``` Default options for participants joining the room. ##### is\_available ```ts is_available: boolean; ``` Indicates whether the meeting room is available. ##### join\_approval\_level ```ts join_approval_level: JoinType; ``` The level of approval needed to join the meeting in the room. ##### meeting\_code ```ts meeting_code: string; ``` The meeting PIN. ##### recording\_options ```ts recording_options: RecordingOptionsResponse; ``` Recording options for the meeting room. ##### theme\_id ```ts theme_id: string; ``` The theme UUID associated with the meeting room. ##### ui\_settings ```ts ui_settings: UiSettingsResponse; ``` User interface settings for the meeting room. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` *** ### Recording ```ts type Recording = object; ``` Defined in: [meetings/lib/types/recording.ts:6](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recording.ts#L6) Represents a recording with associated properties. #### Properties ##### endedAt ```ts endedAt: string; ``` Defined in: [meetings/lib/types/recording.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recording.ts#L25) The date and time when the recording ended. ##### id ```ts id: string; ``` Defined in: [meetings/lib/types/recording.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recording.ts#L10) The unique identifier for the recording. ##### sessionId ```ts sessionId: string; ``` Defined in: [meetings/lib/types/recording.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recording.ts#L15) The unique identifier for the session associated with the recording. ##### startedAt ```ts startedAt: string; ``` Defined in: [meetings/lib/types/recording.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recording.ts#L20) The date and time when the recording started. ##### status ```ts status: RecordingStatus; ``` Defined in: [meetings/lib/types/recording.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recording.ts#L30) The status of the recording. ##### url ```ts url: string; ``` Defined in: [meetings/lib/types/recording.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recording.ts#L35) The URL where the recording can be accessed. *** ### RecordingEnded ```ts type RecordingEnded = object; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L11) Represents an event for recording ended. #### Remarks The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling #### Extended by - [`RecordingEndedInterface`](#recordingendedinterface) #### Properties ##### duration ```ts duration: number; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:40](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L40) The duration of the recording in seconds. ##### ended\_at ```ts ended_at: string; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L35) The date and time when the recording ended. ##### event ```ts event: RECORDING_ENDED; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L15) The type of event, which is 'recording:ended'. ##### recording\_id ```ts recording_id: string; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L20) The unique identifier for the recording. ##### session\_id ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L25) The unique identifier for the session associated with the recording. ##### started\_at ```ts started_at: string; ``` Defined in: [meetings/lib/types/events/recordingEndedEvent.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingEndedEvent.ts#L30) The date and time when the recording started. *** ### RecordingOptions ```ts type RecordingOptions = object; ``` Defined in: [meetings/lib/types/recordingOptions.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recordingOptions.ts#L4) Represents options for recording a meeting. #### Properties ##### autoRecord ```ts autoRecord: boolean; ``` Defined in: [meetings/lib/types/recordingOptions.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recordingOptions.ts#L8) Indicates whether recording should be automatically started for all sessions. ##### recordOnlyOwner ```ts recordOnlyOwner: boolean; ``` Defined in: [meetings/lib/types/recordingOptions.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/recordingOptions.ts#L13) Indicates whether recording should be limited to the owner's screen or any shared screen. *** ### RecordingOptionsResponse ```ts type RecordingOptionsResponse = object; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:12](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L12) Represents recording options for a meeting room. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` #### Properties ##### auto\_record ```ts auto_record: boolean; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:16](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L16) Indicates whether to automatically record all sessions in this room. ##### record\_owner\_only ```ts record_owner_only: boolean; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:21](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L21) Indicates whether to record only the owner's screen or any shared screen during video. *** ### RecordingReady ```ts type RecordingReady = object; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L11) Represents an event type for recording readiness. #### Remarks The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling #### Extended by - [`RecordingReadyInterface`](#recordingreadyinterface) #### Properties ##### duration ```ts duration: number; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:45](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L45) The duration of the recording in seconds. ##### ended\_at ```ts ended_at: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:40](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L40) The date and time when the recording ended. ##### event ```ts event: RECORDING_READY; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L15) The type of event, which is 'recording:ready'. ##### recording\_id ```ts recording_id: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L20) The unique identifier for the recording. ##### room\_id ```ts room_id: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L30) The unique identifier for the room associated with the recording. ##### session\_id ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L25) The unique identifier for the session associated with the recording. ##### started\_at ```ts started_at: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L35) The date and time when the recording started. ##### url ```ts url: string; ``` Defined in: [meetings/lib/types/events/recordingReadyEvent.ts:50](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingReadyEvent.ts#L50) The URL where the recording can be accessed. *** ### RecordingResponse ```ts type RecordingResponse = object; ``` Defined in: [meetings/lib/types/response/recordingResponse.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/recordingResponse.ts#L11) Represents a response for a recording. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` #### Properties ##### \_links ```ts _links: object; ``` Defined in: [meetings/lib/types/response/recordingResponse.ts:40](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/recordingResponse.ts#L40) Links for accessing the recording URL. ###### url ```ts url: APILink; ``` The URL to access the recording. ##### ended\_at ```ts ended_at: string; ``` Defined in: [meetings/lib/types/response/recordingResponse.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/recordingResponse.ts#L30) The date when the recording ended, expressed in ISO 8601 format. ##### id ```ts id: string; ``` Defined in: [meetings/lib/types/response/recordingResponse.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/recordingResponse.ts#L15) The ID of the recording. ##### session\_id ```ts session_id: string; ``` Defined in: [meetings/lib/types/response/recordingResponse.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/recordingResponse.ts#L20) The session ID corresponding to the recording. ##### started\_at ```ts started_at: string; ``` Defined in: [meetings/lib/types/response/recordingResponse.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/recordingResponse.ts#L25) The date when the recording started, expressed in ISO 8601 format. ##### status ```ts status: RecordingStatus; ``` Defined in: [meetings/lib/types/response/recordingResponse.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/recordingResponse.ts#L35) The current status of the recording. *** ### RecordingResponsePage ```ts type RecordingResponsePage = object; ``` Defined in: [meetings/lib/types/response/recordingResponsePage.ts:6](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/recordingResponsePage.ts#L6) Represents a response page containing an array of recording responses. #### Properties ##### \_embedded ```ts _embedded: object; ``` Defined in: [meetings/lib/types/response/recordingResponsePage.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/recordingResponsePage.ts#L10) An object containing an array of recording responses embedded within the page. ###### recordings ```ts recordings: RecordingResponse[]; ``` An array of recording responses. *** ### RecordingStarted ```ts type RecordingStarted = object; ``` Defined in: [meetings/lib/types/events/recordingStartedEvent.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingStartedEvent.ts#L11) Represents an event for recording started. #### Remarks The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling #### Extended by - [`RecordingStartedInterface`](#recordingstartedinterface) #### Properties ##### event ```ts event: RECORDING_STARTED; ``` Defined in: [meetings/lib/types/events/recordingStartedEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingStartedEvent.ts#L15) The type of event, which is 'recording:started'. ##### recording\_id ```ts recording_id: string; ``` Defined in: [meetings/lib/types/events/recordingStartedEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingStartedEvent.ts#L20) The unique identifier for the recording. ##### session\_id ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/recordingStartedEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/recordingStartedEvent.ts#L25) The unique identifier for the session associated with the recording. *** ### RoomCallbackURLS ```ts type RoomCallbackURLS = object; ``` Defined in: [meetings/lib/types/roomCallbackURLS.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/roomCallbackURLS.ts#L4) Represents callback URLs for various room-related events. #### Properties ##### recordingsCallbackUrl ```ts recordingsCallbackUrl: string; ``` Defined in: [meetings/lib/types/roomCallbackURLS.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/roomCallbackURLS.ts#L18) The callback URL for recordings events. ##### roomsCallbackUrl ```ts roomsCallbackUrl: string; ``` Defined in: [meetings/lib/types/roomCallbackURLS.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/roomCallbackURLS.ts#L8) The callback URL for rooms events. ##### sessionsCallbackUrl ```ts sessionsCallbackUrl: string; ``` Defined in: [meetings/lib/types/roomCallbackURLS.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/roomCallbackURLS.ts#L13) The callback URL for sessions events. *** ### RoomExpired ```ts type RoomExpired = object; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L11) Represents an event for a room expiration. #### Remarks The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling #### Extended by - [`RoomExpiredInterface`](#roomexpiredinterface) #### Properties ##### created\_at ```ts created_at: string; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:36](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L36) The date and time when the room was created, expressed in ISO 8601 format. ##### event ```ts event: ROOM_EXPIRED; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L15) The type of event, which is 'room:expired'. ##### expires\_at ```ts expires_at: string; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:31](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L31) 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 ```ts room_id: string; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L20) The unique identifier for the room. ##### room\_type ```ts room_type: MeetingType; ``` Defined in: [meetings/lib/types/events/roomExpiredEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/roomExpiredEvent.ts#L25) The type of meeting associated with the room. *** ### SessionEnded ```ts type SessionEnded = object; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L11) Represents an event for a session ending. #### Remarks The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling #### Extended by - [`SessionEndedInterface`](#sessionendedinterface) #### Properties ##### ended\_at ```ts ended_at: string; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L35) The date and time when the session ended. ##### event ```ts event: SESSION_ENDED; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L15) The type of event, which is 'session:ended'. ##### room\_id ```ts room_id: string; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L25) The unique identifier for the room associated with the session. ##### session\_id ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L20) The unique identifier for the session. ##### started\_at ```ts started_at: string; ``` Defined in: [meetings/lib/types/events/sessionEndedEvent.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionEndedEvent.ts#L30) The date and time when the session started. *** ### SessionStarted ```ts type SessionStarted = object; ``` Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L11) Represents an event for a session starting. #### Remarks The SDK does not have any functionality for process incoming webhook events. The types are provided here to help with code completion and TS Compiling #### Extended by - [`SessionStartedInterface`](#sessionstartedinterface) #### Properties ##### event ```ts event: SESSION_STARTED; ``` Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L15) The type of event, which is 'session:started'. ##### room\_id ```ts room_id: string; ``` Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L25) The unique identifier for the room associated with the session. ##### session\_id ```ts session_id: string; ``` Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L20) The unique identifier for the session. ##### started\_at ```ts started_at: string; ``` Defined in: [meetings/lib/types/events/sessionStartedEvent.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/events/sessionStartedEvent.ts#L30) The date and time when the session started. *** ### Theme ```ts type Theme = object; ``` Defined in: [meetings/lib/types/theme.ts:6](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L6) Represents a theme configuration for meeting rooms. #### Properties ##### accountId? ```ts optional accountId: string; ``` Defined in: [meetings/lib/types/theme.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L25) The application's account ID (ApiKey). ##### applicationId? ```ts optional applicationId: string; ``` Defined in: [meetings/lib/types/theme.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L30) The application ID. ##### brandedFavicon? ```ts optional brandedFavicon: string; ``` Defined in: [meetings/lib/types/theme.ts:60](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L60) Favicon key in the storage system. ##### brandedFaviconUrl? ```ts optional brandedFaviconUrl: string; ``` Defined in: [meetings/lib/types/theme.ts:75](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L75) Favicon link. ##### brandImageColored? ```ts optional brandImageColored: string; ``` Defined in: [meetings/lib/types/theme.ts:50](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L50) Colored logo's key in the storage system. ##### brandImageColoredUrl? ```ts optional brandImageColoredUrl: string; ``` Defined in: [meetings/lib/types/theme.ts:65](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L65) Colored logo's link. ##### brandImageWhite? ```ts optional brandImageWhite: string; ``` Defined in: [meetings/lib/types/theme.ts:55](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L55) White logo's key in the storage system. ##### brandImageWhiteUrl? ```ts optional brandImageWhiteUrl: string; ``` Defined in: [meetings/lib/types/theme.ts:70](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L70) White logo's link. ##### brandText ```ts brandText: string; ``` Defined in: [meetings/lib/types/theme.ts:45](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L45) The text that will appear on the meeting homepage, in the case that there is no brand image. ##### domain? ```ts optional domain: ThemeDomain; ``` Defined in: [meetings/lib/types/theme.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L20) The domain of the theme, which must be one of 'VCP' or 'VBC'. ##### mainColor ```ts mainColor: string; ``` Defined in: [meetings/lib/types/theme.ts:35](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L35) The main color that will be used for the meeting room. ##### shortCompanyUrl? ```ts optional shortCompanyUrl: string; ``` Defined in: [meetings/lib/types/theme.ts:40](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L40) The URL that will represent every meeting room with this theme. The value must be unique across Vonage. ##### themeId? ```ts optional themeId: string; ``` Defined in: [meetings/lib/types/theme.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L10) The unique identifier for the theme. ##### themeName? ```ts optional themeName: string; ``` Defined in: [meetings/lib/types/theme.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/theme.ts#L15) The name of the theme (must be unique). If null, a UUID will automatically be generated. *** ### ThemeResponse ```ts type ThemeResponse = Theme; ``` Defined in: [meetings/lib/types/response/themeResponse.ts:3](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/themeResponse.ts#L3) *** ### UiSettingsResponse ```ts type UiSettingsResponse = object; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:103](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L103) Represents user interface settings for a meeting room. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` #### Properties ##### language ```ts language: RoomLanguage; ``` Defined in: [meetings/lib/types/response/meetingRoomResponse.ts:107](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/meetingRoomResponse.ts#L107) The desired language of the user interface. *** ### UrlResponse ```ts type UrlResponse = object; ``` Defined in: [meetings/lib/types/response/urlResponse.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/urlResponse.ts#L11) Represents a response containing URL and associated fields for an image. #### Remarks Uploading a theme requires fetching a singed URL form AWS. The SDK handles this process for you so there should be no need to use the type. It is included for convenience. #### Properties ##### fields ```ts fields: object; ``` Defined in: [meetings/lib/types/response/urlResponse.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/urlResponse.ts#L20) Fields related to the image URL. ###### bucket ```ts bucket: string; ``` The bucket where the image is stored. ###### Content-Type ```ts Content-Type: "image/png"; ``` The content type of the image, typically 'image/png'. ###### key ```ts key: string; ``` The key associated with the image. ###### logoType ```ts logoType: LogoType; ``` The logo type of the image. ###### Policy ```ts Policy: string; ``` The policy associated with image access. ###### X-Amz-Algorithm ```ts X-Amz-Algorithm: string; ``` The AWS S3 algorithm used for access. ###### X-Amz-Credential ```ts X-Amz-Credential: string; ``` The AWS S3 credential for access. ###### X-Amz-Date ```ts X-Amz-Date: string; ``` The date associated with the image access. ###### X-Amz-Security-Token ```ts X-Amz-Security-Token: string; ``` The security token for AWS access. ###### X-Amz-Signature ```ts X-Amz-Signature: string; ``` The AWS S3 signature for image access. ##### url ```ts url: string; ``` Defined in: [meetings/lib/types/response/urlResponse.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/meetings/lib/types/response/urlResponse.ts#L15) The URL for the image.