[**Documentation**](index.md) *** [Documentation](packages.md) / Vonage JWT # Vonage Applications SDK for Node.js ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vonage/vonage-node-sdk/ci.yml?branch=3.x) [![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/applications?label=%40vonage%2Fapplications&style=flat-square) [![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/accounts?label=License&style=flat-square)][license] Vonage This is the Vonage Applications 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]. For full API documentation refer to [developer.nexmo.com](https://developer.nexmo.com/). If you are updating from V2 to V3, please check the migration guide found [here](https://github.com/Vonage/vonage-node-sdk/blob/3.x/packages/applications/v2_TO_v3_MIGRATION_GUIDE.md) * [Installation](#installation) * [Usage](#usage) * [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 Applications API. ### With NPM ```bash npm install @vonage/applications ``` ### With Yarn ```bash yarn add @vonage/applications ``` ## Usage ### 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 `applications` property off of the client that you instantiate. ```js const { Vonage } = require('@vonage/server-sdk'); const vonage = new Vonage({ apiKey: API_KEY, apiSecret: API_SECRET, }, options); const balance = await vonage.applications.listApplications(); ``` ### 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 Applications API. All you need to do is `require('@vonage/applications')`, and use the returned object to create your own client. ```js const { Auth } = require('@vonage/auth'); const { Applications } = require('@vonage/applications'); const credentials = new Auth({ apiKey: API_KEY, apiSecret: API_SECRET, }); const options = { timeout: 1500 }; const applicationsClient = new Applications(credentials, options); ``` Where `credentials` is any option from [`@vonage/auth`](https://github.com/Vonage/vonage-node-sdk/blob/3.x/packages/auth/README.md#options), and `options` is any option from [`@vonage/server-client`](https://github.com/Vonage/vonage-node-sdk/blob/3.x/packages/server-client/README.md#options) ## Promises Most methods that interact with the Vonage API use Promises. You can either resolve these yourself or use `await` to wait for a response. ```js const applications = await applicationsClient.listApplications(); applicationsClient.listApplications() .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 A library to allow management of your Vonage Applications. ## Remarks A Vonage API application contains the security and configuration information you need to connect to Vonage endpoints and use the Vonage APIs. Each Vonage application created can support multiple capabilities - for example you can create an Application that supports using the Voice, Messages and RTC APIs. ## Link https://developer.vonage.com/en/application/overview ## Enumerations ### VoiceRegions Defined in: [applications/lib/enums/VoiceRegions.ts:9](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/enums/VoiceRegions.ts#L9) Enumeration representing different voice regions. #### Remarks Selecting a region means all inbound, programmable SIP and SIP connect calls will be sent to the selected region unless the call is sent to a regional endpoint. If the call is using a regional endpoint this will override the application setting. #### Enumeration Members | Enumeration Member | Value | Description | Defined in | | ------ | ------ | ------ | ------ | | `APAC_AUSTRALIA` | `"apac-australia"` | **Description** Asia-Pacific - Australia region | [applications/lib/enums/VoiceRegions.ts:38](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/enums/VoiceRegions.ts#L38) | | `APAC_SNG` | `"apac-sng"` | **Description** Asia-Pacific - Singapore region | [applications/lib/enums/VoiceRegions.ts:33](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/enums/VoiceRegions.ts#L33) | | `EU_EAST` | `"eu-east"` | **Description** Europe - East region | [applications/lib/enums/VoiceRegions.ts:28](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/enums/VoiceRegions.ts#L28) | | `EU_WEST` | `"eu-west"` | **Description** Europe - West region | [applications/lib/enums/VoiceRegions.ts:23](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/enums/VoiceRegions.ts#L23) | | `NA_EAST` | `"na-east"` | **Description** North America - East region | [applications/lib/enums/VoiceRegions.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/enums/VoiceRegions.ts#L13) | | `NA_WEST` | `"na-west"` | **Description** North America - West region | [applications/lib/enums/VoiceRegions.ts:18](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/enums/VoiceRegions.ts#L18) | ## Classes ### Applications Defined in: [applications/lib/applications.ts:57](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L57) #### Extends - [`Client`](Vonage-Server-Client.md#client) #### Constructors ##### Constructor ```ts new Applications(credentials, options?): Applications; ``` 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 [`Applications`](#applications) ###### 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.BASIC; ``` Defined in: [applications/lib/applications.ts:58](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L58) 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) ##### 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 ##### 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) ##### createApplication() ```ts createApplication(application): Promise; ``` Defined in: [applications/lib/applications.ts:205](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L205) Creates a new application with the provided details. ###### Parameters ###### application [`Application`](#application) The application details to be created. ###### Returns `Promise`\<[`MergedApplication`](#mergedapplication)\> - A promise resolving to the created application. ###### See API Specification [https://developer.vonage.com/en/api/application.v2#createApplication](https://developer.vonage.com/en/api/application.v2#createApplication) ###### Example Create a new application ```ts const application = await applicationClient.createApplication({ name: 'My Application', capabilities: { voice: { webhooks: { answerUrl: { address: 'https://example.com/answer', httpMethod: 'GET' }, eventUrl: { address: 'https://example.com/event', httpMethod: 'POST' } } } } }); console.log(application.id); ``` ##### deleteApplication() ```ts deleteApplication(applicationId): Promise; ``` Defined in: [applications/lib/applications.ts:286](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L286) Deletes an application by its unique identifier. ###### Parameters ###### applicationId `string` The unique identifier of the application to delete. ###### Returns `Promise`\<`void`\> - A promise indicating the successful deletion of the application. ###### See API Specification [https://developer.vonage.com/en/api/application.v2#deleteApplication](https://developer.vonage.com/en/api/application.v2#deleteApplication) ###### Example Delete an application ```ts await applicationClient.deleteApplication(APPLICATION_ID); ``` ##### getApplication() ```ts getApplication(applicationId): Promise; ``` Defined in: [applications/lib/applications.ts:232](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L232) Retrieves an application by its unique identifier. ###### Parameters ###### applicationId `string` The unique identifier of the application to retrieve. ###### Returns `Promise`\<[`MergedApplication`](#mergedapplication)\> - A promise resolving to the retrieved application. ###### See API Specification [https://developer.vonage.com/en/api/application.v2#getApplication](https://developer.vonage.com/en/api/application.v2#getApplication) ###### Example Retrieve an application ```ts const application = await applicationClient.getApplication(APPLICATION_ID); console.log(application.name); ``` ##### getApplicationPage() ```ts getApplicationPage(filter): Promise; ``` Defined in: [applications/lib/applications.ts:151](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L151) Retrieves a page of applications based on filter parameters. ###### Parameters ###### filter [`ListApplicationParams`](#listapplicationparams) The filter parameters for pagination. ###### Returns `Promise`\<[`ApplicationPageList`](#applicationpagelist)\> - A promise resolving to a page of applications. ###### Remarks This will return the `snake_case` and the `camelCase` response. Using `snake_case` is considered deprecated ###### See API Specification [https://developer.vonage.com/en/api/application.v2#listApplication](https://developer.vonage.com/en/api/application.v2#listApplication) ###### Example Get a single page of applications ```ts const applications = await applicationClient.getApplicationPage({ page: 1, size: 10 }); applications.applications.forEach(application => { console.log(application.name); }); ``` ##### 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) ##### listAllApplications() ```ts listAllApplications(params?): AsyncGenerator; ``` Defined in: [applications/lib/applications.ts:111](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L111) Retrieves all applications, iterating over paginated results. ###### Parameters ###### params? [`ListApplicationParams`](#listapplicationparams) = `{}` Optional filter parameters. ###### Returns `AsyncGenerator`\<[`MergedApplication`](#mergedapplication), `void` & [`Application`](#application) & `object` & [`APILinks`](Vonage-Server-Client.md#apilinks), `undefined`\> - An asynchronous generator. ###### Remarks This will keep calling the API until there are no pages left. This will return the `snake_case` and the `camelCase` response. Using `snake_case` is considered deprecated ###### Yields - Yields application items. ###### Example List applications with pagination using an iterator ```ts for await (const application of applicationClient.listAllApplications()) { console.log(application.name); } ``` ##### listApplications() ```ts listApplications(params): Promise; ``` Defined in: [applications/lib/applications.ts:84](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L84) Retrieves a list of applications with optional pagination parameters. ###### Parameters ###### params [`ListApplicationParams`](#listapplicationparams) The filter parameters. ###### Returns `Promise`\<[`ApplicationPageList`](#applicationpagelist)\> - A promise resolving to the list of applications. ###### Remarks This is used to get a specific page of applications. This will return the `snake_case` and the `camelCase` response. Using `snake_case` is considered deprecated ###### See API Specification [https://developer.vonage.com/en/api/application.v2#listApplication](https://developer.vonage.com/en/api/application.v2#listApplication) ###### Example List a single page of applications ```ts const applications = await applicationClient.listApplications({}); applications.applications.forEach(application => { console.log(application.name); }); ``` ##### 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) ##### updateApplication() ```ts updateApplication(application): Promise; ``` Defined in: [applications/lib/applications.ts:261](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L261) Updates an existing application with the provided details. ###### Parameters ###### application [`Application`](#application) The application details to be updated. ###### Returns `Promise`\<[`MergedApplication`](#mergedapplication)\> - A promise resolving to the updated application. ###### See API Specification [https://developer.vonage.com/en/api/application.v2#updateApplication](https://developer.vonage.com/en/api/application.v2#updateApplication) ###### Example Update an application ```ts const application = await applicationClient.updateApplication({ id: APPLICATION_ID, name: 'My Application', }); console.log(application.name); ``` ## Type Aliases ### AnswerCallbackUrl ```ts type AnswerCallbackUrl = object & CapabilityWebhook; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L8) Vonage numbers that are linked to Vonage applications will use the answer_url to retrieve an NCCO #### Type declaration ##### connectTimeout? ```ts optional connectTimeout: number; ``` Connection timeout in milliseconds. ##### socketTimeout? ```ts optional socketTimeout: number; ``` Socket timeout in milliseconds. *** ### AnswerUrlResponse ```ts type AnswerUrlResponse = object & CapabilityWebhookResponse; ``` Defined in: [applications/lib/types/Response/CapabilityVoiceResponse.ts:33](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityVoiceResponse.ts#L33) Answer URL configuration response #### Type declaration ##### connect\_timeout? ```ts optional connect_timeout: number; ``` Connection timeout in milliseconds. ##### socket\_timeout? ```ts optional socket_timeout: number; ``` Socket timeout in milliseconds. #### See [AnswerCallbackUrl](#answercallbackurl) #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` *** ### AnyCapability ```ts type AnyCapability = | CapabilityBulk | CapabilityMeetings | CapabilityMessages | CapabilityRTC | CapabilityVerify | CapabilityVoice | CapabilityWebhook; ``` Defined in: [applications/lib/types/index.ts:9](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/index.ts#L9) *** ### Application ```ts type Application = object; ``` Defined in: [applications/lib/types/Application.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Application.ts#L11) Represents an application configuration. #### Properties ##### capabilities ```ts capabilities: object; ``` Defined in: [applications/lib/types/Application.ts:65](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Application.ts#L65) Represents the capabilities configuration for an application. ###### bulk? ```ts optional bulk: CapabilityBulk; ``` Bulk related configuration. ###### meetings? ```ts optional meetings: CapabilityMeetings; ``` Meetings related configuration. ###### messages? ```ts optional messages: CapabilityMessages; ``` Messages/Dispatch related configuration. ###### rtc? ```ts optional rtc: CapabilityRTC; ``` RTC/Conversation Service related configuration. ###### vbc? ```ts optional vbc: unknown; ``` Specify the vbc capability to enable zero-rated calls for VBC number programmability service applications. This is always an empty object. ###### verify? ```ts optional verify: CapabilityVerify; ``` Verify related configuration. ###### voice? ```ts optional voice: CapabilityVoice; ``` Voice related configuration. ##### id? ```ts optional id: string; ``` Defined in: [applications/lib/types/Application.ts:15](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Application.ts#L15) The application's unique ID. ##### keys? ```ts optional keys: object; ``` Defined in: [applications/lib/types/Application.ts:29](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Application.ts#L29) Represents the keys associated with an application. ###### privateKey? ```ts optional privateKey: string; ``` The private key for the application. ###### Remarks This will only be present when the application is created, or when you cycle the public key when doing an update. ###### publicKey? ```ts optional publicKey: string; ``` The public key for the application. ###### Remarks You can find this value in your Vonage developer dashboard [https://dashboard.nexmo.com/applications] ##### name ```ts name: string; ``` Defined in: [applications/lib/types/Application.ts:23](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Application.ts#L23) Friendly identifier for the application. ###### Remarks This is not unique. ##### privacy? ```ts optional privacy: object; ``` Defined in: [applications/lib/types/Application.ts:51](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Application.ts#L51) Represents the privacy configuration for an application ###### improveAi ```ts improveAi: boolean; ``` Share content ###### Remarks If set to true, Vonage may store and use your content and data for the improvement of Vonage's AI-based services and technologies. *** ### ApplicationPageList ```ts type ApplicationPageList = object & ApplicationPageResponse; ``` Defined in: [applications/lib/types/ApplicationPageList.ts:6](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/ApplicationPageList.ts#L6) Represents a paginated list of applications. #### Type declaration ##### pageSize ```ts pageSize: number; ``` The number of applications per page. ##### totalItems ```ts totalItems: number; ``` The total number of applications. ##### totalPages ```ts totalPages: number; ``` The total number of pages returned. *** ### ApplicationPageResponse ```ts type ApplicationPageResponse = object & APILinks; ``` Defined in: [applications/lib/types/Response/ApplicationPageResponse.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/ApplicationPageResponse.ts#L13) Represents the response for a paginated list of applications. #### Type declaration ##### \_embedded ```ts _embedded: object; ``` An object containing a list of applications. ###### \_embedded.applications ```ts _embedded.applications: ApplicationResponse[]; ``` A list of applications matching your existing filters. ##### applications ```ts applications: ApplicationResponse[]; ``` A list of applications matching your existing filters. ##### page ```ts page: number; ``` The current page number (starts at 1). ##### page\_size ```ts page_size: number; ``` The number of applications per page. ##### total\_items ```ts total_items: number; ``` The total number of applications. ##### total\_pages ```ts total_pages: number; ``` The total number of pages returned. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` #### Link https://developer.vonage.com/en/api/application.v2#listApplication *** ### ApplicationResponse ```ts type ApplicationResponse = object & Application & APILinks; ``` Defined in: [applications/lib/types/Response/ApplicationResponse.ts:21](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/ApplicationResponse.ts#L21) Represents a response containing application information. #### Type declaration ##### capabilities ```ts capabilities: object; ``` Capabilities configuration for the application. ###### capabilities.bulk ```ts capabilities.bulk: CapabilityBulkResponse; ``` Bulk related configuration. ###### capabilities.meetings ```ts capabilities.meetings: CapabilityMeetingsResponse; ``` Meetings related configuration. ###### capabilities.messages ```ts capabilities.messages: CapabilityMessagesResponse; ``` Messages/Dispatch related configuration. ###### capabilities.rtc ```ts capabilities.rtc: CapabilityRTCResponse; ``` RTC/Conversation Service related configuration. ###### capabilities.vbc ```ts capabilities.vbc: unknown; ``` Specify the vbc capability to enable zero-rated calls for VBC number programmability service applications. This is always an empty object. ###### capabilities.verify ```ts capabilities.verify: CapabilityVerifyResponse; ``` Verify related configuration. ###### capabilities.voice ```ts capabilities.voice: CapabilityVoiceResponse; ``` Voice related configuration. ##### keys ```ts keys: object; ``` Keys associated with the application. ###### keys.private\_key? ```ts optional keys.private_key: string; ``` The private key for the application. ###### keys.public\_key? ```ts optional keys.public_key: string; ``` The public key for the application. ##### privacy ```ts privacy: object; ``` Privacy configuration for the application. ###### privacy.improve\_ai? ```ts optional privacy.improve_ai: boolean; ``` If set to true, Vonage may store and use your content and data for the improvement of Vonage's AI-based services and technologies. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` #### Link https://developer.vonage.com/en/api/application.v2#getApplication #### See [Application](#application) *** ### CapabilityBulk ```ts type CapabilityBulk = object; ``` Defined in: [applications/lib/types/CapabilityBulk.ts:6](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityBulk.ts#L6) Represents a bulk capability configuration containing webhooks. #### Properties ##### webhooks ```ts webhooks: object; ``` Defined in: [applications/lib/types/CapabilityBulk.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityBulk.ts#L10) Webhook configuration for proactive-connect related events. ###### listStatusUrl ```ts listStatusUrl: CapabilityWebhook; ``` URL for listing status related to bulk operations. ###### runStatusUrl ```ts runStatusUrl: CapabilityWebhook; ``` URL for running status related to bulk operations. *** ### CapabilityBulkResponse ```ts type CapabilityBulkResponse = object; ``` Defined in: [applications/lib/types/Response/CapabilityBulkResponse.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityBulkResponse.ts#L10) Represents the response for bulk-related capabilities configuration. #### 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 ##### webhooks ```ts webhooks: object; ``` Defined in: [applications/lib/types/Response/CapabilityBulkResponse.ts:14](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityBulkResponse.ts#L14) Webhook configuration for bulk events. ###### list\_status\_url ```ts list_status_url: CapabilityWebhookResponse; ``` Webhook for events related to bulk list status. ###### run\_status\_url ```ts run_status_url: CapabilityWebhookResponse; ``` Webhook for events related to bulk run status. *** ### CapabilityMeetings ```ts type CapabilityMeetings = object; ``` Defined in: [applications/lib/types/CapabilityMeetings.ts:6](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityMeetings.ts#L6) Represents the meetings-related capabilities configuration for an application. #### Properties ##### webhooks ```ts webhooks: object; ``` Defined in: [applications/lib/types/CapabilityMeetings.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityMeetings.ts#L10) Webhook configuration for meetings-related events. ###### recordingChanged ```ts recordingChanged: CapabilityWebhook; ``` Webhook for events related to changes in meeting recording. ###### roomChanged ```ts roomChanged: CapabilityWebhook; ``` Webhook for events related to changes in meeting rooms. ###### sessionChanged ```ts sessionChanged: CapabilityWebhook; ``` Webhook for events related to changes in meeting sessions. *** ### CapabilityMeetingsResponse ```ts type CapabilityMeetingsResponse = object; ``` Defined in: [applications/lib/types/Response/CapabilityMeetingsResponse.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityMeetingsResponse.ts#L10) Represents the response for meetings-related capabilities configuration. #### 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 ##### webhooks ```ts webhooks: object; ``` Defined in: [applications/lib/types/Response/CapabilityMeetingsResponse.ts:14](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityMeetingsResponse.ts#L14) Webhook configuration for meetings-related events. ###### recording\_changed ```ts recording_changed: CapabilityWebhookResponse; ``` Webhook for events related to changes in meeting recording. ###### room\_changed ```ts room_changed: CapabilityWebhookResponse; ``` Webhook for events related to changes in meeting rooms. ###### session\_changed ```ts session_changed: CapabilityWebhookResponse; ``` Webhook for events related to changes in meeting sessions. *** ### CapabilityMessages ```ts type CapabilityMessages = object; ``` Defined in: [applications/lib/types/CapabilityMessages.ts:6](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityMessages.ts#L6) Represents a configuration for messaging capabilities. #### Properties ##### authenticateInboundMedia ```ts authenticateInboundMedia: boolean; ``` Defined in: [applications/lib/types/CapabilityMessages.ts:30](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityMessages.ts#L30) Whether to authenticate inbound media. ##### version ```ts version: "v1" | "v0.1"; ``` Defined in: [applications/lib/types/CapabilityMessages.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityMessages.ts#L25) The version of messaging capabilities ('v1' or 'v0.1'). ##### webhooks ```ts webhooks: object; ``` Defined in: [applications/lib/types/CapabilityMessages.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityMessages.ts#L10) Webhook configuration for inbound messages. ###### inboundUrl ```ts inboundUrl: CapabilityWebhook; ``` URL for handling inbound messages. ###### statusUrl ```ts statusUrl: CapabilityWebhook; ``` URL for handling message status events. *** ### CapabilityMessagesResponse ```ts type CapabilityMessagesResponse = object & Omit; ``` Defined in: [applications/lib/types/Response/CapabilityMessagesResponse.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityMessagesResponse.ts#L11) Represents the response for messages-related capabilities configuration. #### Type declaration ##### authenticate\_inbound\_media ```ts authenticate_inbound_media: boolean; ``` Whether to authenticate inbound media for messages. ##### webhooks ```ts webhooks: object; ``` Webhook configuration for messages-related events. ###### webhooks.inbound\_url ```ts webhooks.inbound_url: CapabilityWebhookResponse; ``` Webhook for inbound messages. ###### webhooks.status\_url ```ts webhooks.status_url: CapabilityWebhookResponse; ``` Webhook for events related to message status. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` *** ### CapabilityRTC ```ts type CapabilityRTC = object; ``` Defined in: [applications/lib/types/CapabilityRTC.ts:6](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityRTC.ts#L6) Represents a configuration for RTC (Real-Time Communication) capabilities. #### Properties ##### legPersistenceTime ```ts legPersistenceTime: number; ``` Defined in: [applications/lib/types/CapabilityRTC.ts:25](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityRTC.ts#L25) The leg persistence time for RTC in milliseconds. ##### signedCallbacks ```ts signedCallbacks: boolean; ``` Defined in: [applications/lib/types/CapabilityRTC.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityRTC.ts#L20) Whether to use signed callbacks for RTC. ##### webhooks ```ts webhooks: object; ``` Defined in: [applications/lib/types/CapabilityRTC.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityRTC.ts#L10) Webhook configuration for RTC events. ###### eventUrl ```ts eventUrl: CapabilityWebhook; ``` URL for handling RTC events. *** ### CapabilityRTCResponse ```ts type CapabilityRTCResponse = object; ``` Defined in: [applications/lib/types/Response/CapabilityRTCResponse.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityRTCResponse.ts#L10) Represents the response for RTC-related capabilities configuration. #### 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 ##### leg\_persistence\_time ```ts leg_persistence_time: number; ``` Defined in: [applications/lib/types/Response/CapabilityRTCResponse.ts:29](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityRTCResponse.ts#L29) The leg persistence time for RTC events. ##### signed\_callbacks ```ts signed_callbacks: boolean; ``` Defined in: [applications/lib/types/Response/CapabilityRTCResponse.ts:24](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityRTCResponse.ts#L24) Whether to use signed webhooks for RTC events. ##### webhooks ```ts webhooks: object; ``` Defined in: [applications/lib/types/Response/CapabilityRTCResponse.ts:14](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityRTCResponse.ts#L14) Webhook configuration for RTC events. ###### event\_url ```ts event_url: CapabilityWebhookResponse; ``` Webhook for events related to RTC. *** ### CapabilityVerify ```ts type CapabilityVerify = object; ``` Defined in: [applications/lib/types/CapabilityVerify.ts:6](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVerify.ts#L6) Represents a configuration for verification capabilities. #### Properties ##### version ```ts version: "v2"; ``` Defined in: [applications/lib/types/CapabilityVerify.ts:20](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVerify.ts#L20) The version of verification capabilities ('v2'). ##### webhooks ```ts webhooks: object; ``` Defined in: [applications/lib/types/CapabilityVerify.ts:10](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVerify.ts#L10) Webhook configuration for verification status events. ###### statusUrl ```ts statusUrl: CapabilityWebhook; ``` URL for handling verification status events. *** ### CapabilityVerifyResponse ```ts type CapabilityVerifyResponse = object & Omit; ``` Defined in: [applications/lib/types/Response/CapabilityVerifyResponse.ts:11](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityVerifyResponse.ts#L11) Represents the response for verification-related capabilities configuration. #### Type declaration ##### webhooks ```ts webhooks: object; ``` Webhook configuration for verification events. ###### webhooks.status\_url ```ts webhooks.status_url: CapabilityWebhookResponse; ``` Webhook for events related to verification status. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` *** ### CapabilityVoice ```ts type CapabilityVoice = object; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:61](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L61) Represents the voice-related capabilities configuration for an application. #### Link https://developer.vonage.com/en/getting-started/concepts/webhooks?lang=voice #### Properties ##### conversationsTTL? ```ts optional conversationsTTL: number; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:100](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L100) Conversation TTL ###### Remarks The length of time named conversations will remain active for after creation, in hours. 0 means infinite. Maximum value is 744 (i.e., 31 days). ##### paymentEnabled? ```ts optional paymentEnabled: boolean; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:85](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L85) Indicates whether payment is enabled. ##### payments? ```ts optional payments: object; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:116](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L116) Payment gateway configuration. ###### gateways? ```ts optional gateways: unknown[]; ``` List of payment gateways. ##### region? ```ts optional region: VoiceRegions | string; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:111](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L111) Region to round calls ###### Remarks Selecting a region means all inbound, programmable SIP and SIP connect calls will be sent to the selected region unless the call is sent to a regional endpoint. If the call is using a regional endpoint, this will override the application setting. ##### signedCallbacks? ```ts optional signedCallbacks: boolean; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:92](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L92) Whether to use signed webhooks for voice events. ###### Remarks Refer to [https://developer.vonage.com/en/getting-started/concepts/webhooks#decoding-signed-webhooks](https://developer.vonage.com/en/getting-started/concepts/webhooks#decoding-signed-webhooks) for more information. ##### webhooks? ```ts optional webhooks: object; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:65](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L65) Webhook configuration for voice events. ###### answerUrl? ```ts optional answerUrl: AnswerCallbackUrl; ``` Webhook for voice call answer events. ###### eventUrl? ```ts optional eventUrl: EventCallbackUrl; ``` Webhook for events related to voice calls. ###### fallbackAnswerUrl? ```ts optional fallbackAnswerUrl: FallbackAnswerUrl; ``` Webhook for fallback voice call answer events. *** ### CapabilityVoiceResponse ```ts type CapabilityVoiceResponse = object & Omit; ``` Defined in: [applications/lib/types/Response/CapabilityVoiceResponse.ts:71](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityVoiceResponse.ts#L71) Represents the response for voice-related capabilities configuration. #### Type declaration ##### conversations\_ttl ```ts conversations_ttl: number; ``` The length of time named conversations will remain active for after creation, in hours. 0 means infinite. Maximum value is 744 (i.e., 31 days). ##### payment\_enabled ```ts payment_enabled: boolean; ``` Indicates whether payment is enabled. ##### signed\_callbacks ```ts signed_callbacks: boolean; ``` Whether to use signed webhooks for voice events. Refer to [the Webhooks documentation](https://developer.vonage.com/en/getting-started/concepts/webhooks#decoding-signed-webhooks) for more information. ##### webhooks ```ts webhooks: object; ``` Webhook configuration for voice events. ###### webhooks.answer\_url ```ts webhooks.answer_url: AnswerUrlResponse; ``` Webhook for voice call answer events. ###### webhooks.event\_url ```ts webhooks.event_url: EventUrlResponse; ``` Webhook for events related to voice calls. ###### webhooks.fallback\_answer\_url ```ts webhooks.fallback_answer_url: FallbackAnswerUrlResponse; ``` Webhook for fallback voice call answer events. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` *** ### CapabilityWebhook ```ts type CapabilityWebhook = object; ``` Defined in: [applications/lib/types/CapabilityWebhook.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityWebhook.ts#L4) Represents the base properties for a capability webhook configuration. #### Properties ##### address ```ts address: string; ``` Defined in: [applications/lib/types/CapabilityWebhook.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityWebhook.ts#L8) The URL endpoint to which the webhook data will be sent. ##### httpMethod ```ts httpMethod: "POST" | "GET"; ``` Defined in: [applications/lib/types/CapabilityWebhook.ts:14](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityWebhook.ts#L14) The HTTP method to be used when sending data to the webhook endpoint. It can be either 'POST' or 'GET'. *** ### CapabilityWebhookResponse ```ts type CapabilityWebhookResponse = object & Omit; ``` Defined in: [applications/lib/types/Response/CapabilityWebhookResponse.ts:12](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityWebhookResponse.ts#L12) Represents the response for a capability webhook configuration. #### Type declaration ##### http\_method ```ts http_method: "POST" | "GET"; ``` The HTTP method to be used when sending data to the webhook endpoint. It can be either 'POST' or 'GET'. #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` #### See [CapabilityWebhook](#capabilitywebhook) *** ### EventCallbackUrl ```ts type EventCallbackUrl = object & CapabilityWebhook; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:26](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L26) Vonage numbers that are linked to Vonage applications will use the answer_url to retrieve an NCCO, and the event url to send call status information to you #### Type declaration ##### connectTimeout? ```ts optional connectTimeout: number; ``` Connection timeout in milliseconds. ##### socketTimeout? ```ts optional socketTimeout: number; ``` Socket timeout in milliseconds. #### Link https://developer.vonage.com/en/getting-started/concepts/webhooks?lang=voice *** ### EventUrlResponse ```ts type EventUrlResponse = object & CapabilityWebhookResponse; ``` Defined in: [applications/lib/types/Response/CapabilityVoiceResponse.ts:13](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityVoiceResponse.ts#L13) Event URL configuration response #### Type declaration ##### connectTimeout? ```ts optional connectTimeout: number; ``` Connection timeout in milliseconds. ##### socketTimeout? ```ts optional socketTimeout: number; ``` Socket timeout in milliseconds. #### See [EventCallbackUrl](#eventcallbackurl) #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` *** ### FallbackAnswerUrl ```ts type FallbackAnswerUrl = object & CapabilityWebhook; ``` Defined in: [applications/lib/types/CapabilityVoice.ts:44](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/CapabilityVoice.ts#L44) The fallback answer url can optionally be configured. This is used when answer url is offline or returning an HTTP error code. #### Type declaration ##### connectTimeout? ```ts optional connectTimeout: number; ``` Connection timeout in milliseconds. ##### socketTimeout? ```ts optional socketTimeout: number; ``` Socket timeout in milliseconds. #### Link https://developer.vonage.com/en/getting-started/concepts/webhooks?lang=voice *** ### FallbackAnswerUrlResponse ```ts type FallbackAnswerUrlResponse = object & CapabilityWebhookResponse; ``` Defined in: [applications/lib/types/Response/CapabilityVoiceResponse.ts:53](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/Response/CapabilityVoiceResponse.ts#L53) Fallback URL configuration response #### Type declaration ##### connect\_timeout? ```ts optional connect_timeout: number; ``` Connection timeout in milliseconds. ##### socket\_timeout? ```ts optional socket_timeout: number; ``` Socket timeout in milliseconds. #### See [FallbackAnswerUrlResponse](#fallbackanswerurlresponse) #### Remarks Vonage API's will return information using `snake_case`. This represents the pure response before the client will transform the keys into `camelCase` *** ### ListApplicationParams ```ts type ListApplicationParams = object; ``` Defined in: [applications/lib/types/ListApplicationParams.ts:4](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/ListApplicationParams.ts#L4) Parameters for listing applications with pagination. #### Properties ##### page? ```ts optional page: number; ``` Defined in: [applications/lib/types/ListApplicationParams.ts:19](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/ListApplicationParams.ts#L19) The specific page number for pagination. ##### ~~page\_size?~~ ```ts optional page_size: number; ``` Defined in: [applications/lib/types/ListApplicationParams.ts:14](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/ListApplicationParams.ts#L14) ###### Deprecated please use pageSize instead The deprecated size of the page for pagination. ##### pageSize? ```ts optional pageSize: number; ``` Defined in: [applications/lib/types/ListApplicationParams.ts:8](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/types/ListApplicationParams.ts#L8) The size of the page for pagination. *** ### MergedApplication ```ts type MergedApplication = Application & ApplicationResponse; ``` Defined in: [applications/lib/applications.ts:44](https://github.com/Vonage/vonage-node-sdk/blob/3846dd78a7cd39b838839d5c93db0b1652c0d168/packages/applications/lib/applications.ts#L44) Represents the application with both the `snake_case` and the `camelCase` keys. #### Remarks This is used for backward compatibility with an earlier release of the SDK which was not transforming the application correctly. Using `snake_case` is considered deprecated #### Examples Create a standalone Application client ```ts import { Applications } from '@vonage/application'; const applicationClient = new Applications({ apiKey: VONAGE_API_KEY, apiSecret: VONAGE_API_SECRET }); ``` Create an Application client from the Vonage client ```ts import { Vonage } from '@vonage/server-client'; const vonage = new Vonage({ apiKey: VONAGE_API_KEY, apiSecret: VONAGE_API_SECRET }); const applicationClient = vonage.application ```