Telnyx · Capability

Telnyx API

Telnyx API. 4 operations. Lead operation: Get monthly charges breakdown. Self-contained Naftiko capability covering one Telnyx business surface.

Run with Naftiko Telnyx

What You Can Do

GET
Getmonthlychargesbreakdown — Get monthly charges breakdown
/v1/charges-breakdown
GET
Getmonthlychargessummary — Get monthly charges summary
/v1/charges-summary
GET
Listinvoices — List invoices
/v1/invoices
GET
Getinvoicebyid — Get invoice by ID
/v1/invoices/{id}

MCP Tools

get-monthly-charges-breakdown

Get monthly charges breakdown

read-only idempotent
get-monthly-charges-summary

Get monthly charges summary

read-only idempotent
list-invoices

List invoices

read-only idempotent
get-invoice-id

Get invoice by ID

read-only idempotent

Capability Spec

telnyx-general.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Telnyx API
  description: 'Telnyx API. 4 operations. Lead operation: Get monthly charges breakdown. Self-contained Naftiko capability
    covering one Telnyx business surface.'
  tags:
  - Telnyx
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TELNYX_API_KEY: TELNYX_API_KEY
capability:
  consumes:
  - type: http
    namespace: telnyx-general
    baseUri: https://api.telnyx.com/v2
    description: Telnyx API business capability. Self-contained, no shared references.
    resources:
    - name: charges_breakdown
      path: /charges_breakdown
      operations:
      - name: getmonthlychargesbreakdown
        method: GET
        description: Get monthly charges breakdown
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: start_date
          in: query
          type: string
          description: Start date for the charges breakdown in ISO date format (YYYY-MM-DD)
          required: true
        - name: end_date
          in: query
          type: string
          description: End date for the charges breakdown in ISO date format (YYYY-MM-DD). If not provided, defaults to start_date
            + 1 month. The date is exclusive, data for the end_d
        - name: format
          in: query
          type: string
          description: Response format
    - name: charges_summary
      path: /charges_summary
      operations:
      - name: getmonthlychargessummary
        method: GET
        description: Get monthly charges summary
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: start_date
          in: query
          type: string
          description: Start date for the charges summary in ISO date format (YYYY-MM-DD)
          required: true
        - name: end_date
          in: query
          type: string
          description: End date for the charges summary in ISO date format (YYYY-MM-DD). The date is exclusive, data for the
            end_date itself is not included in the report. The interva
          required: true
    - name: invoices
      path: /invoices
      operations:
      - name: listinvoices
        method: GET
        description: List invoices
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sort
          in: query
          type: string
          description: Specifies the sort order for results.
        - name: page
          in: query
          type: object
          description: 'Consolidated page parameter (deepObject style). Originally: page[number], page[size]'
    - name: invoices-id
      path: /invoices/{id}
      operations:
      - name: getinvoicebyid
        method: GET
        description: Get invoice by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Invoice UUID
          required: true
        - name: action
          in: query
          type: string
          description: Invoice action
    authentication:
      type: bearer
      token: '{{env.TELNYX_API_KEY}}'
  exposes:
  - type: rest
    namespace: telnyx-general-rest
    port: 8080
    description: REST adapter for Telnyx API. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/charges-breakdown
      name: charges-breakdown
      description: REST surface for charges_breakdown.
      operations:
      - method: GET
        name: getmonthlychargesbreakdown
        description: Get monthly charges breakdown
        call: telnyx-general.getmonthlychargesbreakdown
        with:
          start_date: rest.start_date
          end_date: rest.end_date
          format: rest.format
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/charges-summary
      name: charges-summary
      description: REST surface for charges_summary.
      operations:
      - method: GET
        name: getmonthlychargessummary
        description: Get monthly charges summary
        call: telnyx-general.getmonthlychargessummary
        with:
          start_date: rest.start_date
          end_date: rest.end_date
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/invoices
      name: invoices
      description: REST surface for invoices.
      operations:
      - method: GET
        name: listinvoices
        description: List invoices
        call: telnyx-general.listinvoices
        with:
          sort: rest.sort
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/invoices/{id}
      name: invoices-id
      description: REST surface for invoices-id.
      operations:
      - method: GET
        name: getinvoicebyid
        description: Get invoice by ID
        call: telnyx-general.getinvoicebyid
        with:
          id: rest.id
          action: rest.action
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: telnyx-general-mcp
    port: 9090
    transport: http
    description: MCP adapter for Telnyx API. One tool per consumed operation, routed inline through this capability's consumes
      block.
    tools:
    - name: get-monthly-charges-breakdown
      description: Get monthly charges breakdown
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-general.getmonthlychargesbreakdown
      with:
        start_date: tools.start_date
        end_date: tools.end_date
        format: tools.format
      outputParameters:
      - type: object
        mapping: $.
    - name: get-monthly-charges-summary
      description: Get monthly charges summary
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-general.getmonthlychargessummary
      with:
        start_date: tools.start_date
        end_date: tools.end_date
      outputParameters:
      - type: object
        mapping: $.
    - name: list-invoices
      description: List invoices
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-general.listinvoices
      with:
        sort: tools.sort
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: get-invoice-id
      description: Get invoice by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-general.getinvoicebyid
      with:
        id: tools.id
        action: tools.action
      outputParameters:
      - type: object
        mapping: $.