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 IP Ranges 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: IP Range Operations
name: IP Ranges
paths:
/access_ip_ranges:
get:
operationId: ListAccessIpRanges
parameters:
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[cidr_block], filter[cidr_block][startswith], filter[cidr_block][endswith], filter[cidr_block][contains], filter[created_at]. Supports complex bracket operations for dynamic filtering.'
examples:
Complex filtering example:
summary: 'Combine multiple filters: CIDR blocks starting with ''10.0'' and ending with ''/16'', created within 2023'
value:
cidr_block:
endswith: /16
startswith: '10.0'
created_at:
gt: '2023-01-01T00:00:00Z'
lt: '2023-12-31T23:59:59Z'
filter[cidr_block]=192.168.1.0/24:
summary: Filter by exact CIDR block match
value:
cidr_block: 192.168.1.0/24
filter[cidr_block][contains]=10.0:
summary: Filter CIDR blocks containing '10.0'
value:
cidr_block:
contains: '10.0'
filter[cidr_block][endswith]=/24:
summary: Filter CIDR blocks ending with '/24'
value:
cidr_block:
endswith: /24
filter[cidr_block][startswith]=192.168:
summary: Filter CIDR blocks starting with '192.168'
value:
cidr_block:
startswith: '192.168'
filter[created_at][gt]=2023-01-01T00:00:00Z:
summary: Filter IP ranges created after the specified date-time
value:
created_at:
gt: '2023-01-01T00:00:00Z'
filter[created_at][lt]=2023-12-31T23:59:59Z:
summary: Filter IP ranges created before the specified date-time
value:
created_at:
lt: '2023-12-31T23:59:59Z'
explode: true
in: query
name: filter
schema:
additionalProperties: true
properties:
cidr_block:
oneOf:
- description: Filter by exact CIDR block match
type: string
- additionalProperties: false
description: CIDR block pattern matching operations
properties:
contains:
description: Filter CIDR blocks containing the specified string
type: string
endswith:
description: Filter CIDR blocks ending with the specified string
type: string
startswith:
description: Filter CIDR blocks starting with the specified string
type: string
title: CidrBlockPatternFilter
type: object
created_at:
oneOf:
- description: Filter by exact creation date-time
format: date-time
type: string
- additionalProperties: false
description: Date range filtering operations
properties:
gt:
description: Filter for creation date-time greater than
format: date-time
type: string
gte:
description: Filter for creation date-time greater than or equal to
format: date-time
type: string
lt:
description: Filter for creation date-time less than
format: date-time
type: string
lte:
description: Filter for creation date-time less than or equal to
format: date-time
type: string
title: DateRangeFilter
type: object
type: object
style: deepObject
- description: 'Consolidated page parameter (deepObject style). Originally: page[number], page[size]'
examples:
page[number]=1&page[size]=20:
summary: Default pagination with first page and 20 records per page
value:
number: 1
size: 20
page[number]=1&page[size]=50:
summary: First page with 50 records per page
value:
number: 1
size: 50
page[number]=2&page[size]=20:
summary: Second page with 20 records per page
value:
number: 2
size: 20
page[number]=5&page[size]=100:
summary: Fifth page with 100 records per page
value:
number: 5
size: 100
explode: true
in: query
name: page
schema:
properties:
number:
default: 1
type: integer
size:
default: 20
maximum: 250
type: integer
type: object
style: deepObject
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccessIPRangeListResponseSchema'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/cloudflare-ip-list-sync_Errors'
description: Validation Error
summary: List all Access IP Ranges
tags:
- IP Ranges
x-latency-category: responsive
post:
operationId: CreateAccessIPRange
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccessIPRangePOST'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccessIPRangeResponseSchema'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/cloudflare-ip-list-sync_Errors'
description: Validation Error
summary: Create new Access IP Range
tags:
- IP Ranges
x-latency-category: responsive
/access_ip_ranges/{access_ip_range_id}:
delete:
operationId: DeleteAccessIpRange
parameters:
- in: path
name: access_ip_range_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccessIPRangeResponseSchema'
description: Successful Response
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/cloudflare-ip-list-sync_Errors'
description: Resource not found
summary: Delete access IP ranges
tags:
- IP Ranges
x-latency-category: responsive
components:
schemas:
AccessIPRangeResponseSchema:
properties:
cidr_block:
title: Cidr Block
type: string
created_at:
format: date-time
title: Created At
type: string
description:
title: Description
type: string
id:
title: Id
type: string
status:
$ref: '#/components/schemas/CloudflareSyncStatus'
updated_at:
format: date-time
title: Updated At
type: string
user_id:
title: User Id
type: string
required:
- id
- cidr_block
- status
- user_id
title: AccessIPRangeResponseSchema
type: object
cloudflare-ip-list-sync_Errors:
properties:
errors:
items:
$ref: '#/components/schemas/cloudflare-ip-list-sync_Error'
type: array
type: object
cloudflare-ip-list-sync_PaginationMeta:
properties:
page_number:
type: integer
page_size:
type: integer
total_pages:
type: integer
total_results:
type: integer
required:
- page_number
- page_size
- total_pages
- total_results
title: PaginationMeta
type: object
AccessIPRangeListResponseSchema:
properties:
data:
items:
$ref: '#/components/schemas/AccessIPRangeResponseSchema'
title: Data
type: array
meta:
$ref: '#/components/schemas/cloudflare-ip-list-sync_PaginationMeta'
required:
- data
- meta
title: AccessIPRangeListResponseSchema
type: object
AccessIPRangePOST:
properties:
cidr_block:
title: Cidr Block
type: string
description:
title: Description
type: string
required:
- cidr_block
title: AccessIPRangePOST
type: object
cloudflare-ip-list-sync_Error:
properties:
code:
type: string
detail:
type: string
meta:
additionalProperties: true
type: object
source:
properties:
parameter:
description: Indicates which query parameter caused the error.
type: string
pointer:
description: JSON pointer (RFC6901) to the offending entity.
type: string
type: object
title:
type: string
required:
- code
- title
type: object
CloudflareSyncStatus:
description: An enumeration.
enum:
- pending
- added
title: CloudflareSyncStatus
type: string
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