Telnyx Usage Reports (BETA) API
Usage data reporting across Telnyx products
Usage data reporting across Telnyx products
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/telnyx-usage-reports-beta-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.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 Usage Reports (BETA) 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: Usage data reporting across Telnyx products
name: Usage Reports (BETA)
paths:
/usage_reports:
get:
description: Get Telnyx usage data by product, broken out by the specified dimensions
operationId: GetUsageReports
parameters:
- description: Telnyx product
examples:
product=messaging:
summary: messaging
value: messaging
product=wireless:
summary: wireless
value: wireless
in: query
name: product
required: true
schema:
type: string
- description: Breakout by specified product dimensions
examples:
dimensions=direction,currency,message_type:
summary: Dimensions aggregation list
value:
- direction
- currency
- message_type
in: query
name: dimensions
required: true
schema:
items:
type: string
type: array
- description: Specified product usage values
examples:
metrics=cost,billed_sec:
summary: Metrics aggregation list
value:
- cost
- billed_sec
in: query
name: metrics
required: true
schema:
items:
type: string
type: array
- description: 'The start date for the time range you are interested in. The maximum time range is 31 days. Format: YYYY-MM-DDTHH:mm:ssZ'
examples:
start_date=2024-02-01T00:00:00Z:
summary: Aggregate for records with timestamp starting at specified date and time.
value: '2024-02-01T00:00:00Z'
in: query
name: start_date
required: false
schema:
type: string
- description: 'The end date for the time range you are interested in. The maximum time range is 31 days. Format: YYYY-MM-DDTHH:mm:ssZ'
examples:
end_date=2024-03-01T00:00:00Z:
summary: Aggregate for records with timestamp ending at specified date and time.
value: '2024-03-01T00:00:00Z'
in: query
name: end_date
required: false
schema:
type: string
- description: A more user-friendly way to specify the timespan you want to filter by. More options can be found in the Telnyx API Reference docs.
examples:
date_range=last_3_days:
summary: last_3_days - Searches for records with timestamp starting at `00:00:00` since 3 days ago
value: last_3_days
date_range=today:
summary: today - Searches for records with timestamp starting at `00:00:00` of the current day
value: today
in: query
name: date_range
required: false
schema:
type: string
- description: Filter records on dimensions
examples:
filter[country_code]=NLD:
summary: Filter country code on NLD
value: filter[country_code]=NLD
filter[currency]=USD:
summary: Filter currency on USD
value: filter[currency]=USD
filter[direction]=inbound:
summary: Filter direction on Inbound
value: filter[direction]=inbound
in: query
name: filter
required: false
schema:
type: string
- description: Return the aggregations for all Managed Accounts under the user making the request.
examples:
managed_accounts=true:
summary: Fetch aggregations for all Managed Accounts
value: false
in: query
name: managed_accounts
required: false
schema:
type: boolean
- description: Specifies the sort order for results
examples:
sort=-created_at:
summary: Sorts search results using the `-created_at` date-time in descending order
value:
- -created_at
sort=created_at:
summary: Sorts search results using the `created_at` date-time in ascending order
value:
- created_at
in: query
name: sort
required: false
schema:
items:
type: string
type: array
- description: Specify the response format (csv or json). JSON is returned by default, even if not specified.
examples:
format=csv:
summary: Get the response in CSV format
value: csv
format=json:
summary: Get the response in JSON format
value: json
in: query
name: format
required: false
schema:
enum:
- csv
- json
type: string
- in: header
name: authorization_bearer
schema:
description: Authenticates the request with your Telnyx API V2 KEY
type: string
- description: 'Consolidated page parameter (deepObject style). Originally: page[number], page[size]'
examples:
page[number]=1&page[size]=20:
summary: Returns the first page with 20 records per page (default pagination)
value:
number: 1
size: 20
page[number]=1&page[size]=50:
summary: Returns the first page with 50 records per page (larger page size)
value:
number: 1
size: 50
page[number]=2&page[size]=20:
summary: Returns the second page with 20 records per page
value:
number: 2
size: 20
page[number]=5&page[size]=100:
summary: Returns the fifth page with 100 records per page
value:
number: 5
size: 100
explode: true
in: query
name: page
schema:
properties:
number:
default: 1
minimum: 1
title: Page[Number]
type: integer
size:
default: 20
maximum: 5000
title: Page[Size]
type: integer
type: object
style: deepObject
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UsageReportsResponse'
text/csv:
schema:
description: CSV formatted data
example: 'user_id,direction,product,cost,billed_sec
3ca7bd3d-7d82-4e07-9df4-009123068320,inbound,forking,0.000800,17.000000
...'
type: string
description: Successful
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/usage-reports_ErrorResponse'
description: Bad Request
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/usage-reports_ErrorResponse'
description: Internal Server Error
security:
- bearerAuth: []
summary: Get Telnyx product usage data (BETA)
tags:
- Usage Reports (BETA)
x-latency-category: interactive
/usage_reports/options:
get:
description: Get the Usage Reports options for querying usage, including the products available and their respective metrics and dimensions
operationId: ListUsageReportsOptions
parameters:
- description: Options (dimensions and metrics) for a given product. If none specified, all products will be returned.
examples:
product=wireless:
summary: Specify a product if you know what you're looking for
value: wireless
in: query
name: product
required: false
schema:
type: string
- in: header
name: authorization_bearer
schema:
description: Authenticates the request with your Telnyx API V2 KEY
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UsageReportsOptionsResponse'
description: Successful
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/usage-reports_ErrorResponse'
description: Bad Request
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/usage-reports_ErrorResponse'
description: Internal Server Error
security:
- bearerAuth: []
summary: Get Usage Reports query options (BETA)
tags:
- Usage Reports (BETA)
x-latency-category: interactive
components:
schemas:
ErrorRecord:
properties:
code:
description: an application-specific error code, expressed as a stringified 5-digit integer
example: '10003'
type: string
detail:
description: a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized
example: 'Available metrics values for sip-trunking: connected,cost,completed,call_sec,attempted,billed_sec.'
type: string
meta:
$ref: '#/components/schemas/MetaResponse'
source:
$ref: '#/components/schemas/SourceResponse'
title:
description: a short, human-readable summary of the problem, with NO punctuation, that SHOULD NOT CHANGE from occurrence to occurrence of the problem, except for purposes of localization
example: Metrics invalid values
type: string
type: object
UsageReportsOptionsRecord:
description: An object following one of the schemas published in https://developers.telnyx.com/docs/api/v2/detail-records
properties:
product:
description: Telnyx Product
example: wireless
type: string
product_dimensions:
description: Telnyx Product Dimensions
example:
- mnc
- mcc
- sim_card_id
- sim_group_name
items:
type: string
type: array
product_metrics:
description: Telnyx Product Metrics
example:
- uplink_data_bytes
- downlink_data
- downlink_data_bytes
- uplink_data
- data_cost
items:
type: string
type: array
record_types:
description: Subproducts if applicable
items:
$ref: '#/components/schemas/usage-reports_RecordType'
type: array
type: object
UsageReportsOptionsResponse:
description: An object following one of the schemas published in https://developers.telnyx.com/docs/api/v2/detail-records
properties:
data:
description: Collection of product description
items:
$ref: '#/components/schemas/UsageReportsOptionsRecord'
type: array
type: object
UsageReportsResponse:
properties:
data:
example:
- cost: 0.012
count: 8
country_iso: LC
customer_carrier_fee: 0
direction: outbound
parts: 12
product: messaging
product_name: long_code
- cost: 0.021
count: 12
country_iso: MP
customer_carrier_fee: 0
direction: outbound
parts: 21
product: messaging
product_name: long_code
items:
additionalProperties: true
type: object
type: array
meta:
$ref: '#/components/schemas/PaginationData'
type: object
MetaResponse:
properties:
url:
description: This should likely be a URL to the relevant documentation
example: https://developers.telnyx.com/docs/overview/errors/10001
type: string
type: object
usage-reports_RecordType:
description: An object following one of the schemas published in https://developers.telnyx.com/docs/api/v2/detail-records
properties:
product_dimensions:
description: Telnyx Product Dimensions
example:
- direction
- currency
- message_type
items:
type: string
type: array
product_metrics:
description: Telnyx Product Metrics
example:
- cost
- billed_sec
items:
type: string
type: array
record_type:
description: Telnyx Product type
example: conversation_event
type: string
type: object
PaginationData:
properties:
page_number:
description: Selected page number.
example: 1
type: integer
page_size:
description: Records per single page
example: 20
type: integer
total_pages:
description: Total number of pages.
example: 5
type: integer
total_results:
description: Total number of results.
example: 100
type: integer
type: object
SourceResponse:
properties:
parameter:
description: a string indicating which URI query parameter caused the error
example: metrics
type: string
pointer:
description: A JSON Pointer [RFC6901] to the associated entity in the request document
example: /title
type: string
type: object
usage-reports_ErrorResponse:
properties:
errors:
items:
$ref: '#/components/schemas/ErrorRecord'
type: array
type: object
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