OpenAPI Specification
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 Phone Number Search 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: Number search
name: Phone Number Search
paths:
/available_phone_number_blocks:
get:
operationId: ListAvailablePhoneNumberBlocks
parameters:
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[locality], filter[country_code], filter[national_destination_code], filter[phone_number_type]'
explode: true
in: query
name: filter
schema:
properties:
country_code:
description: Filter phone numbers by country.
type: string
locality:
description: Filter phone numbers by city.
type: string
national_destination_code:
description: Filter by the national destination code of the number.
type: string
phone_number_type:
description: Filter phone numbers by number type.
enum:
- local
- toll_free
- mobile
- national
- shared_cost
type: string
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/ListAvailablePhoneNumbersBlockResponse'
'400':
$ref: '#/components/responses/numbers_BadRequestResponse'
'401':
$ref: '#/components/responses/numbers_UnauthorizedResponse'
'404':
$ref: '#/components/responses/numbers_NotFoundResponse'
'422':
$ref: '#/components/responses/numbers_UnprocessableEntity'
'500':
$ref: '#/components/responses/numbers_GenericErrorResponse'
summary: List available phone number blocks
tags:
- Phone Number Search
x-latency-category: responsive
/available_phone_numbers:
get:
operationId: ListAvailablePhoneNumbers
parameters:
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[phone_number], filter[locality], filter[administrative_area], filter[country_code], filter[national_destination_code], filter[rate_center], filter[phone_number_type], filter[features], filter[limit], filter[best_effort], filter[quickship], filter[reservable], filter[exclude_held_numbers]'
explode: true
in: query
name: filter
schema:
properties:
administrative_area:
description: Find numbers in a particular US state or CA province.
type: string
best_effort:
description: Filter to determine if best effort results should be included. Only available in USA/CANADA.
type: boolean
country_code:
description: Filter phone numbers by country.
type: string
exclude_held_numbers:
description: Filter to exclude phone numbers that are currently on hold/reserved for your account.
type: boolean
features:
description: Filter phone numbers with specific features.
items:
enum:
- sms
- mms
- voice
- fax
- emergency
- hd_voice
- international_sms
- local_calling
type: string
type: array
limit:
description: Limits the number of results.
type: integer
locality:
description: Filter phone numbers by city.
type: string
national_destination_code:
description: Filter by the national destination code of the number.
type: string
phone_number:
additionalProperties: false
description: Filter phone numbers by pattern matching.
properties:
contains:
description: Filter numbers containing a pattern (excludes NDC if used with `national_destination_code` filter).
type: string
ends_with:
description: Filter numbers ending with a pattern (excludes NDC if used with `national_destination_code` filter).
type: string
starts_with:
description: Filter numbers starting with a pattern (excludes NDC if used with `national_destination_code` filter).
type: string
type: object
phone_number_type:
description: Filter phone numbers by number type.
enum:
- local
- toll_free
- mobile
- national
- shared_cost
type: string
quickship:
description: Filter to exclude phone numbers that need additional time after to purchase to activate. Only applicable for +1 toll_free numbers.
type: boolean
rate_center:
description: Filter phone numbers by rate center. This filter is only applicable to USA and Canada numbers.
type: string
reservable:
description: Filter to ensure only numbers that can be reserved are included in the results.
type: boolean
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/ListAvailablePhoneNumbersResponse'
'400':
$ref: '#/components/responses/numbers_BadRequestResponse'
'401':
$ref: '#/components/responses/numbers_UnauthorizedResponse'
'404':
$ref: '#/components/responses/numbers_NotFoundResponse'
'422':
$ref: '#/components/responses/numbers_UnprocessableEntity'
'500':
$ref: '#/components/responses/numbers_GenericErrorResponse'
summary: List available phone numbers
tags:
- Phone Number Search
x-endpoint-cost: heavy
x-group-parameters: 'true'
x-latency-category: responsive
components:
schemas:
AvailablePhoneNumber:
example:
best_effort: false
cost_information:
currency: USD
monthly_cost: '6.54'
upfront_cost: '3.21'
features:
- name: sms
- name: voice
phone_number: '+19705555098'
quickship: true
record_type: available_phone_number
region_information:
- region_name: US
region_type: country_code
reservable: true
vanity_format: ''
properties:
best_effort:
description: Specifies whether the phone number is an exact match based on the search criteria or not.
example: false
type: boolean
cost_information:
$ref: '#/components/schemas/CostInformation'
features:
items:
$ref: '#/components/schemas/Feature'
type: array
phone_number:
example: '+19705555098'
type: string
quickship:
description: Specifies whether the phone number can receive calls immediately after purchase or not.
example: true
type: boolean
record_type:
enum:
- available_phone_number
example: available_phone_number
type: string
region_information:
items:
$ref: '#/components/schemas/RegionInformation'
type: array
reservable:
description: Specifies whether the phone number can be reserved before purchase or not.
example: true
type: boolean
vanity_format:
type: string
type: object
RegionInformation:
example:
region_name: US
region_type: country_code
properties:
region_name:
example: US
type: string
region_type:
enum:
- country_code
- rate_center
- state
- location
example: country_code
type: string
type: object
CostInformation:
example:
currency: USD
monthly_cost: '6.54'
upfront_cost: '3.21'
properties:
currency:
description: The ISO 4217 code for the currency.
example: USD
type: string
monthly_cost:
example: '6.54'
type: string
upfront_cost:
example: '3.21'
type: string
type: object
AvailablePhoneNumberBlock:
example:
cost_information:
currency: USD
monthly_cost: '6.54'
upfront_cost: '3.21'
features:
- name: sms
- name: voice
phone_number: '+19705555000'
range: 10
record_type: available_phone_number_block
region_information:
- region_name: US
region_type: country_code
properties:
cost_information:
$ref: '#/components/schemas/CostInformation'
features:
items:
$ref: '#/components/schemas/Feature'
type: array
phone_number:
example: '+19705555000'
type: string
range:
example: 10
type: integer
record_type:
enum:
- available_phone_number_block
example: available_phone_number_block
type: string
region_information:
items:
$ref: '#/components/schemas/RegionInformation'
type: array
type: object
AvailablePhoneNumbersMetadata:
example:
best_effort_results: 50
total_results: 100
properties:
best_effort_results:
example: 0
type: integer
total_results:
example: 1
type: integer
type: object
Feature:
example:
name: sms
properties:
name:
example: sms
type: string
type: object
numbers_Errors:
properties:
errors:
items:
$ref: '#/components/schemas/numbers_Error'
type: array
type: object
numbers_Error:
properties:
code:
example: '10007'
type: string
detail:
example: An unexpected error occured.
type: string
meta:
properties:
url:
description: URL with additional information on the error.
example: https://developers.telnyx.com/docs/overview/errors/10015
type: string
type: object
source:
properties:
parameter:
description: Indicates which query parameter caused the error.
type: string
pointer:
description: JSON pointer (RFC6901) to the offending entity.
example: /base
type: string
type: object
title:
example: Unexpected error
type: string
type: object
responses:
ListAvailablePhoneNumbersResponse:
content:
application/json:
schema:
properties:
data:
items:
$ref: '#/components/schemas/AvailablePhoneNumber'
type: array
meta:
$ref: '#/components/schemas/AvailablePhoneNumbersMetadata'
metadata:
$ref: '#/components/schemas/AvailablePhoneNumbersMetadata'
title: List Available Phone Numbers Response
type: object
description: Successful response with a list of available phone numbers.
numbers_UnauthorizedResponse:
content:
application/json:
examples:
Authentication Failed:
value:
errors:
- code: '10009'
detail: Could not understand the provided credentials.
meta:
url: https://developers.telnyx.com/docs/overview/errors/10009
title: Authentication failed
schema:
$ref: '#/components/schemas/numbers_Errors'
description: Unauthorized
numbers_UnprocessableEntity:
content:
application/json:
schema:
$ref: '#/components/schemas/numbers_Errors'
description: Unprocessable entity. Check the 'detail' field in response for details.
numbers_NotFoundResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/numbers_Errors'
description: The requested resource doesn't exist.
ListAvailablePhoneNumbersBlockResponse:
content:
application/json:
schema:
properties:
data:
items:
$ref: '#/components/schemas/AvailablePhoneNumberBlock'
type: array
meta:
$ref: '#/components/schemas/AvailablePhoneNumbersMetadata'
title: List Available Phone Numbers Blocks Response
type: object
description: Successful response with a list of available phone numbers blocks.
numbers_GenericErrorResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/numbers_Errors'
description: Unexpected error
numbers_BadRequestResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/numbers_Errors'
description: Bad request, the request was unacceptable, often due to missing a required parameter.
securitySchemes:
bearerAuth:
scheme: bearer
type: http
branded-calling_bearerAuth:
description: API key passed as a Bearer token in the Authorization header
scheme: bearer
type: http
oauthClientAuth:
description: OAuth 2.0 authentication for Telnyx API and MCP integrations
flows:
authorizationCode:
authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
refreshUrl: https://api.telnyx.com/v2/oauth/token
scopes:
admin: Administrative access to Telnyx resources
tokenUrl: https://api.telnyx.com/v2/oauth/token
clientCredentials:
scopes:
admin: Administrative access to Telnyx resources
tokenUrl: https://api.telnyx.com/v2/oauth/token
type: oauth2
outbound-voice-profiles_bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http
pronunciation-dicts_bearerAuth:
description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
scheme: bearer
type: http
stored-payment-transactions_bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http