Waste Management Services API

Retrieve service details, schedules, materials, and ETAs.

Operations 7

GET /customers/{customerId}/services List Services #
GET /customers/{customerId}/services/plan List Planned Services #
GET /customers/{customerId}/services/materials List Service Materials #
GET /customers/{customerId}/services/prices/invoice-fees List Service Invoice Fees #
GET /customers/{customerId}/services/operations List Service Operations #
GET /customers/{customerId}/services/next-pickup Get Next Pickup #
GET /customers/{customerId}/services/{serviceId}/eta Get Service ETA #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/waste-management-services-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

waste-management-services-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Waste Management Customer Cases Services API
  description: The Waste Management Customer API provides RESTful access to customer account information including balance due, contract details, invoice history, service details, and pick-up status. The API uses JWT bearer token authentication and supports JSON and XML response formats. Endpoints are organized under the customer resource and cover activities, balance, cases, contacts, invoices, preferences, profiles, services, and tickets.
  version: '1.0'
  contact:
    name: Waste Management Developer Support
    url: https://api.wm.com/
servers:
- url: https://api.wm.com/v1
  description: Production
- url: https://apitest.wm.com/v1
  description: Test
tags:
- name: Services
  description: Retrieve service details, schedules, materials, and ETAs.
paths:
  /customers/{customerId}/services:
    get:
      operationId: listServices
      summary: List Services
      description: Retrieves detailed information on the services associated with the authenticated customer account, including service type, materials, equipment, and pricing.
      tags:
      - Services
      parameters:
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/RequestTrackingId'
      - $ref: '#/components/parameters/ClientId'
      - name: line_of_business
        in: query
        description: Filter services by line of business.
        schema:
          type: string
          enum:
          - RESIDENTIAL
          - COMMERCIAL
          - ROLLOFF
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /customers/{customerId}/services/plan:
    get:
      operationId: listPlannedServices
      summary: List Planned Services
      description: Retrieves the status of services occurring today for commercial or residential customers.
      tags:
      - Services
      parameters:
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/RequestTrackingId'
      - $ref: '#/components/parameters/ClientId'
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Success
        '401':
          $ref: '#/components/responses/Unauthorized'
  /customers/{customerId}/services/materials:
    get:
      operationId: listServiceMaterials
      summary: List Service Materials
      description: Retrieves hauling material information for all services associated with the customer account.
      tags:
      - Services
      parameters:
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/RequestTrackingId'
      - $ref: '#/components/parameters/ClientId'
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Success
        '401':
          $ref: '#/components/responses/Unauthorized'
  /customers/{customerId}/services/prices/invoice-fees:
    get:
      operationId: listServiceInvoiceFees
      summary: List Service Invoice Fees
      description: Retrieves all invoice fees including fuel, environmental, and regulatory cost recovery fees for services.
      tags:
      - Services
      parameters:
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/RequestTrackingId'
      - $ref: '#/components/parameters/ClientId'
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Success
        '401':
          $ref: '#/components/responses/Unauthorized'
  /customers/{customerId}/services/operations:
    get:
      operationId: listServiceOperations
      summary: List Service Operations
      description: Retrieves operational details for services associated with the customer account.
      tags:
      - Services
      parameters:
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/RequestTrackingId'
      - $ref: '#/components/parameters/ClientId'
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Success
        '401':
          $ref: '#/components/responses/Unauthorized'
  /customers/{customerId}/services/next-pickup:
    get:
      operationId: getNextPickup
      summary: Get Next Pickup
      description: Retrieves upcoming pickup schedule information for the customer's waste and recycling services.
      tags:
      - Services
      parameters:
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/RequestTrackingId'
      - $ref: '#/components/parameters/ClientId'
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Success
        '401':
          $ref: '#/components/responses/Unauthorized'
  /customers/{customerId}/services/{serviceId}/eta:
    get:
      operationId: getServiceEta
      summary: Get Service ETA
      description: Retrieves the estimated time of arrival (ETA) for a specific service, indicating when the service is expected or if it has already been completed.
      tags:
      - Services
      parameters:
      - $ref: '#/components/parameters/CustomerId'
      - name: serviceId
        in: path
        required: true
        description: The unique service identifier.
        schema:
          type: string
      - $ref: '#/components/parameters/RequestTrackingId'
      - $ref: '#/components/parameters/ClientId'
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Success
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Service:
      type: object
      description: A WM service associated with a customer account.
      properties:
        serviceId:
          type: string
          description: Unique service identifier.
        status:
          type: string
          description: Current service status.
        occurrenceFrequency:
          type: string
          description: Service frequency (e.g., Weekly, Bi-Weekly).
        lineOfBusiness:
          type: string
          enum:
          - RESIDENTIAL
          - COMMERCIAL
          - ROLLOFF
          description: Line of business for this service.
        serviceName:
          type: string
          description: Human-readable service name.
        material:
          $ref: '#/components/schemas/ServiceMaterial'
        equipment:
          $ref: '#/components/schemas/ServiceEquipment'
        pricing:
          $ref: '#/components/schemas/ServicePricing'
    ErrorResponse:
      type: object
      description: Standard error response from the WM API.
      properties:
        code:
          type: integer
          description: HTTP status code.
        message:
          type: string
          description: Human-readable error message.
        errors:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              description:
                type: string
    ServicePricing:
      type: object
      description: Pricing information for a service.
      properties:
        monthlyBaseCost:
          type: number
          format: decimal
        currency:
          type: string
          default: USD
    ServiceEquipment:
      type: object
      description: Equipment details for a service.
      properties:
        equipmentName:
          type: string
        volume:
          type: number
        unitOfMeasure:
          type: string
        containerCount:
          type: integer
    ServiceMaterial:
      type: object
      description: Material information for a service.
      properties:
        materialCode:
          type: string
        materialName:
          type: string
        specialHandling:
          type: boolean
    ServiceList:
      type: object
      description: List of services associated with a WM customer account.
      properties:
        services:
          type: array
          items:
            $ref: '#/components/schemas/Service'
  parameters:
    RequestTrackingId:
      name: Request-Tracking-Id
      in: header
      required: true
      description: A unique identifier for tracking each API request.
      schema:
        type: string
        format: uuid
    CustomerId:
      name: customerId
      in: path
      required: true
      description: The unique WM customer identifier.
      schema:
        type: string
    ClientId:
      name: ClientId
      in: header
      required: true
      description: Client identifier provided by Waste Management.
      schema:
        type: string
  responses:
    Unauthorized:
      description: Unauthorized — invalid or missing JWT token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JSON Web Token (JWT) provided by WM.