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 ' 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