---
title: "Update a purchase order"
method: PATCH
path: "/v1/finance/purchaseOrders/{purchaseOrderId}"
tags: ["PurchaseOrders"]
---

# Update a purchase order

`PATCH /v1/finance/purchaseOrders/{purchaseOrderId}`

Update a purchase order (required scope finance:write)

## Path parameters

- `purchaseOrderId` integer, required

## Headers

- `Customer-Id` integer, required

## Request body

- UpdatePurchaseOrderModel — Represents a model that holds information about updating a purchase order
  - `deliverySiteContactId` integer, nullable — The unique identifier of the delivery site contact associated with this purchase order, if applicable<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `clientNotes` string, nullable — Notes on the purchase order. Length must not exceed 3000 characters when provided.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `internalNotes` string, nullable — Internal notes not visible to the client. Length must not exceed 3000 characters when provided.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `nominalCodeId` integer, nullable — The unique identifier of the nominal code associated with this purchase order, if applicable.<br/>Validation: When provided and not null must be a positive integer within 32-bit bounds and must exist.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `departmentCodeId` integer, nullable — The unique identifier of the department code associated with this purchase order, if applicable.<br/>Validation: When provided and not null must be a positive integer within 32-bit bounds and must exist.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `seriesId` integer — The unique identifier of the purchase order series. Required if you have PO Series setup, otherwise it must be omitted<br/><br/>Optional: Omit to retain current value
  - `customFields` CustomFieldWriteModel[] — Custom fields associated with the purchase order.<br/>Omit or use an empty list to retain current values.<br/> <br/>Validation:<br/>- Cannot be null when provided.<br/>- Each custom field must satisfy its definition rules for the purchase order type.<br/><br/>Optional: Omit to retain current value
    - `definitionId` integer, required — The unique identifier of the associated custom field definition
    - `value` string, nullable — The value of this custom field. If set to null, any existing value will be unset

## Response `204`

No Content

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `422` — Unprocessable Content
- `500` — Internal Server Error

---

[API](https://skmtc.net/bigchange/apis/bigchange-dx.md) · [All operations](https://skmtc.net/bigchange/apis/bigchange-dx/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bigchange/bigchange-dx/revisions/916e669fc527/schema)
