Skip to content

Deregister a number from the voice platform

DELETE
/voice/numbers

Tear down a number’s SIP trunks, dispatch rules and carrier routing.

DOES NOT RELEASE THE NUMBER. The organisation still owns it and is still billed for it by the carrier - it simply stops being answerable. To give it back, use POST /phone-numbers/release, which does this and the carrier release and the local record.

Voice’s own handler identifies the number by value with no tenant check, so this route first asserts the caller’s organisation owns it. A number that exists in voice but was never recorded against this organisation is a 404.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Tear a number’s voice registration down.

Mirrors the subset of graph8_livekit.schemas.numbers.Number that voice’s delete handler actually reads (number, provider); org_id comes from the key. The remaining Number fields are accepted by voice but never read on this path, so publishing them would advertise knobs that do nothing.

object
number
required

The number to deregister, E.164.

string
provider

The carrier to deregister from. Must match how the number was registered, or the provider-side cleanup silently does nothing while the local record still disappears.

string
default: twilio
Allowed values: twilio telnyx

Responses

200

Successful Response

object
data
required

An open envelope for a purchase result, a release, or an A2P job.

Open on purpose. A purchase returns the stored row (whose capability and provider-metadata keys differ per provider), a workflow start returns a workflow_id, and the A2P reconcile returns per-number outcomes that grow as carriers add statuses. Pinning it would silently drop whatever the provider reported that this contract had not caught up on.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
notes
Any of:
Array<string>
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer
total_available
Any of:
integer
total_is_lower_bound
Any of:
boolean

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string