Update Phone Number
Update a phone number’s own attributes (today: label).
source and e164 are immutable after import. To bind or
unbind an agent, use the relationship endpoints
POST/DELETE /v1/agents/{agent_id}/phone-numbers/{phone_number_id}.
Authentication
Enter your API key with the Bearer prefix, e.g. ‘Bearer sk_…’.
Path parameters
Phone number id (prefixed external id, phone_...).
Headers
Request
Response headers
Response
Prefixed wire identifier (phone_<26 char Crockford base32>).
URL paths accept only this
prefixed form; legacy UUID path parameters are rejected with
404.
The phone number in E.164 format (e.g. +12025551234).
Which provider the number came from. Determines the provisioning and portability path.
livekit- LiveKit owns the carrier relationship; US inbound only.twilio- Customer’s own Twilio number bridged via Elastic SIP Trunk.telnyx- Customer’s own Telnyx number bridged via a Telnyx FQDN connection.byoc- Any SIP provider using a customer-supplied trunk.twilio_purchased- Bought throughPOST /v1/agents/phone-numbers/purchaseon Speechify’s master Twilio account; billed to Speechify.telnyx_purchased- Bought throughPOST /v1/agents/phone-numbers/purchase(withprovider=telnyx) on Speechify’s master Telnyx account; billed to Speechify.verified_caller_id- Customer-verified outbound caller ID on their own Twilio account (Twilio’s OutgoingCallerIds resource). Server-determined at import time: when ane164submitted withprovider=twiliois not a full DID on the customer’s account but IS a verified caller ID, the resulting row gets this provider. Outbound-only, never agent-bindable, rides the customer’s existing shared Twilio trunk for outbound routing. Requires a priortwiliofull-DID import from the same account; without it the import returns 400.
Optional human-readable label set by the customer.