Telnyx Bundles API

The Bundles API from Telnyx — 2 operation(s) for bundles.

OpenAPI Specification

telnyx-bundles-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 Bundles 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:
- name: Bundles
paths:
  /bundle_pricing/billing_bundles:
    get:
      description: Get all allowed bundles.
      operationId: GetUserBillingBundles
      parameters:
      - $ref: '#/components/parameters/bundle-pricing_FilterConsolidated'
      - $ref: '#/components/parameters/bundle-pricing_PageConsolidated'
      - $ref: '#/components/parameters/AuthorizationBearer'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBillingBundlesResponse'
          description: Successful Response
        '400':
          $ref: '#/components/responses/bundle-pricing_BadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        default:
          $ref: '#/components/responses/bundle-pricing_GenericErrorResponse'
      summary: Retrieve Bundles
      tags:
      - Bundles
      x-latency-category: responsive
  /bundle_pricing/billing_bundles/{bundle_id}:
    get:
      description: Get a single bundle by ID.
      operationId: GetBillingBundleById
      parameters:
      - $ref: '#/components/parameters/BundleId'
      - $ref: '#/components/parameters/AuthorizationBearer'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingBundleResponse'
          description: Successful Response
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/bundle-pricing_NotFoundErrorResponse'
        default:
          $ref: '#/components/responses/bundle-pricing_GenericErrorResponse'
      summary: Get Bundle By Id
      tags:
      - Bundles
      x-latency-category: responsive
