---
title: "Changes to Create an inventory assembly item"
method: POST
path: "/quickbooks-desktop/inventory-assembly-items"
---

# Changes to Create an inventory assembly item

`POST /quickbooks-desktop/inventory-assembly-items`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 7 of 60 revisions.

- **2026-10-19** `1396ed78f0e1`: 3 warning
- **2026-08-21** `79f6b2f97e3e`: 6 breaking, 2 info
- **2026-05-02** `1de07095c4b7`: 10 warning
- **2026-04-20** `10d4e9ebd1df`: 42 breaking, 8 info
- **2026-04-20** `8e0b7df2044d`: 34 breaking, 44 info
- **2026-04-20** `5f832f695675`: 44 breaking, 8 info
- **2026-04-15** `8e0b7df2044d`: 1 breaking

## Changes

- **2026-10-19** `1396ed78f0e1`: 3 warning
  - the `barcode/value` request property's maxLength was set to `50`
  - the `purchaseDescription` request property's maxLength was set to `4095`
  - the `salesDescription` request property's maxLength was set to `4095`
- **2026-08-21** `79f6b2f97e3e`: 6 breaking, 2 info
  - the `assetAccount` response's property type changed from `object` to no type for status `200`
  - the `cogsAccount` response's property type changed from `object` to no type for status `200`
  - removed the required property `assetAccount/fullName` from the response with the `200` status
  - removed the required property `assetAccount/id` from the response with the `200` status
  - removed the required property `cogsAccount/fullName` from the response with the `200` status
  - removed the required property `cogsAccount/id` from the response with the `200` status
  - added `subschema #1, subschema #2` to the `assetAccount` response property `anyOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `cogsAccount` response property `anyOf` list for the response status `200`
- **2026-05-02** `1de07095c4b7`: 10 warning
  - the `assetAccountId` request property's maxLength was set to `36`
  - the `classId` request property's maxLength was set to `36`
  - the `cogsAccountId` request property's maxLength was set to `36`
  - the `incomeAccountId` request property's maxLength was set to `36`
  - the `lines/items/inventoryItemId` request property's maxLength was set to `36`
  - the `parentId` request property's maxLength was set to `36`
  - the `preferredVendorId` request property's maxLength was set to `36`
  - the `purchaseTaxCodeId` request property's maxLength was set to `36`
  - the `salesTaxCodeId` request property's maxLength was set to `36`
  - the `unitOfMeasureSetId` request property's maxLength was set to `36`
- **2026-04-20** `10d4e9ebd1df`: 42 breaking, 8 info
  - response property `assetAccount/fullName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `assetAccount/id` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `averageCost` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `barcode` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `buildNotificationThreshold` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `cogsAccount/fullName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `cogsAccount/id` 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 `lines/items/quantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `maximumQuantityOnHand` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `purchaseCost` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `purchaseDescription` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `quantityOnHand` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `quantityOnPurchaseOrder` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `quantityOnSalesOrder` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `salesDescription` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `salesPrice` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `sku` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - the `class` response's property type changed from `object, null` to no type for status `200`
  - the `incomeAccount` response's property type changed from `object, null` to no type for status `200`
  - the `lines/items/inventoryItem` response's property type changed from `object, null` to no type for status `200`
  - the `parent` response's property type changed from `object, null` to no type for status `200`
  - the `preferredVendor` response's property type changed from `object, null` to no type for status `200`
  - the `purchaseTaxCode` response's property type changed from `object, null` to no type for status `200`
  - the `salesTaxCode` response's property type changed from `object, null` to no type for status `200`
  - the `unitOfMeasureSet` response's property type changed from `object, null` to no type for status `200`
  - removed the required property `class/fullName` from the response with the `200` status
  - removed the required property `class/id` from the response with the `200` status
  - removed the required property `incomeAccount/fullName` from the response with the `200` status
  - removed the required property `incomeAccount/id` from the response with the `200` status
  - removed the required property `lines/items/inventoryItem/fullName` from the response with the `200` status
  - removed the required property `lines/items/inventoryItem/id` from the response with the `200` status
  - removed the required property `parent/fullName` from the response with the `200` status
  - removed the required property `parent/id` from the response with the `200` status
  - removed the required property `preferredVendor/fullName` from the response with the `200` status
  - removed the required property `preferredVendor/id` from the response with the `200` status
  - removed the required property `purchaseTaxCode/fullName` from the response with the `200` status
  - removed the required property `purchaseTaxCode/id` from the response with the `200` status
  - removed the required property `salesTaxCode/fullName` from the response with the `200` status
  - removed the required property `salesTaxCode/id` from the response with the `200` status
  - …10 more
