naftiko: 1.0.0-alpha2 info: label: Waste Management Customer API — Services description: 'Waste Management Customer API — Services. 7 operations. Lead operation: List Services. Self-contained Naftiko capability covering one Waste Management business surface.' tags: - Waste Management - Services 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-services baseUri: https://api.wm.com/v1 description: Waste Management Customer API — Services business capability. Self-contained, no shared references. resources: - name: customers-customerId-services path: /customers/{customerId}/services operations: - name: listservices method: GET description: List Services outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: line_of_business in: query type: string description: Filter services by line of business. - name: customers-customerId-services-materials path: /customers/{customerId}/services/materials operations: - name: listservicematerials method: GET description: List Service Materials outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customerId-services-next-pickup path: /customers/{customerId}/services/next-pickup operations: - name: getnextpickup method: GET description: Get Next Pickup outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customerId-services-operations path: /customers/{customerId}/services/operations operations: - name: listserviceoperations method: GET description: List Service Operations outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customerId-services-plan path: /customers/{customerId}/services/plan operations: - name: listplannedservices method: GET description: List Planned Services outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customerId-services-prices-invoice-fees path: /customers/{customerId}/services/prices/invoice-fees operations: - name: listserviceinvoicefees method: GET description: List Service Invoice Fees outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customerId-services-serviceId-eta path: /customers/{customerId}/services/{serviceId}/eta operations: - name: getserviceeta method: GET description: Get Service ETA outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: serviceId in: path type: string description: The unique service identifier. required: true authentication: type: bearer token: '{{env.WASTE_MANAGEMENT_API_KEY}}' exposes: - type: rest namespace: customer-services-rest port: 8080 description: REST adapter for Waste Management Customer API — Services. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/customers/{customerid}/services name: customers-customerid-services description: REST surface for customers-customerId-services. operations: - method: GET name: listservices description: List Services call: customer-services.listservices with: line_of_business: rest.line_of_business outputParameters: - type: object mapping: $. - path: /v1/customers/{customerid}/services/materials name: customers-customerid-services-materials description: REST surface for customers-customerId-services-materials. operations: - method: GET name: listservicematerials description: List Service Materials call: customer-services.listservicematerials outputParameters: - type: object mapping: $. - path: /v1/customers/{customerid}/services/next-pickup name: customers-customerid-services-next-pickup description: REST surface for customers-customerId-services-next-pickup. operations: - method: GET name: getnextpickup description: Get Next Pickup call: customer-services.getnextpickup outputParameters: - type: object mapping: $. - path: /v1/customers/{customerid}/services/operations name: customers-customerid-services-operations description: REST surface for customers-customerId-services-operations. operations: - method: GET name: listserviceoperations description: List Service Operations call: customer-services.listserviceoperations outputParameters: - type: object mapping: $. - path: /v1/customers/{customerid}/services/plan name: customers-customerid-services-plan description: REST surface for customers-customerId-services-plan. operations: - method: GET name: listplannedservices description: List Planned Services call: customer-services.listplannedservices outputParameters: - type: object mapping: $. - path: /v1/customers/{customerid}/services/prices/invoice-fees name: customers-customerid-services-prices-invoice-fees description: REST surface for customers-customerId-services-prices-invoice-fees. operations: - method: GET name: listserviceinvoicefees description: List Service Invoice Fees call: customer-services.listserviceinvoicefees outputParameters: - type: object mapping: $. - path: /v1/customers/{customerid}/services/{serviceid}/eta name: customers-customerid-services-serviceid-eta description: REST surface for customers-customerId-services-serviceId-eta. operations: - method: GET name: getserviceeta description: Get Service ETA call: customer-services.getserviceeta with: serviceId: rest.serviceId outputParameters: - type: object mapping: $. - type: mcp namespace: customer-services-mcp port: 9090 transport: http description: MCP adapter for Waste Management Customer API — Services. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-services description: List Services hints: readOnly: true destructive: false idempotent: true call: customer-services.listservices with: line_of_business: tools.line_of_business outputParameters: - type: object mapping: $. - name: list-service-materials description: List Service Materials hints: readOnly: true destructive: false idempotent: true call: customer-services.listservicematerials outputParameters: - type: object mapping: $. - name: get-next-pickup description: Get Next Pickup hints: readOnly: true destructive: false idempotent: true call: customer-services.getnextpickup outputParameters: - type: object mapping: $. - name: list-service-operations description: List Service Operations hints: readOnly: true destructive: false idempotent: true call: customer-services.listserviceoperations outputParameters: - type: object mapping: $. - name: list-planned-services description: List Planned Services hints: readOnly: true destructive: false idempotent: true call: customer-services.listplannedservices outputParameters: - type: object mapping: $. - name: list-service-invoice-fees description: List Service Invoice Fees hints: readOnly: true destructive: false idempotent: true call: customer-services.listserviceinvoicefees outputParameters: - type: object mapping: $. - name: get-service-eta description: Get Service ETA hints: readOnly: true destructive: false idempotent: true call: customer-services.getserviceeta with: serviceId: tools.serviceId outputParameters: - type: object mapping: $.