components:
  schemas:
    PaginatedBillingBundlesResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/BillingBundleSummary'
          title: Data
          type: array
        meta:
          $ref: '#/components/schemas/PaginationResponse'
      required:
      - meta
      - data
      title: PaginatedBillingBundlesResponse
      type: object
    BundleLimitSchema:
      properties:
        billing_service:
          example: emergency
          title: Billing Service
          type: string
        country:
          deprecated: true
          description: Use country_iso instead
          title: Country
          type: string
        country_code:
          example: 61
          title: Country Code
          type: integer
        country_iso:
          example: AU
          title: Country Iso
          type: string
        created_at:
          format: date
          title: Created At
          type: string
        direction:
          $ref: '#/components/schemas/BundleLimitDirection'
        id:
          example: e6a32ea9-953b-4622-bbba-9f7bcf7e6717
          format: uuid
          title: Id
          type: string
        limit:
          example: 1
          title: Limit
          type: integer
        metric:
          example: number
          title: Metric
          type: string
        rate:
          example: '5'
          title: Rate
          type: string
        service:
          example: E911
          title: Service
          type: string
        types:
          items:
            example: local
            type: string
          title: Types
          type: array
        updated_at:
          format: date
          title: Updated At
          type: string
      required:
      - id
      - service
      - metric
      - created_at
      - updated_at
      title: BundleLimitSchema
      type: object
    BillingBundleSummary:
      properties:
        cost_code:
          description: Bundle's cost code, this is used to identify the bundle in the billing system.
          example: BUNDLE-PRICING-BASIC-MRC
          title: Cost Code
          type: string
        created_at:
          description: Date the bundle was created.
          format: date
          title: Created At
          type: string
        currency:
          description: Bundle's currency code.
          example: USD
          title: Currency
          type: string
        id:
          description: Bundle's ID, this is used to identify the bundle in the API.
          example: 7ecd040e-6bac-4139-9160-3c0427d98fea
          format: uuid
          title: Id
          type: string
        is_public:
          description: Available to all customers or only to specific customers.
          title: Is Public
          type: boolean
        mrc_price:
          description: Monthly recurring charge price.
          example: 2.0
          format: float
          title: Mrc Price
          type: number
        name:
          description: Bundle's name, this is used to identify the bundle in the UI.
          example: Australia Basic
          title: Name
          type: string
        slug:
          description: Slugified version of the bundle's name.
          example: basic-au-e4f8
          title: Slug
          type: string
        specs:
          example:
          - 1 AU Number
          - Emergency Calling
          - All inbound and outbound calling billed pay-as-you-go
          items:
            type: string
          title: Specs
          type: array
      required:
      - id
      - name
      - cost_code
      - is_public
      - created_at
      title: BillingBundleSummary
      type: object
    BillingBundleResponse:
      properties:
        data:
          $ref: '#/components/schemas/BillingBundleSchema'
      required:
      - data
      title: BillingBundleResponse
      type: object
    BundleLimitDirection:
      description: An enumeration.
      enum:
      - inbound
      - outbound
      title: BundleLimitDirection
      type: string
    PaginationResponse:
      properties:
        page_number:
          description: The current page number.
          example: 2
          title: Page Number
          type: integer
        page_size:
          description: The number of results per page.
          example: 25
          title: Page Size
          type: integer
        total_pages:
          description: Total number of pages from the results.
          example: 3
          title: Total Pages
          type: integer
        total_results:
          description: Total number of results returned.
          example: 55
          title: Total Results
          type: integer
      required:
      - total_results
      - total_pages
      - page_number
      - page_size
      title: PaginationResponse
      type: object
    BillingBundleSchema:
      properties:
        active:
          description: If that bundle is active or not.
          title: Active
          type: boolean
        bundle_limits:
          items:
            $ref: '#/components/schemas/BundleLimitSchema'
          title: Bundle Limits
          type: array
        cost_code:
          description: Bundle's cost code, this is used to identify the bundle in the billing system.
          example: BUNDLE-PRICING-BASIC-MRC
          title: Cost Code
          type: string
        created_at:
          description: Date the bundle was created.
          format: date
          title: Created At
          type: string
        id:
          description: Bundle's ID, this is used to identify the bundle in the API.
          example: 7ecd040e-6bac-4139-9160-3c0427d98fea
          format: uuid
          title: Id
          type: string
        is_public:
          description: Available to all customers or only to specific customers.
          title: Is Public
          type: boolean
        name:
          description: Bundle's name, this is used to identify the bundle in the UI.
          example: Australia Basic
          title: Name
          type: string
        slug:
          description: Slugified version of the bundle's name.
          example: basic-au-e4f8
          title: Slug
          type: string
      required:
      - id
      - name
      - cost_code
      - active
      - is_public
      - created_at
      - bundle_limits
      title: BillingBundleSchema
      type: object
  parameters:
    bundle-pricing_PageConsolidated:
      description: 'Consolidated page parameter (deepObject style). Originally: page[size], page[number]'
      explode: true
      in: query
      name: page
      schema:
        properties:
          number:
            default: 1
            description: The page number to load.
            minimum: 1
            type: integer
          size:
            default: 20
            description: The size of the page.
            maximum: 250
            minimum: 1
            type: integer
        type: object
      style: deepObject
    AuthorizationBearer:
      description: 'Format: Bearer <TOKEN>'
      in: header
      name: authorization_bearer
      schema:
        description: Authenticates the request with your Telnyx API V2 KEY
        type: string
    bundle-pricing_FilterConsolidated:
      description: 'Consolidated filter parameter (deepObject style). Supports filtering by country_iso and resource. Examples: filter[country_iso]=US or filter[resource]=+15617819942'
      explode: true
      in: query
      name: filter
      schema:
        properties:
          country_iso:
            description: Filter by country code.
            items:
              example: US
              type: string
            title: Filter[Country Iso]
            type: array
          resource:
            description: Filter by resource.
            items:
              description: Filter by resource.
              example: '+15617819942'
              type: string
            title: Filter[Resource]
            type: array
        type: object
      style: deepObject
    BundleId:
      in: path
      name: bundle_id
      required: true
      schema:
        description: Billing bundle's ID, this is used to identify the billing bundle in the API.
        example: 8661948c-a386-4385-837f-af00f40f111a
        format: uuid
        title: Bundle Id
        type: string
  responses:
    bundle-pricing_NotFoundErrorResponse:
      content:
        application/json:
          schema:
            properties:
              errors:
                items:
                  properties:
                    code:
                      type: string
                    detail:
                      type: string
                    title:
                      type: string
                  type: object
                type: array
            type: object
      description: Resource not found
    bundle-pricing_GenericErrorResponse:
      content:
        application/json:
          schema:
            properties:
              errors:
                items:
                  properties:
                    code:
                      type: string
                    detail:
                      type: string
                    title:
                      type: string
                  type: object
                type: array
            type: object
      description: Unexpected error
    bundle-pricing_BadRequestErrorResponse:
      content:
        application/json:
          schema:
            properties:
              errors:
                items:
                  properties:
                    code:
                      type: string
                    detail:
                      type: string
                    title:
                      type: string
                  type: object
                type: array
            type: object
      description: Invalid request parameters
    UnauthorizedErrorResponse:
      content:
        application/json:
          schema:
            properties:
              errors:
                items:
                  properties:
                    code:
                      type: string
                    detail:
                      type: string
                    title:
                      type: string
                  type: object
                type: array
            type: object
      description: Authentication required or invalid credentials
  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