---
title: "Changes to Update a purchase order"
method: POST
path: "/quickbooks-desktop/purchase-orders/{id}"
---

# Changes to Update a purchase order

`POST /quickbooks-desktop/purchase-orders/{id}`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 6 of 46 revisions.

- **2026-05-02** `1de07095c4b7` — 28 warning
- **2026-05-02** `0adc2851bb7f` — 2 warning
- **2026-04-20** `10d4e9ebd1df` — 113 breaking, 29 info
- **2026-04-20** `8e0b7df2044d` — 93 breaking, 3 warning, 122 info
- **2026-04-20** `5f832f695675` — 118 breaking, 31 info
- **2026-04-02** `f2373ceb0221` — 1 info

## Changes

- **2026-05-02** `1de07095c4b7` — 28 warning
  - for the `path` request parameter `id`, the maxLength was set to `36`
  - the `classId` request property's maxLength was set to `36`
  - the `documentTemplateId` request property's maxLength was set to `36`
  - the `inventorySiteId` request property's maxLength was set to `36`
  - the `lineGroups/items/id` request property's maxLength was set to `36`
  - the `lineGroups/items/itemGroupId` request property's maxLength was set to `36`
  - the `lineGroups/items/lines/items/classId` request property's maxLength was set to `36`
  - the `lineGroups/items/lines/items/id` request property's maxLength was set to `36`
  - the `lineGroups/items/lines/items/inventorySiteLocationId` request property's maxLength was set to `36`
  - the `lineGroups/items/lines/items/itemId` request property's maxLength was set to `36`
  - the `lineGroups/items/lines/items/overrideItemAccountId` request property's maxLength was set to `36`
  - the `lineGroups/items/lines/items/overrideUnitOfMeasureSetId` request property's maxLength was set to `36`
  - the `lineGroups/items/lines/items/payeeId` request property's maxLength was set to `36`
  - the `lineGroups/items/lines/items/salesTaxCodeId` request property's maxLength was set to `36`
  - the `lineGroups/items/overrideUnitOfMeasureSetId` request property's maxLength was set to `36`
  - the `lines/items/classId` request property's maxLength was set to `36`
  - the `lines/items/id` request property's maxLength was set to `36`
  - the `lines/items/inventorySiteLocationId` request property's maxLength was set to `36`
  - the `lines/items/itemId` request property's maxLength was set to `36`
  - the `lines/items/overrideItemAccountId` request property's maxLength was set to `36`
  - the `lines/items/overrideUnitOfMeasureSetId` request property's maxLength was set to `36`
  - the `lines/items/payeeId` request property's maxLength was set to `36`
  - the `lines/items/salesTaxCodeId` request property's maxLength was set to `36`
  - the `salesTaxCodeId` request property's maxLength was set to `36`
  - the `shipToEntityId` request property's maxLength was set to `36`
  - the `shippingMethodId` request property's maxLength was set to `36`
  - the `termsId` request property's maxLength was set to `36`
  - the `vendorId` request property's maxLength was set to `36`
- **2026-05-02** `0adc2851bb7f` — 2 warning
  - the `refNumber` request property's maxLength was set to `11`
  - the `shipmentOrigin` request property's maxLength was set to `13`
- **2026-04-20** `10d4e9ebd1df` — 113 breaking, 29 info
  - response property `dueDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `exchangeRate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `expectedDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `externalId` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `isFullyReceived` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `isQueuedForEmail` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `isQueuedForPrint` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/description` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/itemGroup/fullName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/itemGroup/id` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/amount` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/description` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/isBilled` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/otherCustomField1` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/otherCustomField2` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/quantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/rate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/receivedQuantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/serviceDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/sku` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/unbilledQuantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/unitOfMeasure` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/quantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/serviceDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/unitOfMeasure` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/amount` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/description` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/isBilled` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/otherCustomField1` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/otherCustomField2` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/quantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/rate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/receivedQuantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/serviceDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/sku` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/unbilledQuantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/unitOfMeasure` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `linkedTransactions/items/amount` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `linkedTransactions/items/linkType` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `linkedTransactions/items/refNumber` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - …102 more
