naftiko: 1.0.0-alpha2 info: label: Telnyx API — MDR Usage Reports description: 'Telnyx API — MDR Usage Reports. 9 operations. Lead operation: List MDR usage reports. Self-contained Naftiko capability covering one Telnyx business surface.' tags: - Telnyx - MDR 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-mdr-usage-reports baseUri: https://api.telnyx.com/v2 description: Telnyx API — MDR Usage Reports business capability. Self-contained, no shared references. resources: - name: legacy-reporting-usage_reports-messaging path: /legacy/reporting/usage_reports/messaging operations: - name: getmdrusagereports method: GET description: List MDR 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: submitmdrusagereport method: POST description: Create a new legacy usage V2 MDR 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-messaging-id path: /legacy/reporting/usage_reports/messaging/{id} operations: - name: deletemdrusagereport method: DELETE description: Delete a V2 legacy usage MDR report request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: getmdrusagereport method: GET description: Get an MDR usage report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: reports-mdr_usage_reports path: /reports/mdr_usage_reports operations: - name: getmdrusagereports method: GET description: Fetch all Messaging usage reports outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: object description: 'Consolidated page parameter (deepObject style). Originally: page[number], page[size]' - name: submitusagereport method: POST description: Create MDR Usage Report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: reports-mdr_usage_reports-sync path: /reports/mdr_usage_reports/sync operations: - name: getmdrusagereportsync method: GET description: Generate and fetch MDR Usage Report 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: profiles in: query type: array - name: reports-mdr_usage_reports-id path: /reports/mdr_usage_reports/{id} operations: - name: deleteusagereport method: DELETE description: Delete MDR Usage Report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: getusagereport method: GET description: Retrieve messaging report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true authentication: type: bearer token: '{{env.TELNYX_API_KEY}}' exposes: - type: rest namespace: telnyx-mdr-usage-reports-rest port: 8080 description: REST adapter for Telnyx API — MDR Usage Reports. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/legacy/reporting/usage-reports/messaging name: legacy-reporting-usage-reports-messaging description: REST surface for legacy-reporting-usage_reports-messaging. operations: - method: GET name: getmdrusagereports description: List MDR usage reports call: telnyx-mdr-usage-reports.getmdrusagereports with: page: rest.page per_page: rest.per_page outputParameters: - type: object mapping: $. - method: POST name: submitmdrusagereport description: Create a new legacy usage V2 MDR report request call: telnyx-mdr-usage-reports.submitmdrusagereport with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/legacy/reporting/usage-reports/messaging/{id} name: legacy-reporting-usage-reports-messaging-id description: REST surface for legacy-reporting-usage_reports-messaging-id. operations: - method: DELETE name: deletemdrusagereport description: Delete a V2 legacy usage MDR report request call: telnyx-mdr-usage-reports.deletemdrusagereport with: id: rest.id outputParameters: - type: object mapping: $. - method: GET name: getmdrusagereport description: Get an MDR usage report call: telnyx-mdr-usage-reports.getmdrusagereport with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/reports/mdr-usage-reports name: reports-mdr-usage-reports description: REST surface for reports-mdr_usage_reports. operations: - method: GET name: getmdrusagereports description: Fetch all Messaging usage reports call: telnyx-mdr-usage-reports.getmdrusagereports with: page: rest.page outputParameters: - type: object mapping: $. - method: POST name: submitusagereport description: Create MDR Usage Report call: telnyx-mdr-usage-reports.submitusagereport with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/reports/mdr-usage-reports/sync name: reports-mdr-usage-reports-sync description: REST surface for reports-mdr_usage_reports-sync. operations: - method: GET name: getmdrusagereportsync description: Generate and fetch MDR Usage Report call: telnyx-mdr-usage-reports.getmdrusagereportsync with: start_date: rest.start_date end_date: rest.end_date aggregation_type: rest.aggregation_type profiles: rest.profiles outputParameters: - type: object mapping: $. - path: /v1/reports/mdr-usage-reports/{id} name: reports-mdr-usage-reports-id description: REST surface for reports-mdr_usage_reports-id. operations: - method: DELETE name: deleteusagereport description: Delete MDR Usage Report call: telnyx-mdr-usage-reports.deleteusagereport with: id: rest.id outputParameters: - type: object mapping: $. - method: GET name: getusagereport description: Retrieve messaging report call: telnyx-mdr-usage-reports.getusagereport with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: telnyx-mdr-usage-reports-mcp port: 9090 transport: http description: MCP adapter for Telnyx API — MDR Usage Reports. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-mdr-usage-reports description: List MDR usage reports hints: readOnly: true destructive: false idempotent: true call: telnyx-mdr-usage-reports.getmdrusagereports 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 MDR report request hints: readOnly: false destructive: false idempotent: false call: telnyx-mdr-usage-reports.submitmdrusagereport with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-v2-legacy-usage-mdr description: Delete a V2 legacy usage MDR report request hints: readOnly: false destructive: true idempotent: true call: telnyx-mdr-usage-reports.deletemdrusagereport with: id: tools.id outputParameters: - type: object mapping: $. - name: get-mdr-usage-report description: Get an MDR usage report hints: readOnly: true destructive: false idempotent: true call: telnyx-mdr-usage-reports.getmdrusagereport with: id: tools.id outputParameters: - type: object mapping: $. - name: fetch-all-messaging-usage-reports description: Fetch all Messaging usage reports hints: readOnly: true destructive: false idempotent: true call: telnyx-mdr-usage-reports.getmdrusagereports with: page: tools.page outputParameters: - type: object mapping: $. - name: create-mdr-usage-report description: Create MDR Usage Report hints: readOnly: false destructive: false idempotent: false call: telnyx-mdr-usage-reports.submitusagereport with: body: tools.body outputParameters: - type: object mapping: $. - name: generate-and-fetch-mdr-usage description: Generate and fetch MDR Usage Report hints: readOnly: true destructive: false idempotent: true call: telnyx-mdr-usage-reports.getmdrusagereportsync with: start_date: tools.start_date end_date: tools.end_date aggregation_type: tools.aggregation_type profiles: tools.profiles outputParameters: - type: object mapping: $. - name: delete-mdr-usage-report description: Delete MDR Usage Report hints: readOnly: false destructive: true idempotent: true call: telnyx-mdr-usage-reports.deleteusagereport with: id: tools.id outputParameters: - type: object mapping: $. - name: retrieve-messaging-report description: Retrieve messaging report hints: readOnly: true destructive: false idempotent: true call: telnyx-mdr-usage-reports.getusagereport with: id: tools.id outputParameters: - type: object mapping: $.