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