Telnyx CDR Usage Reports API

Voice usage reports

Operations 9

GET /legacy/reporting/usage_reports/voice List CDR usage reports #
POST /legacy/reporting/usage_reports/voice Create a new legacy usage V2 CDR report request #
DELETE /legacy/reporting/usage_reports/voice/{id} Delete a V2 legacy usage CDR report request #
GET /legacy/reporting/usage_reports/voice/{id} Get a CDR usage report #
GET /legacy_reporting/usage_reports/voice List CDR usage reports #
POST /legacy_reporting/usage_reports/voice Create a new legacy usage V2 CDR report request #
DELETE /legacy_reporting/usage_reports/voice/{id} Delete a V2 legacy usage CDR report request #
GET /legacy_reporting/usage_reports/voice/{id} Get a CDR usage report #
GET /reports/cdr_usage_reports/sync Generates and fetches CDR Usage Reports #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/telnyx:telnyx-cdr-usage-reports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

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 Specification

telnyx-cdr-usage-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Telnyx CDR Usage Reports API
  version: 2.0.0
  contact:
    email: support@telnyx.com
  x-endpoint-cost: light
  x-refined-note:
  - x-latency-category differs across the merged source definitions and was not carried
  description: 'Operations tagged CDR Usage Reports across 3 of this provider''s published API definitions: telnyx-openapi.json, telnyx-openapi.yml, telnyx-openapi_2.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.telnyx.com/v2
  description: Version 2.0.0 of the Telnyx API
security:
- bearerAuth: []
tags:
- name: CDR Usage Reports
  description: Voice usage reports
