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: $.