Release Phone Number
curl --request DELETE \
--url https://app.famulor.de/api/user/phone-numbers/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.famulor.de/api/user/phone-numbers/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.famulor.de/api/user/phone-numbers/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.famulor.de/api/user/phone-numbers/{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 => [
"Authorization: Bearer <token>"
],
]);
$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://app.famulor.de/api/user/phone-numbers/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"message": "Phone number released successfully. It will be removed at the end of the billing period."
}
{
"message": "Phone number deleted successfully."
}
{
"error": "Phone number is already scheduled for release."
}
{
"error": "Phone number not found."
}
{
"error": "Failed to release phone number. Please try again or contact support."
}
Release Phone Number
Releases a phone number and cancels its subscription
DELETE
/
api
/
user
/
phone-numbers
/
{id}
Release Phone Number
curl --request DELETE \
--url https://app.famulor.de/api/user/phone-numbers/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.famulor.de/api/user/phone-numbers/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.famulor.de/api/user/phone-numbers/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.famulor.de/api/user/phone-numbers/{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 => [
"Authorization: Bearer <token>"
],
]);
$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://app.famulor.de/api/user/phone-numbers/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"message": "Phone number released successfully. It will be removed at the end of the billing period."
}
{
"message": "Phone number deleted successfully."
}
{
"error": "Phone number is already scheduled for release."
}
{
"error": "Phone number not found."
}
{
"error": "Failed to release phone number. Please try again or contact support."
}
This endpoint releases a phone number from your account. For dedicated numbers with subscriptions, the subscription is cancelled and the number will be released at the end of the current billing period.
Path Parameters
integer
required
The unique identifier of the phone number to release
Response Fields
string
Success message indicating the release status
Release Behavior
The release behavior depends on the phone number type:| Type | Behavior |
|---|---|
| Dedicated (normal) | Subscription is cancelled. Number remains active until the end of the billing period, then it is released. |
| SIP | Immediately deleted from your account. |
| Caller ID | Immediately deleted from your account and removed from the telephony provider. |
Once a phone number is released, you may not be able to get the same number back. Make sure to update all assistants or campaigns using this number before releasing it.
What Happens to Associated Resources
When you release a phone number:- All inbound assistants assigned to this number will have their phone number removed
- All campaigns using this number will have it removed from their phone number rotation
- Call history is preserved and remains accessible
{
"message": "Phone number released successfully. It will be removed at the end of the billing period."
}
{
"message": "Phone number deleted successfully."
}
{
"error": "Phone number is already scheduled for release."
}
{
"error": "Phone number not found."
}
{
"error": "Failed to release phone number. Please try again or contact support."
}
Related pages: Introduction and Authentication Guide, and API Integration Examples.