[**Documentation**](index.md)
***
[Documentation](packages.md) / Vonage JWT
# Vonage Applications SDK for Node.js
 [](https://codecov.io/gh/Vonage/vonage-server-sdk)  [](../../CODE_OF_CONDUCT.md) [][license]
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
```