Phone numbers
Quote, approve, activate, provision and cancel an avatar's exact phone number.
Approve an exact instance quote
Binds the caller's unexpired quote to an approved phone intent after a fresh availability
check. Never orders a number; when every release switch is on, the intent is queued for
activation (activation_queued).
Approve an exact instance quote › Request Body
quote_idapproved_phone_number^\+[1-9][0-9]{7,14}$ · requiredApprove an exact instance quote › Responses
Approved; no order placed.
Collect first rent, then order the approved exact number
Service-only and default-off. Runs avatar-phone-billing then avatar-phone-provision
for one released approval; a failed or action-required payment never buys a number.
Collect first rent, then order the approved exact number › Responses
Rent paid and the number is ready.
rent_paidstateorder_placedphone_numberApprove or dismiss a persona avatar's phone-number request
A company admin's click. Approve passes two holds first: the quoted number must still be
orderable (409 with a fresh candidate otherwise) and the organization must carry the
phone number plan (402 with details.checkout_url for a first buyer). Then the request
moves proposed to approved through the caller's RLS client and the order runs as that
admin (avatar-phone/approved event).
Approve or dismiss a persona avatar's phone-number request › Request Body
requestIdactionreturnPathavatarNameApprove or dismiss a persona avatar's phone-number request › Responses
The click was recorded.
requestIdapprovedcancelledCancel an instance's phone identity and stop routing now
Ends registered calls, then reconciles rent (refund before an order, port-out window after one).
Cancel an instance's phone identity and stop routing now › Request Body
customer_assistant_idCancel an instance's phone identity and stop routing now › Responses
Cancelled and settled.
cancelledrouting_stoppedregistered_calls_endedregistered_calls_pendingrent_reconciliationphone_numberport_out_deadlinerelease_afterOrder and route a paid, released exact number
Service-only and default-off (INSTANCE_PHONE_ORDER_ENABLED). Never searches for a
replacement: it orders the one approved E.164 number, then reconciles SMS compliance, the
SMS route, the voice route and the LiveKit dispatch.
Order and route a paid, released exact number › Request Body
customer_assistant_idOrder and route a paid, released exact number › Responses
Ready.
phone_numberstateorder_placedvoice_connection_readyvoice_route_readysms_profile_readysms_compliance_readysms_route_readyactiveQuote one exact, currently available phone number
Search only, never a purchase. Two callers share the function:
an owner or company admin with their own JWT quoting for one avatar instance
(InstanceQuoteRequest), or the avatar worker's service-role JWT quoting the number a
persona avatar's recorded request will show (PersonaQuoteRequest, chosen when the body
has request_id and no customer_assistant_id). A quote expires after 5 minutes.
Quote one exact, currently available phone number › Request Body
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: customer_assistant_id | |
| type = object · requires: request_id |
customer_assistant_idarea_code^[2-9][0-9]{2}$phone_number^\+1[2-9][0-9]{9}$An exact number to re-check instead of searching.
Quote one exact, currently available phone number › Responses
The quoted number and its price.
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object | |
| type = object |
quote_idcustomer_assistant_idorganization_idphone_numberpreferred_area_code_matchedrequested_area_codeexpires_atarea_code_unavailableavailability_messagerequires_exact_number_approval