v2

latestOpenAPI 3.1.02026-08-075421692.0 MB
Phone Numbers

Port numbers in

Submit a port-in for one or more existing numbers from another carrier. Creates the carrier order(s), attaches the end-user (current account) info plus the LOA and invoice documents, and submits to the losing carrier. The transfer PIN is forwarded to the carrier and never stored. Ported numbers arrive voice-ready (and SMS-ready where the order supports messaging).

Run the portability check (POST /v1/phone-numbers/port-in/check) and upload the two documents (POST /v1/phone-numbers/port-in/documents) first — uploaded documents must be attached to an order within 30 minutes or the carrier deletes them, so upload right before this call. The carrier may split the numbers into several orders (by country, number type, losing carrier); orders carries per-order results, and a partial failure still returns 201 with the failed orders' error set (they stay as cancellable drafts).

Non-US/CA numbers additionally need the country-specific values from GET /v1/phone-numbers/port-in/requirements, passed via requirements, and must be submitted one country per request. When required information is still missing after submission, the order is kept as a resumable draft whose error / declineReason names the gaps.

post/v1/phone-numbers/port-in

Request body

phoneNumbersstring[] required

E.164 numbers to port in.

loaDocumentIdstring required

Document id from POST /v1/phone-numbers/port-in/documents (kind=loa).

invoiceDocumentIdstring required

Document id from POST /v1/phone-numbers/port-in/documents (kind=invoice).

focDatetimeRequestedstring date-time

Requested port date; the carrier confirms the actual FOC later. US/CA default is one week out (shifted off weekends); international orders are scheduled into the carrier's next allowed porting window at or after this date.

customerReferencestring
portType'full' | 'partial'

Whether the losing account ports all its numbers (full) or keeps some (partial).

Response

Port submitted. Top-level fields mirror the first successfully submitted order; per-order truth (including failures) is in orders.

idstring

Porting order ID.

telnyxPortingOrderIdstring
status'draft' | 'pending' | 'foc_confirmed' | 'ported' | 'exception' | 'cancelled'
phoneNumbersstring[]