- **2026-04-20** `8e0b7df2044d`: 34 breaking, 44 info
  - the response property `assetAccount/fullName` became nullable for the status `200`
  - the response property `assetAccount/id` became nullable for the status `200`
  - the response property `averageCost` became nullable for the status `200`
  - the response property `barcode` became nullable for the status `200`
  - the response property `buildNotificationThreshold` became nullable for the status `200`
  - the response property `class` became nullable for the status `200`
  - the response property `cogsAccount/fullName` became nullable for the status `200`
  - the response property `cogsAccount/id` became nullable for the status `200`
  - the response property `externalId` became nullable for the status `200`
  - the response property `incomeAccount` became nullable for the status `200`
  - the response property `lines/items/inventoryItem` became nullable for the status `200`
  - the response property `lines/items/quantity` became nullable for the status `200`
  - the response property `maximumQuantityOnHand` became nullable for the status `200`
  - the response property `parent` became nullable for the status `200`
  - the response property `preferredVendor` became nullable for the status `200`
  - the response property `purchaseCost` became nullable for the status `200`
  - the response property `purchaseDescription` became nullable for the status `200`
  - the response property `purchaseTaxCode` became nullable for the status `200`
  - the response property `quantityOnHand` became nullable for the status `200`
  - the response property `quantityOnPurchaseOrder` became nullable for the status `200`
  - the response property `quantityOnSalesOrder` became nullable for the status `200`
  - the response property `salesDescription` became nullable for the status `200`
  - the response property `salesPrice` became nullable for the status `200`
  - the response property `salesTaxCode` became nullable for the status `200`
  - the response property `sku` became nullable for the status `200`
  - the response property `unitOfMeasureSet` became nullable for the status `200`
  - the `class` response's property type changed from no type to `object, null` for status `200`
  - the `incomeAccount` response's property type changed from no type to `object, null` for status `200`
  - the `lines/items/inventoryItem` response's property type changed from no type to `object, null` for status `200`
  - the `parent` response's property type changed from no type to `object, null` for status `200`
  - the `preferredVendor` response's property type changed from no type to `object, null` for status `200`
  - the `purchaseTaxCode` response's property type changed from no type to `object, null` for status `200`
  - the `salesTaxCode` response's property type changed from no type to `object, null` for status `200`
  - the `unitOfMeasureSet` response's property type changed from no type to `object, null` for status `200`
  - removed 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])))$` from the request property `inventoryDate`
  - removed the pattern `^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$` from the request property `externalId`
  - removed `subschema #1, subschema #2` from the `class` response property `anyOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `incomeAccount` response property `anyOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `lines/items/inventoryItem` response property `anyOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `parent` response property `anyOf` list for the response status `200`
  - …38 more
- **2026-04-20** `5f832f695675`: 44 breaking, 8 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 `inventoryDate`
  - added the pattern `^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$` to the request property `externalId`
  - response property `assetAccount/fullName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `assetAccount/id` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `averageCost` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `barcode` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `buildNotificationThreshold` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `cogsAccount/fullName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `cogsAccount/id` 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 `lines/items/quantity` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `maximumQuantityOnHand` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `purchaseCost` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `purchaseDescription` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `quantityOnHand` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `quantityOnPurchaseOrder` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `quantityOnSalesOrder` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `salesDescription` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `salesPrice` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `sku` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - the `class` response's property type changed from `object, null` to no type for status `200`
  - the `incomeAccount` response's property type changed from `object, null` to no type for status `200`
  - the `lines/items/inventoryItem` response's property type changed from `object, null` to no type for status `200`
  - the `parent` response's property type changed from `object, null` to no type for status `200`
  - the `preferredVendor` response's property type changed from `object, null` to no type for status `200`
  - the `purchaseTaxCode` response's property type changed from `object, null` to no type for status `200`
  - the `salesTaxCode` response's property type changed from `object, null` to no type for status `200`
  - the `unitOfMeasureSet` response's property type changed from `object, null` to no type for status `200`
  - removed the required property `class/fullName` from the response with the `200` status
  - removed the required property `class/id` from the response with the `200` status
  - removed the required property `incomeAccount/fullName` from the response with the `200` status
  - removed the required property `incomeAccount/id` from the response with the `200` status
  - removed the required property `lines/items/inventoryItem/fullName` from the response with the `200` status
  - removed the required property `lines/items/inventoryItem/id` from the response with the `200` status
  - removed the required property `parent/fullName` from the response with the `200` status
  - removed the required property `parent/id` from the response with the `200` status
  - removed the required property `preferredVendor/fullName` from the response with the `200` status
  - removed the required property `preferredVendor/id` from the response with the `200` status
  - removed the required property `purchaseTaxCode/fullName` from the response with the `200` status
  - removed the required property `purchaseTaxCode/id` from the response with the `200` status
  - …12 more
- **2026-04-15** `8e0b7df2044d`: 1 breaking
  - the response property `incomeAccount` became nullable for the status `200`

---

[Operation](https://skmtc.dev/conductor-is/apis/conductor-api/docs/quickbooks-desktop/inventory-assembly-items/post.md) - [API](https://skmtc.dev/conductor-is/apis/conductor-api.md) - [Page](https://skmtc.dev/conductor-is/apis/conductor-api/changes/quickbooks-desktop/inventory-assembly-items/post)
