{
"PhoneNumbers": [
{ "Number": "+12015550101" }
]
}curl -X POST https://api.telegent.com/v1.0/numbers/cancel-order-request \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"PhoneNumbers": [ { "Number": "+12015550101" } ]
}'import requests
url = "https://api.telegent.com/v1.0/numbers/cancel-order-request"
payload = { "PhoneNumbers": [{ "Number": "+12015550101" }] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({PhoneNumbers: [{Number: '+12015550101'}]})
};
fetch('https://api.telegent.com/v1.0/numbers/cancel-order-request', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.telegent.com/v1.0/numbers/cancel-order-request",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'PhoneNumbers' => [
[
'Number' => '+12015550101'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.telegent.com/v1.0/numbers/cancel-order-request"
payload := strings.NewReader("{\n \"PhoneNumbers\": [\n {\n \"Number\": \"+12015550101\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.telegent.com/v1.0/numbers/cancel-order-request")
.header("Content-Type", "application/json")
.body("{\n \"PhoneNumbers\": [\n {\n \"Number\": \"+12015550101\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.telegent.com/v1.0/numbers/cancel-order-request")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"PhoneNumbers\": [\n {\n \"Number\": \"+12015550101\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"OrderId": "JNUOID-6b1e2c4a-7d3f-4b2a-9c1e-2f5a8d9e0b11",
"OrderDate": "2026-10-08T16:05:00Z",
"OrderStatus": "Pending Confirmation",
"AuthCode": "7K4Q9M",
"AuthCodeExpiresAt": "2026-10-08T16:10:00Z",
"NumbersChange": [
{
"Number": "+12015550101"
}
],
"ConsentStatement": "I confirm that the 1 number(s) listed (+12015550101) will be cancelled and deactivated with the carrier immediately, and service on them will stop. A cancelled number can be reactivated within 30 days for a $5 recovery fee per number; after 30 days it is permanently released and cannot be recovered.",
"Instructions": "To proceed, submit POST /v1.0/numbers/cancel-order-submit with this OrderId and AuthCode within 5 minutes. Submitting confirms the consent statement above. If the code expires, send a new cancel-order-request."
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}Numbers - Cancel Order Request
🚧 Alpha — upcoming in v1.0.16 (target October 8, 2026). Not yet live in production.
Stage 1 of the two-stage number cancellation flow. Validates the numbers, creates a cancel order, and returns an AuthCode (valid 5 minutes) plus the ConsentStatement to review. No numbers are cancelled at this stage.
What this does: Checks that every number exists, belongs to your account, and is Active, then returns an OrderId, a single-use AuthCode, AuthCodeExpiresAt, the NumbersChange list, and the consent statement. If any number fails validation the whole request is refused and no order is created.
See the Cancelling Numbers guide for the full flow and AuthCode rules.
Next step:
- Confirm the cancellation —
POST /v1.0/numbers/cancel-order-submit(within 5 minutes)
{
"PhoneNumbers": [
{ "Number": "+12015550101" }
]
}curl -X POST https://api.telegent.com/v1.0/numbers/cancel-order-request \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"PhoneNumbers": [ { "Number": "+12015550101" } ]
}'import requests
url = "https://api.telegent.com/v1.0/numbers/cancel-order-request"
payload = { "PhoneNumbers": [{ "Number": "+12015550101" }] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({PhoneNumbers: [{Number: '+12015550101'}]})
};
fetch('https://api.telegent.com/v1.0/numbers/cancel-order-request', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.telegent.com/v1.0/numbers/cancel-order-request",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'PhoneNumbers' => [
[
'Number' => '+12015550101'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.telegent.com/v1.0/numbers/cancel-order-request"
payload := strings.NewReader("{\n \"PhoneNumbers\": [\n {\n \"Number\": \"+12015550101\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.telegent.com/v1.0/numbers/cancel-order-request")
.header("Content-Type", "application/json")
.body("{\n \"PhoneNumbers\": [\n {\n \"Number\": \"+12015550101\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.telegent.com/v1.0/numbers/cancel-order-request")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"PhoneNumbers\": [\n {\n \"Number\": \"+12015550101\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"OrderId": "JNUOID-6b1e2c4a-7d3f-4b2a-9c1e-2f5a8d9e0b11",
"OrderDate": "2026-10-08T16:05:00Z",
"OrderStatus": "Pending Confirmation",
"AuthCode": "7K4Q9M",
"AuthCodeExpiresAt": "2026-10-08T16:10:00Z",
"NumbersChange": [
{
"Number": "+12015550101"
}
],
"ConsentStatement": "I confirm that the 1 number(s) listed (+12015550101) will be cancelled and deactivated with the carrier immediately, and service on them will stop. A cancelled number can be reactivated within 30 days for a $5 recovery fee per number; after 30 days it is permanently released and cannot be recovered.",
"Instructions": "To proceed, submit POST /v1.0/numbers/cancel-order-submit with this OrderId and AuthCode within 5 minutes. Submitting confirms the consent statement above. If the code expires, send a new cancel-order-request."
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}Body
Numbers to cancel. Each must exist, belong to your account, and be Active.
Show child attributes
Show child attributes
Response
Cancel order created — review and submit within 5 minutes
Identifier for this cancel order. Pass it to cancel-order-submit.
When the order was created (UTC).
Order state — Pending Confirmation until submitted.
Single-use confirmation code, valid 5 minutes. Returned once and only as a hash afterwards.
UTC expiry of the AuthCode.
The numbers that will be cancelled when you submit.
Show child attributes
Show child attributes
The statement you accept by submitting.
Human-readable next-step instructions.