Telnyx User Bundles API
The User Bundles API from Telnyx — 5 operation(s) for user bundles.
The User Bundles API from Telnyx — 5 operation(s) for user bundles.
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 <TOKEN>'
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