Waste Management Services API
Retrieve service details, schedules, materials, and ETAs.
Retrieve service details, schedules, materials, and ETAs.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/waste-management-services-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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.