Cancel a Number

If you no longer require a Vonage virtual number that you have purchased you can cancel it.

This page shows you how to cancel a number programmatically.

You can also cancel a number online, using the developer dashboard or from the command line, using the Vonage CLI.

Replace the following variables in the sample code with your own values:

KeyDescription
VONAGE_API_KEY

Your Vonage API key (see it on your dashboard).

VONAGE_API_SECRET

Your Vonage API secret (also available on your dashboard).

COUNTRY_CODE

The two digit country code for the number. For example: GB for the United Kingdom

VONAGE_NUMBER

Your Vonage Number. E.g. 447700900000

Write the code

Add the following to cancel-number.sh:

curl -X POST \
  -u "${VONAGE_API_KEY}:${VONAGE_API_SECRET}" \
  "https://rest.nexmo.com/number/cancel" \
  -H "Content-Type: application/x-www-form-urlencoded" \

View full source

Run your code

Save this file to your machine and run it:

sh cancel-number.sh

Prerequisites

npm install @vonage/server-sdk

Create a file named cancel-number.js and add the following code:

const { Vonage } = require('@vonage/server-sdk');

const vonage = new Vonage({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET,
});

View full source

Write the code

Add the following to cancel-number.js:

vonage.number.cancelNumber({
  country: COUNTRY_CODE,
  msisdn: VONAGE_NUMBER,
})
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

View full source

Run your code

Save this file to your machine and run it:

node cancel-number.js

Prerequisites

Add the following to build.gradle:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Create a file named CancelNumber and add the following code to the main method:

val client = Vonage {
    apiKey(VONAGE_API_KEY)
    apiSecret(VONAGE_API_SECRET)
}

View full source

Write the code

Add the following to the main method of the CancelNumber file:

client.numbers.number(NUMBER_COUNTRY_CODE, NUMBER_MSISDN).cancel()

View full source

Run your code

We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.numbers with the package containing CancelNumber:

gradle run -Pmain=com.vonage.quickstart.kt.numbers.CancelNumber

Prerequisites

Add the following to build.gradle:

implementation 'com.vonage:server-sdk:9.3.1'

Create a file named CancelNumber and add the following code to the main method:

VonageClient client = VonageClient.builder()
        .apiKey(VONAGE_API_KEY)
        .apiSecret(VONAGE_API_SECRET)
        .build();

View full source

Write the code

Add the following to the main method of the CancelNumber file:

client.getNumbersClient().cancelNumber(NUMBER_COUNTRY_CODE, NUMBER_MSISDN);

View full source

Run your code

We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Run the following gradle command to execute your application, replacing com.vonage.quickstart.numbers with the package containing CancelNumber:

gradle run -Pmain=com.vonage.quickstart.numbers.CancelNumber

Prerequisites

Install-Package Vonage

Create a file named CancelNumber.cs and add the following code:

using System.Threading.Tasks;
using Vonage.Request;
using Vonage;

View full source

Add the following to CancelNumber.cs:


var credentials = Credentials.FromApiKeyAndSecret(vonageApiKey, vonageApiSecret);

View full source

Write the code

Add the following to CancelNumber.cs:


var request = new NumberTransactionRequest() { Country = countryCode, Msisdn = vonageNumber };

View full source

Prerequisites

composer require vonage/client

Create a file named cancel.php and add the following code:

$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);

View full source

Write the code

Add the following to cancel.php:

try {
  $client->numbers()->cancel(VONAGE_NUMBER);
  echo "Number cancelled";
}

catch(Exception $e) {
  echo "Error cancelling number";
}

View full source

Run your code

Save this file to your machine and run it:

php cancel.php

Prerequisites

pip install vonage python-dotenv

Write the code

Add the following to cancel.py:

from vonage import Auth, Vonage
from vonage_numbers import NumberParams, NumbersStatus

client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))

status: NumbersStatus = client.numbers.cancel_number(
    NumberParams(country=NUMBER_COUNTRY_CODE, msisdn=NUMBER_MSISDN)
)

print(status.model_dump())

View full source

Run your code

Save this file to your machine and run it:

python numbers/cancel.py

Prerequisites

gem install vonage

Create a file named cancel.rb and add the following code:

client = Vonage::Client.new(
  api_key: VONAGE_API_KEY,
  api_secret: VONAGE_API_SECRET
)

View full source

Write the code

Add the following to cancel.rb:

response = client.numbers.cancel(
  country: COUNTRY_CODE,
  msisdn: VONAGE_NUMBER
)

View full source

Run your code

Save this file to your machine and run it:

ruby cancel.rb

See also