- **2026-04-20** `8e0b7df2044d` — 93 breaking, 3 warning, 122 info
  - the response property `class` became nullable for the status `200`
  - the response property `currency` became nullable for the status `200`
  - the response property `documentTemplate` became nullable for the status `200`
  - the response property `dueDate` became nullable for the status `200`
  - the response property `exchangeRate` became nullable for the status `200`
  - the response property `expectedDate` became nullable for the status `200`
  - the response property `externalId` became nullable for the status `200`
  - the response property `inventorySite` became nullable for the status `200`
  - the response property `isFullyReceived` became nullable for the status `200`
  - the response property `isQueuedForEmail` became nullable for the status `200`
  - the response property `isQueuedForPrint` became nullable for the status `200`
  - the response property `lineGroups/items/description` became nullable for the status `200`
  - the response property `lineGroups/items/itemGroup/fullName` became nullable for the status `200`
  - the response property `lineGroups/items/itemGroup/id` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/amount` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/class` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/description` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/inventorySiteLocation` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/isBilled` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/item` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/otherCustomField1` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/otherCustomField2` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/overrideUnitOfMeasureSet` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/payee` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/quantity` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/rate` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/receivedQuantity` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/salesTaxCode` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/serviceDate` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/sku` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/unbilledQuantity` became nullable for the status `200`
  - the response property `lineGroups/items/lines/items/unitOfMeasure` became nullable for the status `200`
  - the response property `lineGroups/items/overrideUnitOfMeasureSet` became nullable for the status `200`
  - the response property `lineGroups/items/quantity` became nullable for the status `200`
  - the response property `lineGroups/items/serviceDate` became nullable for the status `200`
  - the response property `lineGroups/items/unitOfMeasure` became nullable for the status `200`
  - the response property `lines/items/amount` became nullable for the status `200`
  - the response property `lines/items/class` became nullable for the status `200`
  - the response property `lines/items/description` became nullable for the status `200`
  - the response property `lines/items/inventorySiteLocation` became nullable for the status `200`
  - …178 more
- **2026-04-20** `5f832f695675` — 118 breaking, 31 info
  - added the pattern `^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$` to the request property `dueDate`
  - added the pattern `^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$` to the request property `expectedDate`
  - added the pattern `^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$` to the request property `lineGroups/items/lines/items/serviceDate`
  - added the pattern `^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$` to the request property `lines/items/serviceDate`
  - added the pattern `^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$` to the request property `transactionDate`
  - response property `dueDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `exchangeRate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `expectedDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `externalId` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `isFullyReceived` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `isQueuedForEmail` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `isQueuedForPrint` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/description` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/itemGroup/fullName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/itemGroup/id` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/amount` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/description` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/isBilled` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/otherCustomField1` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/otherCustomField2` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/quantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/rate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/receivedQuantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/serviceDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/sku` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/unbilledQuantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/lines/items/unitOfMeasure` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/quantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/serviceDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lineGroups/items/unitOfMeasure` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/amount` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/description` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/isBilled` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/otherCustomField1` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/otherCustomField2` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/quantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/rate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/receivedQuantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/serviceDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lines/items/sku` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - …109 more
- **2026-04-02** `f2373ceb0221` — 1 info
  - added the required property `lineGroups/items/serviceDate` to the response with the `200` status

---

[Operation](https://skmtc.dev/conductor-is/apis/conductor-api/docs/quickbooks-desktop/purchase-orders/:id/post.md) · [API](https://skmtc.dev/conductor-is/apis/conductor-api.md) · [Page](https://skmtc.dev/conductor-is/apis/conductor-api/changes/quickbooks-desktop/purchase-orders/:id/post)
