Release Phone Number
Phone Numbers
Release Phone Number
Release a voice phone number and stop recurring billing
DELETE
Release Phone Number
Description
Releases a voice phone number from your organization. Upon success, the number is unlinked from Teli Voice, released back to the carrier, soft-deleted in Teli’s records, and excluded from all future billing cycles. Idempotent — if the number has already been released, a200 is returned
with already_released: true.
Voice numbers only — this endpoint does not release SMS phone numbers.
SMS numbers must be released through the SMS workflow.
Authentication
Your Teli API key
Path Parameters
Phone number in E.164 format (e.g.,
+13137316433)Response Fields
true when the number was released on this requestThe released phone number (E.164)
ISO-8601 UTC timestamp when the number was released
Always
true on a successful release. Confirms no further billing cycles
will be charged for this number.Only present when the number was already released by a prior request.
Returned with status
200 so the call can be safely retried.Human-readable confirmation (e.g., “Phone number released. You will not be
billed in the next cycle.”)
Always returns “Teli”
Example Request
cURL
JavaScript
Python
Example Responses
Success (first release)
200
Already released (idempotent retry)
200
Not a voice number
400
Not found / not owned by your tenant
404
For security, cross-tenant lookups also return
404. A 404 therefore means
either “no such number exists” or “the number exists but belongs to a
different tenant”.Partial release failure
Returned when Teli Voice could not complete both the provider-unlink step and the carrier-release step. In this case the number has not been soft-deleted on Teli’s side and billing continues — retry the request.502
Which step failed:
voice_provider or voice_carrier. Always retry the
same DELETE call — the endpoint is idempotent.State sync failure
Returned when the upstream release succeeded but Teli could not record the soft-delete locally. This is rare and indicates the operation needs manual reconciliation by Teli support.500
Behavior
- Tenant isolation — requests can only release numbers owned by the
calling tenant. Numbers from other tenants return
404. - Voice-only guard — SMS numbers are rejected with
400. Use the SMS release workflow for those. - Idempotent — retrying a
DELETEon an already-released number returns200withalready_released: true. Safe to call repeatedly. - Atomic at the release step — if either the provider-unlink or carrier-release step fails, the number is not marked released on Teli’s side. Billing continues until the retry succeeds.
- Billing stops immediately — once
success: trueis returned, no further weekly or monthly billing events are emitted for the number. - Audit trail — every successful release is recorded in Teli’s usage
logs with event type
phone_number_released.
After Release
- The number is removed from
GET /v1/voice/phone-numbersby default. - The number is unlinked from any attached voice agents.
- The number is released back to the carrier and may be re-provisioned by another customer after a cooldown period set by the carrier.
- Call history for the released number is preserved and remains queryable.
Related Endpoints
POST /v1/voice/phone-numbers/create— provision a new voice numberGET /v1/voice/phone-numbers— list active numbersPOST /v1/voice/phone-numbers/{number}/update-agent— link a number to a voice agent

