Table of Contents

Interface IApplicationClient

Namespace
Vonage.Applications
Assembly
Vonage.dll

Exposes methods for managing Vonage applications. Applications contain the configuration for products such as Voice, Messages, RTC, and Verify.

public interface IApplicationClient

Methods

CreateApplicationAsync(CreateApplicationRequest, Credentials)

Creates a new application with the specified configuration.

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.

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.

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.

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.

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

See Also