naftiko: 1.0.0-alpha2 info: label: Telnyx API — CDR Usage Reports description: 'Telnyx API — CDR Usage Reports. 5 operations. Lead operation: List CDR usage reports. Self-contained Naftiko capability covering one Telnyx business surface.' tags: - Telnyx - CDR Usage Reports created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TELNYX_API_KEY: TELNYX_API_KEY capability: consumes: - type: http namespace: telnyx-cdr-usage-reports baseUri: https://api.telnyx.com/v2 description: Telnyx API — CDR Usage Reports business capability. Self-contained, no shared references. resources: - name: legacy-reporting-usage_reports-voice path: /legacy/reporting/usage_reports/voice operations: - name: getcdrusagereports method: GET description: List CDR usage reports outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: integer description: Page number - name: per_page in: query type: integer description: Size of the page - name: submitcdrusagereport method: POST description: Create a new legacy usage V2 CDR report request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: legacy-reporting-usage_reports-voice-id path: /legacy/reporting/usage_reports/voice/{id} operations: - name: deletecdrusagereport method: DELETE description: Delete a V2 legacy usage CDR report request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: getcdrusagereport method: GET description: Get a CDR usage report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: reports-cdr_usage_reports-sync path: /reports/cdr_usage_reports/sync operations: - name: getcdrusagereportsync method: GET description: Generates and fetches CDR Usage Reports outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_date in: query type: string - name: end_date in: query type: string - name: aggregation_type in: query type: string required: true - name: product_breakdown in: query type: string required: true - name: connections in: query type: array authentication: type: bearer token: '{{env.TELNYX_API_KEY}}' exposes: - type: rest namespace: telnyx-cdr-usage-reports-rest port: 8080 description: REST adapter for Telnyx API — CDR Usage Reports. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/legacy/reporting/usage-reports/voice name: legacy-reporting-usage-reports-voice description: REST surface for legacy-reporting-usage_reports-voice. operations: - method: GET name: getcdrusagereports description: List CDR usage reports call: telnyx-cdr-usage-reports.getcdrusagereports with: page: rest.page per_page: rest.per_page outputParameters: - type: object mapping: $. - method: POST name: submitcdrusagereport description: Create a new legacy usage V2 CDR report request call: telnyx-cdr-usage-reports.submitcdrusagereport with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/legacy/reporting/usage-reports/voice/{id} name: legacy-reporting-usage-reports-voice-id description: REST surface for legacy-reporting-usage_reports-voice-id. operations: - method: DELETE name: deletecdrusagereport description: Delete a V2 legacy usage CDR report request call: telnyx-cdr-usage-reports.deletecdrusagereport with: id: rest.id outputParameters: - type: object mapping: $. - method: GET name: getcdrusagereport description: Get a CDR usage report call: telnyx-cdr-usage-reports.getcdrusagereport with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/reports/cdr-usage-reports/sync name: reports-cdr-usage-reports-sync description: REST surface for reports-cdr_usage_reports-sync. operations: - method: GET name: getcdrusagereportsync description: Generates and fetches CDR Usage Reports call: telnyx-cdr-usage-reports.getcdrusagereportsync with: start_date: rest.start_date end_date: rest.end_date aggregation_type: rest.aggregation_type product_breakdown: rest.product_breakdown connections: rest.connections outputParameters: - type: object mapping: $. - type: mcp namespace: telnyx-cdr-usage-reports-mcp port: 9090 transport: http description: MCP adapter for Telnyx API — CDR Usage Reports. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-cdr-usage-reports description: List CDR usage reports hints: readOnly: true destructive: false idempotent: true call: telnyx-cdr-usage-reports.getcdrusagereports with: page: tools.page per_page: tools.per_page outputParameters: - type: object mapping: $. - name: create-new-legacy-usage-v2 description: Create a new legacy usage V2 CDR report request hints: readOnly: false destructive: false idempotent: false call: telnyx-cdr-usage-reports.submitcdrusagereport with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-v2-legacy-usage-cdr description: Delete a V2 legacy usage CDR report request hints: readOnly: false destructive: true idempotent: true call: telnyx-cdr-usage-reports.deletecdrusagereport with: id: tools.id outputParameters: - type: object mapping: $. - name: get-cdr-usage-report description: Get a CDR usage report hints: readOnly: true destructive: false idempotent: true call: telnyx-cdr-usage-reports.getcdrusagereport with: id: tools.id outputParameters: - type: object mapping: $. - name: generates-and-fetches-cdr-usage description: Generates and fetches CDR Usage Reports hints: readOnly: true destructive: false idempotent: true call: telnyx-cdr-usage-reports.getcdrusagereportsync with: start_date: tools.start_date end_date: tools.end_date aggregation_type: tools.aggregation_type product_breakdown: tools.product_breakdown connections: tools.connections outputParameters: - type: object mapping: $.