Telnyx Porting Orders API
Endpoints related to porting orders management.
Endpoints related to porting orders management.
openapi: 3.1.0
info:
contact:
email: support@telnyx.com
description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform.
title: Telnyx Access Tokens Porting Orders API
version: 2.0.0
x-endpoint-cost: light
servers:
- description: Version 2.0.0 of the Telnyx API
url: https://api.telnyx.com/v2
security:
- bearerAuth: []
tags:
- description: Endpoints related to porting orders management.
name: Porting Orders
paths:
/porting/events:
get:
description: Returns a list of all porting events.
operationId: listPortingEvents
parameters:
- $ref: '#/components/parameters/porting-order_PageConsolidated'
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[type], filter[porting_order_id], filter[created_at][gte], filter[created_at][lte]'
explode: true
in: query
name: filter
schema:
properties:
created_at:
description: Created at date range filtering operations
properties:
gte:
description: Filter by created at greater than or equal to.
example: '2021-01-01T00:00:00Z'
format: date-time
type: string
lte:
description: Filter by created at less than or equal to.
example: '2021-01-01T00:00:00Z'
format: date-time
type: string
type: object
porting_order_id:
description: Filter by porting order ID.
example: 34dc46a9-53ed-4e01-9454-26227ea13326
format: uuid
type: string
type:
description: Filter by event type.
enum:
- porting_order.deleted
- porting_order.loa_updated
- porting_order.messaging_changed
- porting_order.status_changed
- porting_order.sharing_token_expired
- porting_order.new_comment
- porting_order.split
example: porting_order.deleted
type: string
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/ListPortingEventsResponse'
'422':
description: Unprocessable entity. Check the 'detail' field in response for details.
'500':
description: Internal server error
summary: List all porting events
tags:
- Porting Orders
x-latency-category: responsive
/porting/events/{id}:
get:
description: Show a specific porting event.
operationId: showPortingEvent
parameters:
- description: Identifies the porting event.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
$ref: '#/components/responses/ShowPortingEventResponse'
'404':
description: Not found
'500':
description: Internal server error
summary: Show a porting event
tags:
- Porting Orders
x-latency-category: responsive
/porting/events/{id}/republish:
post:
description: Republish a specific porting event.
operationId: republishPortingEvent
parameters:
- description: Identifies the porting event.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'204':
description: No content
'404':
description: Not found
'500':
description: Internal server error
summary: Republish a porting event
tags:
- Porting Orders
x-latency-category: responsive
/porting/loa_configurations:
get:
description: List the LOA configurations.
operationId: ListLoaConfigurations
parameters:
- $ref: '#/components/parameters/porting-order_PageConsolidated'
responses:
'200':
$ref: '#/components/responses/ListPortingLOAConfigurations'
'422':
description: Unprocessable entity. Check message field in response for details.
'500':
description: Internal server error
summary: List LOA configurations
tags:
- Porting Orders
x-latency-category: responsive
post:
description: Create a LOA configuration.
operationId: CreateLoaConfiguration
requestBody:
$ref: '#/components/requestBodies/CreatePortingLOAConfiguration'
responses:
'201':
$ref: '#/components/responses/CreatePortingLOAConfiguration'
'422':
description: Unprocessable entity. Check message field in response for details.
'500':
description: Internal server error
summary: Create a LOA configuration
tags:
- Porting Orders
x-latency-category: responsive
/porting/loa_configurations/preview:
post:
description: Preview the LOA template that would be generated without need to create LOA configuration.
operationId: PreviewLoaConfigurationParams
requestBody:
$ref: '#/components/requestBodies/CreatePortingLOAConfiguration'
responses:
'200':
$ref: '#/components/responses/DownloadLOATemplate'
'422':
description: Unprocessable entity. Check message field in response for details.
'500':
description: Internal server error
summary: Preview the LOA configuration parameters
tags:
- Porting Orders
x-latency-category: responsive
/porting/loa_configurations/{id}:
delete:
description: Delete a specific LOA configuration.
operationId: DeleteLoaConfiguration
parameters:
- description: Identifies a LOA configuration.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'204':
description: No content
'404':
description: Resource not found
'500':
description: Internal server error
summary: Delete a LOA configuration
tags:
- Porting Orders
x-latency-category: responsive
get:
description: Retrieve a specific LOA configuration.
operationId: GetLoaConfiguration
parameters:
- description: Identifies a LOA configuration.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
$ref: '#/components/responses/ShowPortingLOAConfiguration'
'404':
description: Resource not found
'500':
description: Internal server error
summary: Retrieve a LOA configuration
tags:
- Porting Orders
x-latency-category: responsive
patch:
description: Update a specific LOA configuration.
operationId: UpdateLoaConfiguration
parameters:
- description: Identifies a LOA configuration.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
$ref: '#/components/requestBodies/CreatePortingLOAConfiguration'
responses:
'200':
$ref: '#/components/responses/UpdatePortingLOAConfiguration'
'404':
description: Resource not found
'422':
description: Unprocessable entity. Check message field in response for details.
'500':
description: Internal server error
summary: Update a LOA configuration
tags:
- Porting Orders
x-latency-category: responsive
/porting/loa_configurations/{id}/preview:
get:
description: Preview a specific LOA configuration.
operationId: PreviewLoaConfiguration
parameters:
- description: Identifies a LOA configuration.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
$ref: '#/components/responses/DownloadLOATemplate'
'404':
description: Resource not found
'500':
description: Internal server error
summary: Preview a LOA configuration
tags:
- Porting Orders
x-latency-category: responsive
/porting/reports:
get:
description: List the reports generated about porting operations.
operationId: ListPortingReports
parameters:
- $ref: '#/components/parameters/porting-order_PageConsolidated'
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[report_type], filter[status]'
explode: true
in: query
name: filter
schema:
properties:
report_type:
description: Filter reports of a specific type
enum:
- export_porting_orders_csv
example: export_porting_orders_csv
type: string
status:
description: Filter reports of a specific status
enum:
- pending
- completed
example: completed
type: string
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/ListPortingReports'
'422':
description: Unprocessable entity. Check message field in response for details.
'500':
description: Internal server error
summary: List porting related reports
tags:
- Porting Orders
x-latency-category: responsive
post:
description: Generate reports about porting operations.
operationId: CreatePortingReport
requestBody:
$ref: '#/components/requestBodies/CreatePortingReport'
responses:
'201':
$ref: '#/components/responses/CreatePortingReport'
'422':
description: Unprocessable entity. Check message field in response for details.
'500':
description: Internal server error
summary: Create a porting related report
tags:
- Porting Orders
x-latency-category: responsive
/porting/reports/{id}:
get:
description: Retrieve a specific report generated.
operationId: GetPortingReport
parameters:
- description: Identifies a report.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
$ref: '#/components/responses/ShowPortingReport'
'404':
description: Resource not found
'500':
description: Internal server error
summary: Retrieve a report
tags:
- Porting Orders
x-latency-category: responsive
/porting/uk_carriers:
get:
description: List available carriers in the UK.
operationId: listPortingUKCarriers
responses:
'200':
$ref: '#/components/responses/ListPortingUKCarriersResponse'
'422':
description: Unprocessable entity. Check message field in response for details.
'500':
description: Internal server error
summary: List available carriers in the UK
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders:
get:
description: Returns a list of your porting order.
operationId: ListPortingOrders
parameters:
- $ref: '#/components/parameters/porting-order_PageConsolidated'
- $ref: '#/components/parameters/QueryIncludePhoneNumbers'
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[customer_reference], filter[customer_group_reference], filter[parent_support_key], filter[phone_numbers.country_code], filter[phone_numbers.carrier_name], filter[misc.type], filter[end_user.admin.entity_name], filter[end_user.admin.auth_person_name], filter[activation_settings.fast_port_eligible], filter[activation_settings.foc_datetime_requested][gt], filter[activation_settings.foc_datetime_requested][lt], filter[phone_numbers.phone_number][contains]'
explode: true
in: query
name: filter
schema:
properties:
activation_settings:
properties:
fast_port_eligible:
description: Filter results by fast port eligible
type: boolean
foc_datetime_requested:
description: FOC datetime range filtering operations
properties:
gt:
description: Filter results by foc date later than this value
example: '2021-03-25T10:00:00.000Z'
type: string
lt:
description: Filter results by foc date earlier than this value
example: '2021-03-25T10:00:00.000Z'
type: string
type: object
type: object
customer_group_reference:
description: Filter results by customer_group_reference
type: string
customer_reference:
description: Filter results by customer_reference
type: string
end_user:
properties:
admin:
properties:
auth_person_name:
description: Filter results by authorized person
type: string
entity_name:
description: Filter results by person or company name
type: string
type: object
type: object
misc:
properties:
type:
$ref: '#/components/schemas/PortingOrderType'
description: Filter results by porting order type
type: object
parent_support_key:
description: Filter results by parent_support_key
type: string
phone_numbers:
properties:
carrier_name:
description: Filter results by old service provider
type: string
country_code:
description: Filter results by country ISO 3166-1 alpha-2 code
type: string
phone_number:
description: Phone number pattern filtering operations
properties:
contains:
description: Filter results by full or partial phone_number
type: string
type: object
type: object
type: object
style: deepObject
- description: 'Consolidated sort parameter (deepObject style). Originally: sort[value]'
explode: true
in: query
name: sort
schema:
properties:
value:
description: Specifies the sort order for results. If not given, results are sorted by created_at in descending order.
enum:
- created_at
- -created_at
- activation_settings.foc_datetime_requested
- -activation_settings.foc_datetime_requested
example: created_at
type: string
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/ListPortingOrder'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: List all porting orders
tags:
- Porting Orders
x-latency-category: responsive
post:
description: Creates a new porting order object.
operationId: CreatePortingOrder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePortingOrder'
required: true
responses:
'201':
$ref: '#/components/responses/ListDraftPortingOrdersWithoutPagination'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Create a porting order
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/exception_types:
get:
description: Returns a list of all possible exception types for a porting order.
operationId: ListExceptionTypes
parameters: []
responses:
'200':
$ref: '#/components/responses/ListPortingOrdersExceptionTypes'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: List all exception types
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/phone_number_configurations:
get:
description: Returns a list of phone number configurations paginated.
operationId: ListPhoneNumberConfigurations
parameters:
- $ref: '#/components/parameters/porting-order_PageConsolidated'
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[porting_order.status][in][], filter[porting_phone_number][in][], filter[user_bundle_id][in][]'
explode: true
in: query
name: filter
schema:
properties:
porting_order:
properties:
status:
description: Filter results by specific porting order statuses
items:
enum:
- activation-in-progress
- cancel-pending
- cancelled
- draft
- exception
- foc-date-confirmed
- in-process
- ported
- submitted
example: in-process
type: string
type: array
type: object
porting_phone_number:
description: Filter results by a list of porting phone number IDs
items:
example: 5d6f7ede-1961-4717-bfb5-db392c5efc2d
format: uuid
type: string
type: array
user_bundle_id:
description: Filter results by a list of user bundle IDs
items:
example: 5d6f7ede-1961-4717-bfb5-db392c5efc2d
format: uuid
type: string
type: array
type: object
style: deepObject
- description: 'Consolidated sort parameter (deepObject style). Originally: sort[value]'
explode: true
in: query
name: sort
schema:
properties:
value:
description: Specifies the sort order for results. If not given, results are sorted by created_at in descending order.
enum:
- created_at
- -created_at
example: created_at
type: string
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/ListPortingPhoneNumberConfigurations'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: List all phone number configurations
tags:
- Porting Orders
x-latency-category: responsive
post:
description: Creates a list of phone number configurations.
operationId: CreatePhoneNumberConfigurations
requestBody:
$ref: '#/components/requestBodies/CreatePortingPhoneNumberConfigurations'
responses:
'201':
$ref: '#/components/responses/CreatePortingPhoneNumberConfigurations'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Create a list of phone number configurations
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}:
delete:
description: Deletes an existing porting order. This operation is restrict to porting orders in draft state.
operationId: DeletePortingOrder
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
responses:
'204':
description: No content
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Delete a porting order
tags:
- Porting Orders
x-latency-category: responsive
get:
description: Retrieves the details of an existing porting order.
operationId: GetPortingOrder
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
- $ref: '#/components/parameters/QueryIncludePhoneNumbers'
responses:
'200':
$ref: '#/components/responses/ShowPortingOrder'
'401':
description: Unauthorized
summary: Retrieve a porting order
tags:
- Porting Orders
x-latency-category: responsive
patch:
description: 'Edits the details of an existing porting order.
Any or all of a porting orders attributes may be included in the resource object included in a PATCH request.
If a request does not include all of the attributes for a resource, the system will interpret the missing attributes as if they were included with their current values. To explicitly set something to null, it must be included in the request with a null value.'
operationId: UpdatePortingOrder
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePortingOrder'
required: true
responses:
'200':
$ref: '#/components/responses/UpdatePortingOrderResponse'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Edit a porting order
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/actions/activate:
post:
description: Activate each number in a porting order asynchronously. This operation is limited to US FastPort orders only.
operationId: ActivatePortingOrder
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
responses:
'202':
$ref: '#/components/responses/ShowPortingOrdersActivationJob'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Activate every number in a porting order asynchronously.
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/actions/cancel:
post:
description: Cancel a porting order
operationId: CancelPortingOrder
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
responses:
'200':
$ref: '#/components/responses/CancelPortingOrderResponse'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Cancel a porting order
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/actions/confirm:
post:
description: Confirm and submit your porting order.
operationId: ConfirmPortingOrder
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
responses:
'200':
$ref: '#/components/responses/ConfirmPortingOrderResponse'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Submit a porting order.
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/actions/share:
post:
description: Creates a sharing token for a porting order. The token can be used to share the porting order with non-Telnyx users.
operationId: SharePortingOrder
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
requestBody:
$ref: '#/components/requestBodies/SharePortingOrder'
responses:
'201':
$ref: '#/components/responses/SharePortingOrder'
'401':
description: Unauthorized
'404':
description: Porting Order not found
summary: Share a porting order
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/activation_jobs:
get:
description: Returns a list of your porting activation jobs.
operationId: ListPortingOrderActivationJobs
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
- $ref: '#/components/parameters/porting-order_PageConsolidated'
responses:
'200':
$ref: '#/components/responses/ListPortingOrdersActivationJobs'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: List all porting activation jobs
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/activation_jobs/{activationJobId}:
get:
description: Returns a porting activation job.
operationId: GetPortingOrdersActivationJob
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
- $ref: '#/components/parameters/PathPortingOrdersActivationJobID'
responses:
'200':
$ref: '#/components/responses/ShowPortingOrdersActivationJob'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Retrieve a porting activation job
tags:
- Porting Orders
x-latency-category: responsive
patch:
description: Updates the activation time of a porting activation job.
operationId: UpdatePortingOrdersActivationJob
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
- $ref: '#/components/parameters/PathPortingOrdersActivationJobID'
requestBody:
$ref: '#/components/requestBodies/UpdatePortingOrdersActivationJob'
responses:
'200':
$ref: '#/components/responses/ShowPortingOrdersActivationJob'
'404':
description: Not found
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Update a porting activation job
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/additional_documents:
get:
description: Returns a list of additional documents for a porting order.
operationId: ListAdditionalDocuments
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
- $ref: '#/components/parameters/porting-order_PageConsolidated'
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[document_type]'
explode: true
in: query
name: filter
schema:
properties:
document_type:
description: Filter additional documents by a list of document types
items:
enum:
- loa
- invoice
- csr
- other
example: loa
type: string
type: array
type: object
style: deepObject
- description: 'Consolidated sort parameter (deepObject style). Originally: sort[value]'
explode: true
in: query
name: sort
schema:
properties:
value:
description: Specifies the sort order for results. If not given, results are sorted by created_at in descending order.
enum:
- created_at
- -created_at
example: created_at
type: string
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/ListPortingAdditionalDocuments'
'401':
description: Unauthorized
'404':
description: Resource not found
summary: List additional documents
tags:
- Porting Orders
x-latency-category: responsive
post:
description: Creates a list of additional documents for a porting order.
operationId: CreateAdditionalDocuments
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
requestBody:
$ref: '#/components/requestBodies/CreatePortingAdditionalDocuments'
responses:
'201':
$ref: '#/components/responses/CreatePortingAdditionalDocuments'
'401':
description: Unauthorized
'404':
description: Resource not found
'422':
description: Unprocessable entity. Check message field in response for details.
summary: Create a list of additional documents
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/additional_documents/{additional_document_id}:
delete:
description: Deletes an additional document for a porting order.
operationId: DeleteAdditionalDocument
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
- description: Additional document identification.
in: path
name: additional_document_id
required: true
schema:
format: uuid
type: string
responses:
'204':
description: No content
'401':
description: Unauthorized
'404':
description: Resource not found
summary: Delete an additional document
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/allowed_foc_windows:
get:
description: Returns a list of allowed FOC dates for a porting order.
operationId: ListAllowedFocWindows
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
responses:
'200':
$ref: '#/components/responses/ListAllowedFocWindows'
'401':
description: Unauthorized
summary: List allowed FOC dates
tags:
- Porting Orders
x-latency-category: responsive
/porting_orders/{id}/comments:
get:
description: Returns a list of all comments of a porting order.
operationId: ListPortingOrderComments
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
- $ref: '#/components/parameters/porting-order_PageConsolidated'
responses:
'200':
$ref: '#/components/responses/ListPortingOrdersComments'
'401':
description: Unauthorized
'422':
description: Unprocessable entity. Check message field in response for details.
summary: List all comments of a porting order
tags:
- Porting Orders
x-latency-category: responsive
post:
description: Creates a new comment for a porting order.
operationId: CreatePortingOrderComment
parameters:
- $ref: '#/components/parameters/PathPortingOrderID'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePortingOrderComment'
required: true
responses:
'201':
$ref: '#/components/responses/ShowPorti
# --- truncated at 32 KB (169 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/telnyx/refs/heads/main/openapi/telnyx-porting-orders-api-openapi.yml