---
title: "Update Purchase Order Line Items"
method: PATCH
path: "/purchase_orders/{purchase_order_uid}/line_items"
---

# Update Purchase Order Line Items

`PATCH /purchase_orders/{purchase_order_uid}/line_items`

## Request

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

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. Records fulfillment/receiving progress against a Purchase Order's line items — recomputes `fulfilled_quantity`, `outstanding_quantity`, per-item `status`, and rolls up the order's `total_price` if `unit_price` changed. This endpoint exists only for Purchase Orders / Material Orders — there is no equivalent `/service_orders/:uid/line_items` route for Work Orders.

## Path parameters

- `purchase_order_uid` string, required

## Request body

- object
  - `line_items` object[], required: Non-empty array required.
    - `line_item_uid` string, required: Required.
    - `fulfilled_quantity` string
    - `remarks` string
    - `serial_nos` string[]
    - `vendor_sku` string
    - `unit_price` string
    - `location_uid` string
    - `attachments` object[]
      - `company_attachment_uid` string, required: Required.
      - `url` string, required: Required. Must be an S3 URL.
      - `file_name` string
      - `file_size` integer

## Response `200`

200

- object
  - `type` 'success'
  - `title` string
  - `message` string

## Changes

- **2026-11-03** `3c21bc232e16`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zuper/apis/zuper-pro-api/changes/purchase_orders/:purchase_order_uid/line_items/patch.md)

---

[API](https://skmtc.dev/zuper/apis/zuper-pro-api.md) - [All operations](https://skmtc.dev/zuper/apis/zuper-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zuper/apis/zuper-pro-api/revisions/3c21bc232e16?raw)
