Update Purchase Order Fields

Changed on

Operates 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. This is a narrower field set than the full PUT update — intended for lightweight edits (title, dates, remarks, vendor/payment term) without resending the whole order. Changing vendor via this endpoint is only allowed for Work Orders (Service Orders) — attempting it on a Purchase Order / Material Order is rejected with 400.

patch/purchase_orders/{purchase_order_uid}

Request

  • Base URL
    https://dc-region.zuperpro.com/api
  • URL
    https://dc-region.zuperpro.com/api/purchase_orders/{purchase_order_uid}
  • Auth
    API key in header x-api-key

Path parameters

purchase_order_uidstring required

Request body

purchase_order_titlestring
reference_numberstring
remarksstring
due_datestring date
delivery_time'ANYTIME' | 'MORNING' | 'AFTERNOON' | 'SPECIAL_REQUEST'
vendorstring

Changing vendor via this endpoint is only allowed for Work Orders (Service Orders) — attempting it on a Purchase Order / Material Order is rejected with 400.

payment_termstring
templatestring
job_measurement_uidsstring[]
job_attachments_uidsstring[]

Response

200

type'success'
titlestring

Exact wording is "Purchase Order" for most companies, or "Material Order" for roofing-industry companies.

messagestring

Exact wording is "Purchase Order" for most companies, or "Material Order" for roofing-industry companies.

Changes