Telnyx · Capability

Telnyx API — MDR Usage Reports

Telnyx API — MDR Usage Reports. 9 operations. Lead operation: List MDR usage reports. Self-contained Naftiko capability covering one Telnyx business surface.

Run with Naftiko TelnyxMDR Usage Reports

What You Can Do

GET
Getmdrusagereports — List MDR usage reports
/v1/legacy/reporting/usage-reports/messaging
POST
Submitmdrusagereport — Create a new legacy usage V2 MDR report request
/v1/legacy/reporting/usage-reports/messaging
DELETE
Deletemdrusagereport — Delete a V2 legacy usage MDR report request
/v1/legacy/reporting/usage-reports/messaging/{id}
GET
Getmdrusagereport — Get an MDR usage report
/v1/legacy/reporting/usage-reports/messaging/{id}
GET
Getmdrusagereports — Fetch all Messaging usage reports
/v1/reports/mdr-usage-reports
POST
Submitusagereport — Create MDR Usage Report
/v1/reports/mdr-usage-reports
GET
Getmdrusagereportsync — Generate and fetch MDR Usage Report
/v1/reports/mdr-usage-reports/sync
DELETE
Deleteusagereport — Delete MDR Usage Report
/v1/reports/mdr-usage-reports/{id}
GET
Getusagereport — Retrieve messaging report
/v1/reports/mdr-usage-reports/{id}

MCP Tools

list-mdr-usage-reports

List MDR usage reports

read-only idempotent
create-new-legacy-usage-v2

Create a new legacy usage V2 MDR report request

delete-v2-legacy-usage-mdr

Delete a V2 legacy usage MDR report request

idempotent
get-mdr-usage-report

Get an MDR usage report

read-only idempotent
fetch-all-messaging-usage-reports

Fetch all Messaging usage reports

read-only idempotent
create-mdr-usage-report

Create MDR Usage Report

generate-and-fetch-mdr-usage

Generate and fetch MDR Usage Report

read-only idempotent
delete-mdr-usage-report

Delete MDR Usage Report

idempotent
retrieve-messaging-report

Retrieve messaging report

read-only idempotent

Capability Spec

telnyx-mdr-usage-reports.yaml Raw ↑
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: $.