Skip to main content
Planned maintenance (PM) schedules generate recurring work orders on assets at a defined cadence. The Buyer API lets you read schedules, skip a run, and record run logs when an external system drives the scheduling. All examples assume:

Reading schedules

Standard pagination and field filtering apply. Work orders generated by a schedule carry isPM: true and plannedMaintenanceScheduleId, so you can list a schedule’s history from the work order side:

Skipping a run

PATCH /v1/buyer/pm/planned_maintenance_schedules/skip_schedule advances a schedule past its next scheduled run (for example, when a site is closed for renovation). The schedule id is the required field:
The updated schedule is returned. This endpoint is not rate limited.

Driving PM from an external scheduler

If your own system decides when PM work orders get cut, close the loop by recording each run with POST /v1/buyer/pm/scheduler_run_logs:
scheduleId, status, lastRunAt, and lastRunDueAt are required; woId links the work order the run created (create it first via the work orders endpoint, with isPM: true and plannedMaintenanceScheduleId set), and log holds free-form diagnostics. The full external-scheduler loop:
  1. Read schedules and their cadence from the API.
  2. When a run comes due, create the PM work order.
  3. Record the run with scheduler_run_logs, linking the woId.
  4. If a run must be skipped instead, call skip_schedule so the next due date advances.