create and track commitment or prime contract change orders through procore's tiered change order api
domain: developers.procore.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Determine the project's Change Order Tier configuration (single-tier, two-tier, or three-tier) — this is a project-level UI setting that dictates which endpoint group(s) you must use.
One-tier: use Change Order Packages alone (POST/GET /rest/v1.0/change_order_packages); note Procore's web UI also silently creates a companion Potential Change Order behind the scenes to hold line items.
Confirm that companion object by calling GET /rest/v1.0/potential_change_orders and matching it to the new package.
Two-tier: create/list via the Change Order Requests endpoints, then roll them into Change Order Packages.
Three-tier: Potential Change Orders roll into Change Order Requests, which roll into Change Order Packages — use all three endpoint groups together.
Use PATCH on the corresponding resource (change_order_packages, change_order_requests, or potential_change_orders) to update status/line items as the change order moves through approval.
Known gotchas
The same real-world action (creating a commitment change order in the UI) produces different underlying API objects depending on the project's tier setting; code built for single-tier will silently miss objects on two/three-tier projects.
Change Order Package creation on a single-tier project always spawns a companion Potential Change Order — failing to look it up separately makes the change order appear to have no line items.
Tier configuration is a project-level UI setting, not something you choose via the API — confirm it before writing integration logic.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?