naftiko: 1.0.0-alpha2 info: label: Waste Management Customer API — Invoices description: 'Waste Management Customer API — Invoices. 2 operations. Lead operation: List Invoices. Self-contained Naftiko capability covering one Waste Management business surface.' tags: - Waste Management - Invoices created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WASTE_MANAGEMENT_API_KEY: WASTE_MANAGEMENT_API_KEY capability: consumes: - type: http namespace: customer-invoices baseUri: https://api.wm.com/v1 description: Waste Management Customer API — Invoices business capability. Self-contained, no shared references. resources: - name: customers-customerId-invoices path: /customers/{customerId}/invoices operations: - name: listinvoices method: GET description: List Invoices outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: startDate in: query type: string description: Filter invoices from this date. - name: endDate in: query type: string description: Filter invoices up to this date. - name: customers-customerId-invoices-invoiceId path: /customers/{customerId}/invoices/{invoiceId} operations: - name: getinvoicedetails method: GET description: Get Invoice Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: invoiceId in: path type: string description: The unique invoice identifier. required: true authentication: type: bearer token: '{{env.WASTE_MANAGEMENT_API_KEY}}' exposes: - type: rest namespace: customer-invoices-rest port: 8080 description: REST adapter for Waste Management Customer API — Invoices. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/customers/{customerid}/invoices name: customers-customerid-invoices description: REST surface for customers-customerId-invoices. operations: - method: GET name: listinvoices description: List Invoices call: customer-invoices.listinvoices with: startDate: rest.startDate endDate: rest.endDate outputParameters: - type: object mapping: $. - path: /v1/customers/{customerid}/invoices/{invoiceid} name: customers-customerid-invoices-invoiceid description: REST surface for customers-customerId-invoices-invoiceId. operations: - method: GET name: getinvoicedetails description: Get Invoice Details call: customer-invoices.getinvoicedetails with: invoiceId: rest.invoiceId outputParameters: - type: object mapping: $. - type: mcp namespace: customer-invoices-mcp port: 9090 transport: http description: MCP adapter for Waste Management Customer API — Invoices. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-invoices description: List Invoices hints: readOnly: true destructive: false idempotent: true call: customer-invoices.listinvoices with: startDate: tools.startDate endDate: tools.endDate outputParameters: - type: object mapping: $. - name: get-invoice-details description: Get Invoice Details hints: readOnly: true destructive: false idempotent: true call: customer-invoices.getinvoicedetails with: invoiceId: tools.invoiceId outputParameters: - type: object mapping: $.