Release a phone number
Release a phone number — permanent and cannot be undone. A purchased number goes back to the carrier and stops renewing (it may not be possible to buy it back); an imported number has its SIP setup removed. Any agent loses the number immediately.
DELETE
https://api.centerfy.ai/webhooks/inbound/phone-numbers/:id Headers
| Header | Required | Value | Description |
|---|---|---|---|
x-api-key | Yes | your sub-account API key (cfy_…) | Authenticates the request; or use Authorization: Bearer <key>. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The phone number id (from GET /webhooks/inbound/phone-numbers or the purchase/import response). |
Example
curl -X DELETE "https://api.centerfy.ai/webhooks/inbound/phone-numbers/{id}" \
-H "x-api-key: $CENTERFY_API_KEY" import { CenterfyClient } from "@centerfy/sdk";
const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });
const result = await centerfy.phoneProvisioning.release("<phoneNumberId>");
console.log(result); centerfy phoneProvisioning release <phoneNumberId> MCP tool: centerfy_phone_numbers_release (see MCP server)
Response
{
"status": "success",
"released": true,
"phone_number_id": "9f8e7d6c-5b4a-4392-8170-6f5e4d3c2b1a",
"phone_number": "+14155550123",
"was_purchased": true,
"dispatch_rule_deleted": true
}Errors
400— if id is not a UUID.404— if the number is not in this sub-account.502— if the release failed — the number was not deleted.
Notes
was_purchased is true for numbers bought through Centerfy, false for imported ones.