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 User 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: User Bundles paths: /bundle_pricing/user_bundles: get: description: Get a paginated list of user bundles. operationId: GetUserBundles 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/PaginatedUserBundlesResponse' description: Successful Response '400': $ref: '#/components/responses/bundle-pricing_BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' default: $ref: '#/components/responses/bundle-pricing_GenericErrorResponse' summary: Get User Bundles tags: - User Bundles x-latency-category: responsive /bundle_pricing/user_bundles/bulk: post: description: Creates multiple user bundles for the user. operationId: CreateUserBundlesBulk parameters: - $ref: '#/components/parameters/AuthorizationBearer' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateUserBundlesBulkRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreatedUserBundlesResponse' description: Successful Response '400': $ref: '#/components/responses/bundle-pricing_BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/bundle-pricing_NotFoundErrorResponse' '422': $ref: '#/components/responses/bundle-pricing_UnprocessableEntityErrorResponse' default: $ref: '#/components/responses/bundle-pricing_GenericErrorResponse' summary: Create User Bundles tags: - User Bundles x-latency-category: responsive /bundle_pricing/user_bundles/unused: get: description: Returns all user bundles that aren't in use. operationId: GetUnusedUserBundles parameters: - $ref: '#/components/parameters/bundle-pricing_FilterConsolidated' - $ref: '#/components/parameters/AuthorizationBearer' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UnusedUserBundlesResponse' description: Successful Response '400': $ref: '#/components/responses/bundle-pricing_BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' default: $ref: '#/components/responses/bundle-pricing_GenericErrorResponse' summary: Get Unused User Bundles tags: - User Bundles x-latency-category: responsive /bundle_pricing/user_bundles/{user_bundle_id}: delete: description: Deactivates a user bundle by its ID. operationId: DeactivateUserBundle parameters: - $ref: '#/components/parameters/UserBundleId' - $ref: '#/components/parameters/AuthorizationBearer' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserBundleCreateResponse' description: Successful Response '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/bundle-pricing_NotFoundErrorResponse' '422': $ref: '#/components/responses/bundle-pricing_UnprocessableEntityErrorResponse' default: $ref: '#/components/responses/bundle-pricing_GenericErrorResponse' summary: Deactivate User Bundle tags: - User Bundles x-latency-category: responsive get: description: Retrieves a user bundle by its ID. operationId: GetUserBundleById parameters: - $ref: '#/components/parameters/UserBundleId' - $ref: '#/components/parameters/AuthorizationBearer' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserBundleResponse' description: Successful Response '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/bundle-pricing_NotFoundErrorResponse' default: $ref: '#/components/responses/bundle-pricing_GenericErrorResponse' summary: Get User Bundle by Id tags: - User Bundles x-latency-category: responsive /bundle_pricing/user_bundles/{user_bundle_id}/resources: get: description: Retrieves the resources of a user bundle by its ID. operationId: GetUserBundleResources parameters: - $ref: '#/components/parameters/UserBundleId' - $ref: '#/components/parameters/AuthorizationBearer' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserBundleResourcesResponse' description: Successful Response '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/bundle-pricing_NotFoundErrorResponse' default: $ref: '#/components/responses/bundle-pricing_GenericErrorResponse' summary: Get User Bundle Resources tags: - User Bundles x-latency-category: responsive components: schemas: UserBundleResourceSchema: properties: created_at: description: Date the resource was created. example: '2025-01-20' format: date type: string id: description: Resource's ID. example: ca1d2263-d1f1-43ac-ba53-248e7a4bb26a format: uuid type: string resource: description: The resource itself (usually a phone number). example: '+15617819942' type: string resource_type: description: The type of the resource (usually 'number'). example: number type: string updated_at: description: Date the resource was last updated. example: '2025-01-20' format: date type: - string - 'null' required: - id - resource - resource_type - created_at title: UserBundleResourceSchema type: object UnusedUserBundlesSchema: properties: billing_bundle: $ref: '#/components/schemas/BillingBundleSummary' user_bundle_ids: description: List of user bundle IDs for given bundle. example: - 1e650b96-4c6a-4d6f-b8ed-87c3fcacf595 - 53beb701-1231-4548-8abf-c802f38b14aa items: format: uuid type: string title: User Bundle Ids type: array required: - billing_bundle - user_bundle_ids title: UnusedUserBundlesSchema type: object UserBundleResponse: properties: data: $ref: '#/components/schemas/UserBundle' required: - data title: UserBundleResponse type: object CreatedUserBundlesResponse: properties: data: items: $ref: '#/components/schemas/UserBundle' type: array required: - data title: CreatedUserBundlesResponse type: object UnusedUserBundlesResponse: properties: data: items: $ref: '#/components/schemas/UnusedUserBundlesSchema' title: Data type: array required: - data title: UnusedUserBundlesResponse type: object PaginatedUserBundlesResponse: properties: data: items: $ref: '#/components/schemas/UserBundle' title: Data type: array meta: $ref: '#/components/schemas/PaginationResponse' required: - meta - data title: PaginatedUserBundlesResponse type: object UserBundleCreateResponse: properties: data: $ref: '#/components/schemas/UserBundle' required: - data title: UserBundleCreateResponse 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 UserBundleResourcesResponse: properties: data: items: $ref: '#/components/schemas/UserBundleResourceSchema' title: Data type: array required: - data title: UserBundleResourcesResponse type: object 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 CreateUserBundlesBulkRequest: properties: idempotency_key: description: Idempotency key for the request. Can be any UUID, but should always be unique for each request. example: 12ade33a-21c0-473b-b055-b3c836e1c292 format: uuid type: string items: items: properties: billing_bundle_id: description: Quantity of user bundles to order. example: 12ade33a-21c0-473b-b055-b3c836e1c292 format: uuid type: string quantity: description: Quantity of user bundles to order. type: integer required: - billing_bundle_id - quantity type: object type: array writeOnly: true type: object UserBundle: properties: active: description: Status of the user bundle. example: true type: boolean billing_bundle: $ref: '#/components/schemas/BillingBundleSummary' created_at: description: Date the user bundle was created. example: '2025-01-20' format: date type: string id: description: User bundle's ID, this is used to identify the user bundle in the API. example: ca1d2263-d1f1-43ac-ba53-248e7a4bb26a format: uuid type: string resources: example: [] items: $ref: '#/components/schemas/UserBundleResourceSchema' type: array updated_at: description: Date the user bundle was last updated. example: '2025-01-20' format: date type: - string - 'null' user_id: description: The customer's ID that owns this user bundle. example: 16856d8c-cd59-4b08-9ac2-1ebb01d419e1 format: uuid type: string required: - id - active - user_id - created_at - billing_bundle - resources 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 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 UserBundleId: in: path name: user_bundle_id required: true schema: description: User bundle's ID, this is used to identify the user bundle in the API. example: ca1d2263-d1f1-43ac-ba53-248e7a4bb26a format: uuid title: User Bundle Id type: string AuthorizationBearer: description: 'Format: Bearer ' in: header name: authorization_bearer schema: description: Authenticates the request with your Telnyx API V2 KEY type: string responses: 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 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_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 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 bundle-pricing_UnprocessableEntityErrorResponse: content: application/json: schema: properties: errors: items: properties: code: type: string detail: type: string title: type: string type: object type: array type: object description: Request cannot be processed 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