paths:
  /legacy/reporting/usage_reports/voice:
    get:
      tags:
      - CDR Usage Reports
      summary: List CDR usage reports
      description: Fetch all previous requests for cdr usage reports.
      operationId: getCdrUsageReports
      parameters:
      - name: page
        in: query
        description: Page number
        schema:
          minimum: 1
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Size of the page
        schema:
          maximum: 250
          minimum: 1
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standard_CdrGetUsageReportsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standard_ErrorResponse_ffba4faa88'
              example:
                errors:
                - code: '10015'
                  title: Bad Request
                  detail: The request failed because it was not well-formed.
      x-latency-category: responsive
    post:
      tags:
      - CDR Usage Reports
      summary: Create a new legacy usage V2 CDR report request
      description: Creates a new legacy usage V2 CDR report request with the specified filters
      operationId: submitCdrUsageReport
      requestBody:
        description: Cdr detail request data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UsageRequestLegacy'
        required: true
      responses:
        '200':
          description: V2 legacy CDR usage report request created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CdrPostUsageReportResponse'
        '400':
          description: Invalid request parameters
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Internal server error
      x-latency-category: responsive
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
  /legacy/reporting/usage_reports/voice/{id}:
    delete:
      tags:
      - CDR Usage Reports
      summary: Delete a V2 legacy usage CDR report request
      description: Deletes a specific V2 legacy usage CDR report request by ID
      operationId: deleteCdrUsageReport
      parameters:
      - name: id
        in: path
        description: Unique identifier of the resource.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: V2 legacy usage CDR report request deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CdrDeleteUsageReportResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Report not found
        '500':
          description: Internal server error
      x-latency-category: responsive
    get:
      tags:
      - CDR Usage Reports
      summary: Get a CDR usage report
      description: Returns a single CDR (Call Detail Record) usage report by its identifier, including its parameters and current status.
      operationId: getCdrUsageReport
      parameters:
      - name: id
        in: path
        description: Unique identifier of the resource.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CdrGetUsageReportByIdResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Report not found
        '500':
          description: Internal server error
      x-latency-category: responsive
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
  /legacy_reporting/usage_reports/voice:
    get:
      tags:
      - CDR Usage Reports
      summary: List CDR usage reports
      description: Fetch all previous requests for cdr usage reports.
      operationId: getCdrUsageReports_2
      parameters:
      - name: page
        in: query
        description: Page number
        schema:
          minimum: 1
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Size of the page
        schema:
          maximum: 250
          minimum: 1
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CdrGetUsageReportsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standard_ErrorResponse'
              example:
                errors:
                - code: '10015'
                  title: Bad Request
                  detail: The request failed because it was not well-formed.
      x-latency-category: responsive
    post:
      tags:
      - CDR Usage Reports
      summary: Create a new legacy usage V2 CDR report request
      description: Creates a new legacy usage V2 CDR report request with the specified filters
      operationId: submitCdrUsageReport_2
      requestBody:
        description: Cdr detail request data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UsageRequestLegacy'
        required: true
      responses:
        '200':
          description: V2 legacy CDR usage report request created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CdrPostUsageReportResponse'
        '400':
          description: Invalid request parameters
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Internal server error
      x-latency-category: responsive
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
  /legacy_reporting/usage_reports/voice/{id}:
    delete:
      tags:
      - CDR Usage Reports
      summary: Delete a V2 legacy usage CDR report request
      description: Deletes a specific V2 legacy usage CDR report request by ID
      operationId: deleteCdrUsageReport_2
      parameters:
      - name: id
        in: path
        description: Unique identifier of the resource.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: V2 legacy usage CDR report request deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CdrDeleteUsageReportResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Report not found
        '500':
          description: Internal server error
      x-latency-category: responsive
    get:
      tags:
      - CDR Usage Reports
      summary: Get a CDR usage report
      description: Returns a single CDR (Call Detail Record) usage report by its identifier, including its parameters and current status.
      operationId: getCdrUsageReport_2
      parameters:
      - name: id
        in: path
        description: Unique identifier of the resource.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CdrGetUsageReportByIdResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Report not found
        '500':
          description: Internal server error
      x-latency-category: responsive
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
  /reports/cdr_usage_reports/sync:
    get:
      tags:
      - CDR Usage Reports
      description: Generate and fetch voice usage report synchronously. This endpoint will both generate and fetch the voice report over a specified time period. No polling is necessary but the response may take up to a couple of minutes.
      summary: Generates and fetches CDR Usage Reports
      operationId: GetCDRUsageReportSync
      parameters:
      - name: start_date
        in: query
        description: Start of the date range filter (inclusive, ISO 8601).
        schema:
          type: string
          format: date-time
          example: '2020-07-01T00:00:00-06:00'
      - name: end_date
        in: query
        description: End of the date range filter (inclusive, ISO 8601).
        schema:
          type: string
          format: date-time
          example: '2020-07-01T00:00:00-06:00'
      - name: aggregation_type
        in: query
        description: Type of aggregation to apply to the results.
        required: true
        schema:
          type: string
          example: NO_AGGREGATION
          enum:
          - NO_AGGREGATION
          - CONNECTION
          - TAG
          - BILLING_GROUP
      - name: product_breakdown
        in: query
        description: Filter results by product breakdown.
        required: true
        schema:
          type: string
          example: NO_BREAKDOWN
          enum:
          - NO_BREAKDOWN
          - DID_VS_TOLL_FREE
          - COUNTRY
          - DID_VS_TOLL_FREE_PER_COUNTRY
      - name: connections
        in: query
        description: Filter results by connection.
        schema:
          type: array
          example:
          - 1234567890123
          items:
            type: number
            example: 1234567890123
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CdrGetSyncUsageReportResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/reporting_ErrorResponse_77109e5d17'
      x-latency-category: background
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
components:
  schemas:
    reporting_Error_77109e5d17:
      type: object
      properties:
        code:
          type: string
          example: '10011'
        title:
          type: string
          example: Bad Request
        detail:
          type: string
          example: Invalid parameter value
    standard_PaginationMeta_ffba4faa88:
      type: object
      properties:
        total_pages:
          type: integer
          format: int32
          example: 3
        total_results:
          type: integer
          format: int32
          example: 55
        page_number:
          type: integer
          format: int32
          example: 2
        page_size:
          type: integer
          format: int32
          example: 25
    CdrGetUsageReportByIdResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CdrUsageReportResponseLegacy'
    standard_ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/standard_Error'
          title: Errors
      title: ErrorResponse
    standard_CdrGetUsageReportsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CdrUsageReportResponseLegacy'
        meta:
          $ref: '#/components/schemas/standard_PaginationMeta_ffba4faa88'
    standard_Error:
      type: object
      properties:
        code:
          type: string
          title: Telnyx error code
        detail:
          type: string
          title: Error details
        title:
          type: string
          title: Error title
      required:
      - detail
      title: Error
    CdrUsageReportResponse:
      type: object
      properties:
        id:
          type: string
          description: Identifies the resource
          format: uuid
        start_time:
          type: string
          format: date-time
          example: '2018-02-02T22:25:27.521Z'
        end_time:
          type: string
          format: date-time
          example: '2018-02-02T22:25:27.521Z'
        connections:
          type: array
          example:
          - 1234567890
          - 9876543210
          items:
            type: integer
            format: int64
        aggregation_type:
          type: string
          enum:
          - NO_AGGREGATION
          - CONNECTION
          - TAG
          - BILLING_GROUP
        status:
          type: string
          enum:
          - PENDING
          - COMPLETE
          - FAILED
          - EXPIRED
        report_url:
          type: string
          example: http://portal.telnyx.com/downloads/report_name_8hvb45Gu.csv
        result:
          type: object
          additionalProperties: true
        created_at:
          type: string
          format: date-time
          example: '2018-02-02T22:25:27.521Z'
        updated_at:
          type: string
          format: date-time
          example: '2018-02-02T22:25:27.521Z'
        record_type:
          type: string
          example: cdr_usage_report
        product_breakdown:
          type: string
          enum:
          - NO_BREAKDOWN
          - DID_VS_TOLL_FREE
          - COUNTRY
          - DID_VS_TOLL_FREE_PER_COUNTRY
    reporting_ErrorResponse_77109e5d17:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/reporting_Error_77109e5d17'
    standard_Error_ffba4faa88:
      type: object
      properties:
        code:
          type: string
          title: Telnyx error code
        detail:
          type: string
          title: Error details
        title:
          type: string
          title: Error title
      required:
      - detail
      title: Error
    CdrGetSyncUsageReportResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CdrUsageReportResponse'
    CdrGetUsageReportsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CdrUsageReportResponseLegacy'
        meta:
          $ref: '#/components/schemas/standard_PaginationMeta'
    CdrPostUsageReportResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CdrUsageReportResponseLegacy'
    UsageRequestLegacy:
      required:
      - end_time
      - start_time
      type: object
      properties:
        start_time:
          type: string
          description: Start time in ISO format
          format: date-time
          example: '2024-02-01T00:00:00Z'
        end_time:
          type: string
          description: End time in ISO format
          format: date-time
          example: '2024-02-01T00:00:00Z'
        aggregation_type:
          type: integer
          description: 'Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3'
          format: int32
          example: 0
        connections:
          type: array
          description: List of connections to filter by
          example:
          - 123
          - 456
          items:
            type: integer
            description: List of connections to filter by
            format: int64
        product_breakdown:
          type: integer
          description: 'Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID vs Toll-free per Country = 3'
          format: int32
          example: 0
        managed_accounts:
          type: array
          description: List of managed accounts to include
          items:
            type: string
            format: uuid
          example:
          - f47ac10b-58cc-4372-a567-0e02b2c3d479
          - 6ba7b810-9dad-11d1-80b4-00c04fd430c8
        select_all_managed_accounts:
          type: boolean
          description: Whether to select all managed accounts
          example: false
      description: Request object for CDR usage report
    CdrDeleteUsageReportResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CdrUsageReportResponseLegacy'
    standard_PaginationMeta:
      type: object
      properties:
        total_pages:
          type: integer
          format: int32
          example: 3
        total_results:
          type: integer
          format: int32
          example: 55
        page_number:
          type: integer
          format: int32
          example: 2
        page_size:
          type: integer
          format: int32
          example: 25
    standard_ErrorResponse_ffba4faa88:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/standard_Error_ffba4faa88'
          title: Errors
      title: ErrorResponse
    CdrUsageReportResponseLegacy:
      type: object
      properties:
        id:
          type: string
          description: Identifies the resource
          format: uuid
        start_time:
          type: string
          format: date-time
          example: '2018-02-02T22:25:27.521Z'
        end_time:
          type: string
          format: date-time
          example: '2018-02-02T22:25:27.521Z'
        connections:
          uniqueItems: true
          type: array
          example:
          - '1234567890'
          - '9876543210'
          items:
            type: string
        aggregation_type:
          type: integer
          description: 'Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3'
          format: int32
        status:
          type: integer
          description: 'Status of the report: Pending = 1, Complete = 2, Failed = 3, Expired = 4'
          format: int32
        report_url:
          type: string
          example: http://portal.telnyx.com/downloads/report_name_8hvb45Gu.csv
        result:
          type: object
        created_at:
          type: string
          format: date-time
          example: '2018-02-02T22:25:27.521Z'
        updated_at:
          type: string
          format: date-time
          example: '2018-02-02T22:25:27.521Z'
        record_type:
          type: string
          example: cdr_usage_report
        product_breakdown:
          type: integer
          description: 'Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID vs Toll-free per Country = 3'
          format: int32
      description: Legacy V2 CDR usage report response
    reporting_ErrorResponse:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/reporting_Error'
          type: array
      type: object
    reporting_Error:
      properties:
        code:
          example: '10011'
          type: string
        detail:
          example: Invalid parameter value
          type: string
        title:
          example: Bad Request
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: 'Telnyx API key supplied as `Authorization: Bearer <token>`. In production, auth may be validated by the API gateway and forwarded via Telnyx auth headers.'
    Payment:
      type: apiKey
      in: header
      name: Authorization
      description: 'Machine Payment Protocol credential used on paid retries, sent as `Authorization: Payment ...`. Obtained by paying a challenge returned in the `WWW-Authenticate` header of a 402 response. This is not a Telnyx API key; initial challenge requests use standard bearer authentication instead.'
    agent-memory_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key
    bearerAuth:
      type: http
      scheme: bearer
    branded-calling_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys.
    collections_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key. Collections and results are automatically scoped to the authenticated user's organization.
    number-reputation_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys.
    oauthClientAuth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.telnyx.com/v2/oauth/token
          scopes:
            admin: Administrative access to Telnyx resources
        authorizationCode:
          authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
          tokenUrl: https://api.telnyx.com/v2/oauth/token
          refreshUrl: https://api.telnyx.com/v2/oauth/token
          scopes:
            admin: Administrative access to Telnyx resources
      description: OAuth 2.0 authentication for Telnyx API and MCP integrations
    outbound-voice-profiles_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    pronunciation-dicts_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
    rcs-registration_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
    stored-payment-transactions_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    transcriptions-search_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key. Results are automatically scoped to the authenticated user's organization.
    web-search_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key
    pay-connectors_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key, not the processor bearer token.
    telnyxApiKey:
      type: http
      scheme: bearer
      description: Management-only Telnyx account credential.
x-refined-from:
- telnyx-openapi.json
- telnyx-openapi.yml
- telnyx-openapi_2.json
x-service-info:
  categories:
  - communication
  - developer-tools
  docs:
    apiReference: https://developers.telnyx.com
    homepage: https://telnyx.com
    llms: https://telnyx.com/llms.txt