Table of Contents

Class ApplicationClient

Namespace
Vonage.Applications
Assembly
Vonage.dll

Client for managing Vonage applications. Implements the Vonage Application API v2.

public class ApplicationClient : IApplicationClient
Inheritance
ApplicationClient
Implements
Inherited Members

Constructors

ApplicationClient(Credentials)

Initializes a new instance of the ApplicationClient class.

public ApplicationClient(Credentials creds = null)

Parameters

creds Credentials

Optional credentials for authenticating API requests.

Properties

Credentials

The credentials used to authenticate API requests.

public Credentials Credentials { get; set; }

Property Value

Credentials

Methods

CreateApplicationAsync(CreateApplicationRequest, Credentials)

Creates a new application with the specified configuration.

public Task<Application> CreateApplicationAsync(CreateApplicationRequest request, Credentials creds = null)

Parameters

request CreateApplicationRequest

The application configuration including name, capabilities, and webhook settings. See CreateApplicationRequest.

creds Credentials

Optional credentials to override the default credentials.

Returns

Task<Application>

The created application including its generated ID and keys.

Examples

var request = new CreateApplicationRequest
{
    Name = "My Voice Application",
    Capabilities = new ApplicationCapabilities
    {
        Voice = Voice.Build()
            .WithAnswerUrl("https://example.com/webhooks/answer", WebhookHttpMethod.Post)
            .WithEventUrl("https://example.com/webhooks/event", WebhookHttpMethod.Post)
    }
};
var application = await client.ApplicationClient.CreateApplicationAsync(request);
Console.WriteLine($"Application ID: {application.Id}");
// Store the private key securely - it's only returned on creation
Console.WriteLine($"Private Key: {application.Keys.PrivateKey}");
See Also

DeleteApplicationAsync(string, Credentials)

Deletes an application. This action cannot be undone.

public Task<bool> DeleteApplicationAsync(string id, Credentials creds = null)

Parameters

id string

The unique identifier of the application to delete.

creds Credentials

Optional credentials to override the default credentials.

Returns

Task<bool>

True if the application was successfully deleted.

Examples

var success = await client.ApplicationClient.DeleteApplicationAsync("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");
See Also

GetApplicationAsync(string, Credentials)

Retrieves the details of an existing application.

public Task<Application> GetApplicationAsync(string id, Credentials creds = null)

Parameters

id string

The unique identifier of the application to retrieve.

creds Credentials

Optional credentials to override the default credentials.

Returns

Task<Application>

The application details including its capabilities and webhook configuration.

Examples

var application = await client.ApplicationClient.GetApplicationAsync("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");
Console.WriteLine($"Application Name: {application.Name}");
See Also

ListApplicationsAsync(ListApplicationsRequest, Credentials)

Lists all applications associated with the account.

public Task<ApplicationPage> ListApplicationsAsync(ListApplicationsRequest request, Credentials creds = null)

Parameters

request ListApplicationsRequest

Pagination parameters for the request. See ListApplicationsRequest.

creds Credentials

Optional credentials to override the default credentials.

Returns

Task<ApplicationPage>

A paginated list of applications.

Examples

var request = new ListApplicationsRequest { PageSize = 10, Page = 1 };
var page = await client.ApplicationClient.ListApplicationsAsync(request);
foreach (var app in page.Embedded.Applications)
{
    Console.WriteLine($"{app.Id}: {app.Name}");
}
See Also

UpdateApplicationAsync(string, CreateApplicationRequest, Credentials)

Updates an existing application's configuration.

public Task<Application> UpdateApplicationAsync(string id, CreateApplicationRequest request, Credentials creds = null)

Parameters

id string

The unique identifier of the application to update.

request CreateApplicationRequest

The updated application configuration. See CreateApplicationRequest.

creds Credentials

Optional credentials to override the default credentials.

Returns

Task<Application>

The updated application.

Examples

var request = new CreateApplicationRequest
{
    Name = "Updated Application Name",
    Capabilities = new ApplicationCapabilities
    {
        Messages = Messages.Build()
            .WithInboundUrl("https://example.com/webhooks/inbound")
            .WithStatusUrl("https://example.com/webhooks/status")
    }
};
var application = await client.ApplicationClient.UpdateApplicationAsync(
    "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    request);
See Also