openapi: 3.0.3 info: title: WM Customer Activities Cases & Tickets 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: Cases & Tickets description: Service cases and pickup tickets. paths: /customers/{customerId}/cases: get: operationId: listCases tags: - Cases & Tickets summary: List cases description: List service cases on the account - id, description, category, request date/time, and status. parameters: - $ref: '#/components/parameters/CustomerId' responses: '200': description: Cases on the account. content: application/json: schema: $ref: '#/components/schemas/GenericAccountResponse' '401': $ref: '#/components/responses/Unauthorized' /customers/{customerId}/cases/{caseId}: get: operationId: getCase tags: - Cases & Tickets summary: Show case details description: Retrieve details for a single case. parameters: - $ref: '#/components/parameters/CustomerId' - name: caseId in: path required: true schema: type: string responses: '200': description: Case detail. content: application/json: schema: $ref: '#/components/schemas/GenericAccountResponse' '401': $ref: '#/components/responses/Unauthorized' /customers/{customerId}/tickets: get: operationId: listTickets tags: - Cases & Tickets summary: List tickets description: Retrieve a summary of tickets created on the account - such as missed-pickup or extra-pickup requests - within an optional date range. parameters: - $ref: '#/components/parameters/CustomerId' - $ref: '#/components/parameters/FromDate' - $ref: '#/components/parameters/ToDate' responses: '200': description: Tickets on the account. content: application/json: schema: $ref: '#/components/schemas/GenericAccountResponse' '401': $ref: '#/components/responses/Unauthorized' /customers/{customerId}/tickets/{ticketId}: get: operationId: getTicket tags: - Cases & Tickets summary: Show ticket details description: Retrieve details for a single ticket, including disposal tickets. parameters: - $ref: '#/components/parameters/CustomerId' - name: ticketId in: path required: true schema: type: string responses: '200': description: Ticket detail. content: application/json: schema: $ref: '#/components/schemas/GenericAccountResponse' '401': $ref: '#/components/responses/Unauthorized' components: parameters: FromDate: name: fromDate in: query required: false description: Start date, yyyy-MM-dd. schema: type: string format: date ToDate: name: toDate in: query required: false description: End date, yyyy-MM-dd. schema: type: string format: date CustomerId: name: customerId in: path required: true description: Unique customer account identifier. schema: type: integer responses: Unauthorized: description: Missing or invalid Authorization/ClientId. content: application/json: schema: type: object properties: message: type: string 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 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.