Delete Phone Number
curl --request DELETE \
--url https://api.example.com/api/phone-numbers/{phone_number_id} \
--header 'X-API-Key: <x-api-key>' \
--header 'X-Organization-Id: <x-organization-id>'import requests
url = "https://api.example.com/api/phone-numbers/{phone_number_id}"
headers = {
"X-API-Key": "<x-api-key>",
"X-Organization-Id": "<x-organization-id>"
}
response = requests.delete(url, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'X-API-Key': '<x-api-key>', 'X-Organization-Id': '<x-organization-id>'}
};
fetch('https://api.example.com/api/phone-numbers/{phone_number_id}', 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.example.com/api/phone-numbers/{phone_number_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>",
"X-Organization-Id: <x-organization-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/phone-numbers/{phone_number_id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
req.Header.Add("X-Organization-Id", "<x-organization-id>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.example.com/api/phone-numbers/{phone_number_id}")
.header("X-API-Key", "<x-api-key>")
.header("X-Organization-Id", "<x-organization-id>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/phone-numbers/{phone_number_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<x-api-key>'
request["X-Organization-Id"] = '<x-organization-id>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Phone number deleted successfully",
"data": {
"phone_number_id": "phon_a1b2c3d4e5f6",
"phone_number": "+15551234567",
"provider": "twilio",
"status": "free",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T15:00:00Z"
}
}
Phone Numbers
Delete Phone Number
DELETE
/
api
/
phone-numbers
/
{phone_number_id}
Delete Phone Number
curl --request DELETE \
--url https://api.example.com/api/phone-numbers/{phone_number_id} \
--header 'X-API-Key: <x-api-key>' \
--header 'X-Organization-Id: <x-organization-id>'import requests
url = "https://api.example.com/api/phone-numbers/{phone_number_id}"
headers = {
"X-API-Key": "<x-api-key>",
"X-Organization-Id": "<x-organization-id>"
}
response = requests.delete(url, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'X-API-Key': '<x-api-key>', 'X-Organization-Id': '<x-organization-id>'}
};
fetch('https://api.example.com/api/phone-numbers/{phone_number_id}', 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.example.com/api/phone-numbers/{phone_number_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>",
"X-Organization-Id: <x-organization-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/phone-numbers/{phone_number_id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
req.Header.Add("X-Organization-Id", "<x-organization-id>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.example.com/api/phone-numbers/{phone_number_id}")
.header("X-API-Key", "<x-api-key>")
.header("X-Organization-Id", "<x-organization-id>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/phone-numbers/{phone_number_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<x-api-key>'
request["X-Organization-Id"] = '<x-organization-id>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Phone number deleted successfully",
"data": {
"phone_number_id": "phon_a1b2c3d4e5f6",
"phone_number": "+15551234567",
"provider": "twilio",
"status": "free",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T15:00:00Z"
}
}
Delete a phone number. For SIP providers, this also cleans up associated LiveKit trunks.
Cannot delete phone numbers that are assigned to agents. Unassign first.
Headers
string
required
Your API key for authentication.
string
required
The organization ID.
Path Parameters
string
required
The unique identifier of the phone number to delete.
Permissions
phone_numbers:delete(admin, agent_manager)
Response
boolean
Indicates if the deletion was successful.
string
Human-readable success message.
object
The deleted phone number object.
{
"success": true,
"message": "Phone number deleted successfully",
"data": {
"phone_number_id": "phon_a1b2c3d4e5f6",
"phone_number": "+15551234567",
"provider": "twilio",
"status": "free",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T15:00:00Z"
}
}
Errors
object
Cannot delete assigned phone number. Unassign it first.
object
Phone number not found.
object
Phone number belongs to different organization.
⌘I