Red Hat 3scale · Capability

Red Hat 3scale Billing API — Invoices

Red Hat 3scale Billing API — Invoices. 3 operations. Lead operation: List Account Invoices. Self-contained Naftiko capability covering one Red Hat 3scale business surface.

Run with Naftiko Red Hat 3scaleInvoices

What You Can Do

GET
Listaccountinvoices — List Account Invoices
/v1/accounts/{account-id}/invoices-json
GET
Getaccountinvoice — Get Account Invoice
/v1/accounts/{account-id}/invoices/id-json
GET
Listallinvoices — List All Invoices
/v1/invoices-json

MCP Tools

list-account-invoices

List Account Invoices

read-only idempotent
get-account-invoice

Get Account Invoice

read-only idempotent
list-all-invoices

List All Invoices

read-only idempotent

Capability Spec

billing-invoices.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Red Hat 3scale Billing API — Invoices
  description: 'Red Hat 3scale Billing API — Invoices. 3 operations. Lead operation: List Account Invoices. Self-contained
    Naftiko capability covering one Red Hat 3scale business surface.'
  tags:
  - Red Hat 3scale
  - Invoices
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    RED_HAT_3SCALE_API_KEY: RED_HAT_3SCALE_API_KEY
capability:
  consumes:
  - type: http
    namespace: billing-invoices
    baseUri: https://{domain}-admin.3scale.net/api
    description: Red Hat 3scale Billing API — Invoices business capability. Self-contained, no shared references.
    resources:
    - name: accounts-account_id-invoices.json
      path: /accounts/{account_id}/invoices.json
      operations:
      - name: listaccountinvoices
        method: GET
        description: List Account Invoices
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: account_id
          in: path
          type: integer
          description: The ID of the developer account
          required: true
        - name: state
          in: query
          type: string
          description: Filter by invoice state
        - name: month
          in: query
          type: string
          description: Filter by billing month (YYYY-MM format)
    - name: accounts-account_id-invoices-id}.json
      path: /accounts/{account_id}/invoices/{id}.json
      operations:
      - name: getaccountinvoice
        method: GET
        description: Get Account Invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: account_id
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          description: The invoice ID
          required: true
    - name: invoices.json
      path: /invoices.json
      operations:
      - name: listallinvoices
        method: GET
        description: List All Invoices
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: state
          in: query
          type: string
          description: Filter by invoice state
        - name: month
          in: query
          type: string
          description: Filter by billing month (YYYY-MM)
        - name: page
          in: query
          type: integer
        - name: per_page
          in: query
          type: integer
    authentication:
      type: apikey
      key: access_token
      value: '{{env.RED_HAT_3SCALE_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: billing-invoices-rest
    port: 8080
    description: REST adapter for Red Hat 3scale Billing API — Invoices. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/accounts/{account-id}/invoices-json
      name: accounts-account-id-invoices-json
      description: REST surface for accounts-account_id-invoices.json.
      operations:
      - method: GET
        name: listaccountinvoices
        description: List Account Invoices
        call: billing-invoices.listaccountinvoices
        with:
          account_id: rest.account_id
          state: rest.state
          month: rest.month
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/accounts/{account-id}/invoices/id-json
      name: accounts-account-id-invoices-id-json
      description: REST surface for accounts-account_id-invoices-id}.json.
      operations:
      - method: GET
        name: getaccountinvoice
        description: Get Account Invoice
        call: billing-invoices.getaccountinvoice
        with:
          account_id: rest.account_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/invoices-json
      name: invoices-json
      description: REST surface for invoices.json.
      operations:
      - method: GET
        name: listallinvoices
        description: List All Invoices
        call: billing-invoices.listallinvoices
        with:
          state: rest.state
          month: rest.month
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: billing-invoices-mcp
    port: 9090
    transport: http
    description: MCP adapter for Red Hat 3scale Billing API — Invoices. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-account-invoices
      description: List Account Invoices
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: billing-invoices.listaccountinvoices
      with:
        account_id: tools.account_id
        state: tools.state
        month: tools.month
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account-invoice
      description: Get Account Invoice
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: billing-invoices.getaccountinvoice
      with:
        account_id: tools.account_id
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-invoices
      description: List All Invoices
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: billing-invoices.listallinvoices
      with:
        state: tools.state
        month: tools.month
        page: tools.page
        per_page: tools.per_page
      outputParameters:
      - type: object
        mapping: $.