Update Purchase Order Status
Changed onOperates on Purchase Orders. In the Zuper client app this module is labeled "Purchase Order" for most companies, and "Material Order" for companies in the roofing industry — the API and data shape are identical either way. Purchase Orders and Work Orders (Service Orders) share the exact same underlying schema and endpoints; they're distinguished only by the purchase_order_type field (PURCHASE_ORDER here) and the /purchase_orders vs /service_orders route prefix. Status transitions are validated against a fixed transition matrix — an unreachable transition is rejected with 400. FULFILLED is not a valid status for a Work Order (Service Order); use WORK_COMPLETED instead.
Request
- Base URLhttps://dc-region.zuperpro.com/api
- URLhttps://dc-region.zuperpro.com/api/purchase_orders/{purchase_order_uid}/status
- AuthAPI key in header x-api-key
Path parameters
Request body
Response
200
Changes
- breaking
request property
was restricted to a list of enum values - breaking
the request property
became required - info
added the new optional request property
- info
added the new
APPROVEDenum value to the request property - info
added the new
CANCELEDenum value to the request property - info
added the new
CLOSEDenum value to the request property - info
added the new
DRAFTenum value to the request property - info
added the new
FULFILLEDenum value to the request property - info
added the new
INVOICEDenum value to the request property - info
added the new
PAIDenum value to the request property - info
added the new
PARTIALLY_FULFILLEDenum value to the request property - info
added the new
REJECTEDenum value to the request property - info
added the new
SENT_TO_VENDORenum value to the request property - info
added the new
SUBMITTEDenum value to the request property - info
added the new
VENDOR_APPROVEDenum value to the request property - info
added the new
VENDOR_REJECTEDenum value to the request property - info
added the new
WORK_COMPLETEDenum value to the request property - info
added the media type
application/jsonfor the response with the status
- breaking