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 CDR Reports 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: Voice batch detail records name: CDR Reports paths: /legacy/reporting/batch_detail_records/voice: get: description: Retrieves all CDR report requests for the authenticated user operationId: getCdrRequests parameters: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CdrGetDetailReportResponse' description: CDR report requests retrieved successfully '401': description: Unauthorized '403': description: Forbidden '500': description: Internal server error security: - bearerAuth: [] summary: Get all CDR report requests tags: - CDR Reports x-latency-category: responsive post: description: Creates a new CDR report request with the specified filters operationId: submitCdrRequest parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CdrDetailedRequest' description: CDR detailed report request data required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CdrPostDetailReportResponse' description: CDR report request created successfully '400': description: Invalid request parameters '401': description: Unauthorized '403': description: Forbidden '500': description: Internal server error security: - bearerAuth: [] summary: Create a new CDR report request tags: - CDR Reports x-latency-category: responsive /legacy/reporting/batch_detail_records/voice/fields: get: description: Retrieves all available fields that can be used in CDR reports operationId: getCdrsAvailableFields responses: '200': content: application/json: schema: $ref: '#/components/schemas/CdrAvailableFieldsResponse' description: Available fields retrieved successfully '401': description: Unauthorized '403': description: Forbidden '500': description: Internal server error security: - bearerAuth: [] summary: Get available CDR report fields tags: - CDR Reports x-latency-category: responsive /legacy/reporting/batch_detail_records/voice/{id}: delete: description: Deletes a specific CDR report request by ID operationId: deleteCdrRequest parameters: - in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CdrDeleteDetailReportResponse' description: CDR report request deleted successfully '401': description: Unauthorized '403': description: Forbidden '404': description: Report not found '500': description: Internal server error security: - bearerAuth: [] summary: Delete a CDR report request tags: - CDR Reports x-latency-category: responsive get: description: Retrieves a specific CDR report request by ID operationId: getCdrRequest parameters: - in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CdrGetDetailReportByIdResponse' description: CDR report request retrieved successfully '401': description: Unauthorized '403': description: Forbidden '404': description: Report not found '500': description: Internal server error security: - bearerAuth: [] summary: Get a specific CDR report request tags: - CDR Reports x-latency-category: responsive components: schemas: CdrDetailedRequest: description: Request object for CDR detailed report properties: call_types: description: List of call types to filter by (Inbound = 1, Outbound = 2) example: - 1 - 2 items: format: int32 type: integer type: array connections: description: List of connections to filter by example: - 123 - 456 items: format: int64 type: integer type: array end_time: description: End time in ISO format example: '2024-02-12T23:59:59Z' format: date-time type: string fields: description: Set of fields to include in the report example: - call_leg_id - start_time - end_time items: type: string type: array filters: description: List of filters to apply items: $ref: '#/components/schemas/Filter' type: array include_all_metadata: description: Whether to include all metadata example: true type: boolean managed_accounts: description: List of managed accounts to include example: - f47ac10b-58cc-4372-a567-0e02b2c3d479 - 6ba7b810-9dad-11d1-80b4-00c04fd430c8 items: format: uuid type: string type: array record_types: description: List of record types to filter by (Complete = 1, Incomplete = 2, Errors = 3) example: - 1 - 2 items: format: int32 type: integer type: array report_name: description: Name of the report example: My CDR Report type: string select_all_managed_accounts: description: Whether to select all managed accounts example: false type: boolean source: description: 'Source of the report. Valid values: calls (default), call-control, fax-api, webrtc' example: calls type: string start_time: description: Start time in ISO format example: '2024-02-01T00:00:00Z' format: date-time type: string timezone: description: Timezone for the report example: UTC type: string required: - start_time - end_time type: object CdrGetDetailReportByIdResponse: properties: data: $ref: '#/components/schemas/CdrDetailedReqResponse' type: object CdrDeleteDetailReportResponse: properties: data: $ref: '#/components/schemas/CdrDetailedReqResponse' type: object CdrGetDetailReportResponse: properties: data: items: $ref: '#/components/schemas/CdrDetailedReqResponse' type: array meta: $ref: '#/components/schemas/batch-csv_PaginationMeta' type: object Filter: description: 'Query filter criteria. Note: The first filter object must specify filter_type as ''and''. You cannot follow an ''or'' with another ''and''.' properties: billing_group: description: Billing group UUID to filter by example: adfaa016-f921-4b6c-97bb-e4c1dad231c5 type: string cld: description: Called line identification (destination number) example: '+13129457420' type: string cld_filter: description: Filter type for CLD matching enum: - contains - starts_with - ends_with type: string cli: description: Calling line identification (caller ID) example: '+13129457420' type: string cli_filter: description: Filter type for CLI matching enum: - contains - starts_with - ends_with type: string filter_type: description: Logical operator for combining filters enum: - and - or type: string tags_list: description: Tag name to filter by example: tag1 type: string type: object batch-csv_PaginationMeta: properties: page_number: example: 2 format: int32 type: integer page_size: example: 25 format: int32 type: integer total_pages: example: 3 format: int32 type: integer total_results: example: 55 format: int32 type: integer type: object CdrAvailableFieldsResponse: description: Available CDR report fields grouped by category properties: Billing: description: Cost and billing related information example: - billable_time - cost - rate - billing_group_id items: type: string type: array Interaction Data: description: Fields related to call interaction and basic call information example: - origination_number - terminating_number - start_timestamp_utc - start_timestamp - answer_timestamp - end_timestamp - direction items: type: string type: array Number Information: description: Geographic and routing information for phone numbers example: - origination_city - origination_state - origination_lata - origination_country - terminating_city - terminating_state items: type: string type: array Telephony Data: description: Technical telephony and call control information example: - route - connection_id - hangup_code - pdd - tags - sip_call_id - mos items: type: string type: array type: object CdrPostDetailReportResponse: properties: data: $ref: '#/components/schemas/CdrDetailedReqResponse' type: object CdrDetailedReqResponse: description: Response object for CDR detailed report properties: call_types: description: List of call types (Inbound = 1, Outbound = 2) items: description: Call type value format: int32 type: integer type: array connections: description: List of connections example: - 123 - 456 items: description: List of connections format: int64 type: integer type: array created_at: description: Creation date of the report example: '2024-02-12T14:00:00Z' type: string end_time: description: End time in ISO format example: '2024-02-12T23:59:59Z' type: string filters: description: List of filters items: $ref: '#/components/schemas/Filter' type: array id: description: Unique identifier for the report example: 123e4567-e89b-12d3-a456-426614174000 type: string managed_accounts: description: List of managed accounts example: - f47ac10b-58cc-4372-a567-0e02b2c3d479 - 6ba7b810-9dad-11d1-80b4-00c04fd430c8 items: format: uuid type: string type: array record_type: example: cdr_detailed_report type: string record_types: description: List of record types (Complete = 1, Incomplete = 2, Errors = 3) example: - 1 - 2 items: description: Record type value format: int32 type: integer type: array report_name: description: Name of the report example: My Report type: string report_url: description: URL to download the report type: string retry: description: Number of retries format: int32 type: integer source: description: 'Source of the report. Valid values: calls (default), call-control, fax-api, webrtc' type: string start_time: description: Start time in ISO format example: '2024-02-01T00:00:00Z' type: string status: description: Status of the report (Pending = 1, Complete = 2, Failed = 3, Expired = 4) example: 1 format: int32 type: integer timezone: description: Timezone for the report type: string updated_at: description: Last update date of the report example: '2024-02-12T14:05:00Z' type: string 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