openapi: 3.0.3 info: title: WM Customer Activities Service Operations & Materials API description: 'Documented, partner/customer-gated REST API published by WM (formerly Waste Management, Inc.) at https://api.wm.com/. Exposes account-level service, billing, and support data - service and pickup information, live status/ETA, routing and hauling materials, pricing, invoices and balance, communication preferences, contacts, cases, tickets, and account activity notes. There is no self-serve signup: WM issues a ClientId and JSON Web Token (JWT) to approved commercial/enterprise customers and integration partners on request to apiaccess@wm.com. Endpoint paths, parameters, and response fields below are transcribed from WM''s published API documentation; fields not disclosed in that documentation are left as an open JSON object rather than invented.' version: '1.0' contact: name: WM API Access email: apiaccess@wm.com url: https://api.wm.com/ license: name: Proprietary - partner/customer use per WM terms servers: - url: https://api.wm.com/v1 description: Production - url: https://apitest.wm.com/v1 description: Test security: - bearerAuth: [] tags: - name: Service Operations & Materials description: Routing and hauling material information. paths: /customers/{customerId}/services/operations: get: operationId: listServiceOperations tags: - Service Operations & Materials summary: List service operations description: Obtain routing information for the account's services, including the day of week serviced. parameters: - $ref: '#/components/parameters/CustomerId' responses: '200': description: Routing/operations information. content: application/json: schema: $ref: '#/components/schemas/GenericAccountResponse' '401': $ref: '#/components/responses/Unauthorized' /customers/{customerId}/services/materials: get: operationId: listServiceMaterials tags: - Service Operations & Materials summary: List service materials description: Access hauling material information for all of the account's services. parameters: - $ref: '#/components/parameters/CustomerId' responses: '200': description: Hauling material information. content: application/json: schema: $ref: '#/components/schemas/GenericAccountResponse' '401': $ref: '#/components/responses/Unauthorized' components: schemas: GenericAccountResponse: type: object description: WM's published documentation does not disclose full response field detail for this resource; the response is a JSON object scoped to the requesting customer account. properties: request_tracking_id: type: string additionalProperties: true responses: Unauthorized: description: Missing or invalid Authorization/ClientId. content: application/json: schema: type: object properties: message: type: string parameters: CustomerId: name: customerId in: path required: true description: Unique customer account identifier. schema: type: integer securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: WM issues a JSON Web Token (JWT) and a ClientId to approved partners/customers. Send the token in the Authorization header and the ClientId in the ClientId header on every request.