Telnyx IP Ranges API

IP Range Operations

OpenAPI Specification

telnyx-ip-ranges-api-openapi.yml Raw ↑
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