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
requestCreateApplicationRequestThe application configuration including name, capabilities, and webhook settings. See CreateApplicationRequest.
credsCredentialsOptional 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
idstringThe unique identifier of the application to delete.
credsCredentialsOptional credentials to override the default credentials.
Returns
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
idstringThe unique identifier of the application to retrieve.
credsCredentialsOptional 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
requestListApplicationsRequestPagination parameters for the request. See ListApplicationsRequest.
credsCredentialsOptional 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
idstringThe unique identifier of the application to update.
requestCreateApplicationRequestThe updated application configuration. See CreateApplicationRequest.
credsCredentialsOptional 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