import { CommuneClient } from 'commune-ai';
const commune = new CommuneClient({ apiKey: process.env.COMMUNE_API_KEY });
const result = await commune.phoneNumbers.release('pn_01abc123');
console.log(result.status); // released
from commune import CommuneClient
client = CommuneClient()
result = client.phone_numbers.release("pn_01abc123")
print(result.status) # released
release_phone_number(id="pn_01abc123")
curl -X DELETE https://api.commune.email/v1/phone-numbers/pn_01abc123 \
-H "Authorization: Bearer comm_..."
commune phone-numbers release pn_01abc123
{
"data": {
"id": "pn_01abc123",
"status": "released",
"message": "Phone number released. No credit refund. History retained."
}
}
{
"error": "Phone number not found"
}
{
"error": "Phone number already released"
}
Phone Numbers
Release Phone Number
Release a phone number from your account. The number is immediately deprovisioned from Twilio and can no longer send or receive messages.
DELETE
/
v1
/
phone-numbers
/
{id}
import { CommuneClient } from 'commune-ai';
const commune = new CommuneClient({ apiKey: process.env.COMMUNE_API_KEY });
const result = await commune.phoneNumbers.release('pn_01abc123');
console.log(result.status); // released
from commune import CommuneClient
client = CommuneClient()
result = client.phone_numbers.release("pn_01abc123")
print(result.status) # released
release_phone_number(id="pn_01abc123")
curl -X DELETE https://api.commune.email/v1/phone-numbers/pn_01abc123 \
-H "Authorization: Bearer comm_..."
commune phone-numbers release pn_01abc123
{
"data": {
"id": "pn_01abc123",
"status": "released",
"message": "Phone number released. No credit refund. History retained."
}
}
{
"error": "Phone number not found"
}
{
"error": "Phone number already released"
}
Released numbers cannot be reclaimed for 30 days. This action cannot be undone. After release, you also cannot purchase a new phone number for 30 days.
import { CommuneClient } from 'commune-ai';
const commune = new CommuneClient({ apiKey: process.env.COMMUNE_API_KEY });
const result = await commune.phoneNumbers.release('pn_01abc123');
console.log(result.status); // released
from commune import CommuneClient
client = CommuneClient()
result = client.phone_numbers.release("pn_01abc123")
print(result.status) # released
release_phone_number(id="pn_01abc123")
curl -X DELETE https://api.commune.email/v1/phone-numbers/pn_01abc123 \
-H "Authorization: Bearer comm_..."
commune phone-numbers release pn_01abc123
{
"data": {
"id": "pn_01abc123",
"status": "released",
"message": "Phone number released. No credit refund. History retained."
}
}
{
"error": "Phone number not found"
}
{
"error": "Phone number already released"
}
Path Parameters
string
required
The phone number ID to release. Format:
pn_...Response
object
What happens on release:
- The number is immediately removed from the Twilio Messaging Service and released from your Twilio subaccount.
- The phone number record in Commune is marked
released— message history is retained. - No credit refund is issued for unused days in the billing cycle.
- A 30-day cooldown is applied — you cannot purchase a new phone number until 30 days after the release date.
Last modified on March 19, 2026
Was this page helpful?

