Table of Contents

Class NumbersClient

Namespace
Vonage.Numbers
Assembly
Vonage.dll

Provides access to the Numbers API for managing virtual phone numbers including searching, purchasing, configuring, and transferring numbers between accounts.

public class NumbersClient : INumbersClient
Inheritance
NumbersClient
Implements
Inherited Members

Constructors

NumbersClient(Credentials)

Initializes a new instance of the NumbersClient class.

public NumbersClient(Credentials credentials = null)

Parameters

credentials Credentials

Optional credentials to use for API requests. If not provided, uses default configuration.

Properties

Credentials

The credentials used for authenticating API requests.

public Credentials Credentials { get; set; }

Property Value

Credentials

Methods

BuyANumberAsync(NumberTransactionRequest, Credentials)

Purchases a specific inbound number to add it to your account.

public Task<NumberTransactionResponse> BuyANumberAsync(NumberTransactionRequest request, Credentials creds = null)

Parameters

request NumberTransactionRequest

The request containing the country and MSISDN to purchase. See NumberTransactionRequest.

creds Credentials

Optional credentials to override the default client credentials.

Returns

Task<NumberTransactionResponse>

A NumberTransactionResponse indicating success or failure with an error code.

Examples

var request = new NumberTransactionRequest { Country = "GB", Msisdn = "447700900000" };
var response = await client.NumbersClient.BuyANumberAsync(request);
See Also

CancelANumberAsync(NumberTransactionRequest, Credentials)

Cancels your subscription for a specific inbound number, releasing it from your account.

public Task<NumberTransactionResponse> CancelANumberAsync(NumberTransactionRequest request, Credentials creds = null)

Parameters

request NumberTransactionRequest

The request containing the country and MSISDN to cancel. See NumberTransactionRequest.

creds Credentials

Optional credentials to override the default client credentials.

Returns

Task<NumberTransactionResponse>

A NumberTransactionResponse indicating success or failure with an error code.

Examples

var request = new NumberTransactionRequest { Country = "GB", Msisdn = "447700900000" };
var response = await client.NumbersClient.CancelANumberAsync(request);
See Also

GetAvailableNumbersAsync(NumberSearchRequest, Credentials)

Retrieves inbound numbers that are available for purchase in the specified country.

public Task<NumbersSearchResponse> GetAvailableNumbersAsync(NumberSearchRequest request, Credentials creds = null)

Parameters

request NumberSearchRequest

The search request containing the country and optional filters. See NumberSearchRequest.

creds Credentials

Optional credentials to override the default client credentials.

Returns

Task<NumbersSearchResponse>

A NumbersSearchResponse containing the list of available numbers and total count.

Examples

var request = new NumberSearchRequest { Country = "GB", Type = "mobile-lvn" };
var response = await client.NumbersClient.GetAvailableNumbersAsync(request);
foreach (var number in response.Numbers)
{
    Console.WriteLine($"Available: {number.Msisdn}, Cost: {number.Cost}");
}
See Also

GetOwnedNumbersAsync(NumberSearchRequest, Credentials)

Retrieves all the inbound numbers associated with your Vonage account.

public Task<NumbersSearchResponse> GetOwnedNumbersAsync(NumberSearchRequest request, Credentials creds = null)

Parameters

request NumberSearchRequest

The search request containing optional filters. See NumberSearchRequest.

creds Credentials

Optional credentials to override the default client credentials.

Returns

Task<NumbersSearchResponse>

A NumbersSearchResponse containing the list of owned numbers and total count.

Examples

var request = new NumberSearchRequest { Country = "US" };
var response = await client.NumbersClient.GetOwnedNumbersAsync(request);
foreach (var number in response.Numbers)
{
    Console.WriteLine($"Number: {number.Msisdn}");
}
See Also

TransferANumberAsync(NumberTransferRequest, string, Credentials)

Transfers a number you own to a subaccount.

public Task<NumberTransferResponse> TransferANumberAsync(NumberTransferRequest request, string apiKey, Credentials creds = null)

Parameters

request NumberTransferRequest

The request containing the number and transfer details. See NumberTransferRequest.

apiKey string

The API key of the account performing the transfer.

creds Credentials

Optional credentials to override the default client credentials.

Returns

Task<NumberTransferResponse>

A NumberTransferResponse containing the transfer details.

Examples

var request = new NumberTransferRequest
{
    Country = "GB",
    Number = "447700900000",
    From = "master-api-key",
    To = "subaccount-api-key"
};
var response = await client.NumbersClient.TransferANumberAsync(request, "master-api-key");
See Also

UpdateANumberAsync(UpdateNumberRequest, Credentials)

Updates the configuration of a number you own, including webhook URLs and voice callback settings.

public Task<NumberTransactionResponse> UpdateANumberAsync(UpdateNumberRequest request, Credentials creds = null)

Parameters

request UpdateNumberRequest

The request containing the number and new configuration. See UpdateNumberRequest.

creds Credentials

Optional credentials to override the default client credentials.

Returns

Task<NumberTransactionResponse>

A NumberTransactionResponse indicating success or failure with an error code.

Examples

var request = new UpdateNumberRequest
{
    Country = "GB",
    Msisdn = "447700900000",
    AppId = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
};
var response = await client.NumbersClient.UpdateANumberAsync(request);
See Also