---
title: "Changes to Update purchase order"
method: PATCH
path: "/purchaseorders/{id}"
---

# Changes to Update purchase order

`PATCH /purchaseorders/{id}`

> Every recorded change to this operation, newest first.
> 30 revisions in range; 1 not diffed.

## Timeline

Changed in 2 of 30 revisions.

- **2026-10-15** `798ec5734e1a`: 7 warning
- **2026-08-08** `222e6fad7c1f`: 20 breaking, 5 warning, 37 info

## Changes

- **2026-10-15** `798ec5734e1a`: 7 warning
  - added the new `APPROVED` enum value to the `purchaseOrder/status` response property for the response status `200`
  - added the new `CANCELED` enum value to the `purchaseOrder/status` response property for the response status `200`
  - added the new `COMPLETED` enum value to the `purchaseOrder/status` response property for the response status `200`
  - added the new `DECLINED` enum value to the `purchaseOrder/status` response property for the response status `200`
  - added the new `PARTIALLY_FULFILLED` enum value to the `purchaseOrder/status` response property for the response status `200`
  - added the new `PENDING` enum value to the `purchaseOrder/status` response property for the response status `200`
  - added the new `REQUESTED` enum value to the `purchaseOrder/status` response property for the response status `200`
- **2026-08-08** `222e6fad7c1f`: 20 breaking, 5 warning, 37 info
  - removed the media type `application/octet-stream` from the request body
  - the `path` request parameter `id` became required
  - request property `costs/items/type` was restricted to a list of enum values
  - the response property `purchaseOrder/billingAddress` became nullable for the status `200`
  - the response property `purchaseOrder/items/items/price` became nullable for the status `200`
  - the response property `purchaseOrder/items/items/unitCost` became nullable for the status `200`
  - the response property `purchaseOrder/shippingAddress` became nullable for the status `200`
  - the response property `purchaseOrder/status` became nullable for the status `200`
  - the response property `purchaseOrder/vendorId` became nullable for the status `200`
  - the response property `purchaseOrder/costs/items/id` became optional for the status `200`
  - the response property `purchaseOrder/items/items/name` became optional for the status `200`
  - the response property `purchaseOrder/items/items/partId` became optional for the status `200`
  - the response property `purchaseOrder/items/items/partNumber` became optional for the status `200`
  - the response property `purchaseOrder/items/items/price` became optional for the status `200`
  - the response property `purchaseOrder/items/items/quantityReceived` became optional for the status `200`
  - the response property `purchaseOrder/items/items/unitCost` became optional for the status `200`
  - the response property `purchaseOrder/vendorContactIds` became optional for the status `200`
  - the response property `purchaseOrder/vendorId` became optional for the status `200`
  - removed the required property `purchaseOrder/billingAddress/id` from the response with the `200` status
  - removed the required property `purchaseOrder/shippingAddress/id` from the response with the `200` status
  - removed the request property `billingAddress/id`
  - removed the request property `shippingAddress/id`
  - added the new `AMOUNT_NON_TAXABLE` enum value to the `purchaseOrder/costs/items/type` response property for the response status `200`
  - added the new `AMOUNT_TAXABLE` enum value to the `purchaseOrder/costs/items/type` response property for the response status `200`
  - added the new `PERCENT_TAXABLE` enum value to the `purchaseOrder/costs/items/type` response property for the response status `200`
  - added the new optional `query` request parameter `skipWebhook`
  - added the new optional request property `billingAddressId`
  - added the new optional request property `deletedAt`
  - added the new optional request property `extraFields`
  - added the new optional request property `items/items/extraFields`
  - added the new optional request property `items/items/lineExtraFields`
  - added the new optional request property `shippingAddressId`
  - added the new optional request property `title`
  - the request property `billingAddress` became nullable
  - the request property `items/items/price` became nullable
  - the request property `items/items/unitCost` became nullable
  - the request property `shippingAddress` became nullable
  - the request property `status` became nullable
  - the request property `vendorId` became nullable
  - the request property `costs/items/id` became optional
  - …22 more

---

[Operation](https://skmtc.dev/getmaintainx/apis/maintainx-api/docs/purchaseorders/:id/patch.md) - [API](https://skmtc.dev/getmaintainx/apis/maintainx-api.md) - [Page](https://skmtc.dev/getmaintainx/apis/maintainx-api/changes/purchaseorders/:id/patch)
