---
title: "Changes to Create a service item"
method: POST
path: "/quickbooks-desktop/service-items"
---

# Changes to Create a service item

`POST /quickbooks-desktop/service-items`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 6 of 60 revisions.

- **2026-10-19** `1396ed78f0e1`: 4 warning
- **2026-05-02** `1de07095c4b7`: 9 warning
- **2026-04-20** `10d4e9ebd1df`: 14 breaking, 8 info
- **2026-04-20** `8e0b7df2044d`: 12 breaking, 17 info
- **2026-04-20** `5f832f695675`: 15 breaking, 8 info
- **2026-04-15** `2e591208a875`: 1 breaking

## Changes

- **2026-10-19** `1396ed78f0e1`: 4 warning
  - the `barcode/value` request property's maxLength was set to `50`
  - the `salesAndPurchaseDetails/purchaseDescription` request property's maxLength was set to `4095`
  - the `salesAndPurchaseDetails/salesDescription` request property's maxLength was set to `4095`
  - the `salesOrPurchaseDetails/description` request property's maxLength was set to `4095`
- **2026-05-02** `1de07095c4b7`: 9 warning
  - the `classId` request property's maxLength was set to `36`
  - the `parentId` request property's maxLength was set to `36`
  - the `salesAndPurchaseDetails/expenseAccountId` request property's maxLength was set to `36`
  - the `salesAndPurchaseDetails/incomeAccountId` request property's maxLength was set to `36`
  - the `salesAndPurchaseDetails/preferredVendorId` request property's maxLength was set to `36`
  - the `salesAndPurchaseDetails/purchaseTaxCodeId` request property's maxLength was set to `36`
  - the `salesOrPurchaseDetails/postingAccountId` 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`: 14 breaking, 8 info
  - response property `barcode` 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`
  - the `class` 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 `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 `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 `salesTaxCode/fullName` from the response with the `200` status
  - removed the required property `salesTaxCode/id` from the response with the `200` status
  - removed the required property `unitOfMeasureSet/fullName` from the response with the `200` status
  - removed the required property `unitOfMeasureSet/id` from the response with the `200` status
  - added `#/components/schemas/qbd_sales_and_purchase_details, subschema #2` to the `salesAndPurchaseDetails` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/qbd_sales_or_purchase_details, subschema #2` to the `salesOrPurchaseDetails` response property `anyOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `class` response property `anyOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `parent` response property `anyOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `salesTaxCode` response property `anyOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `unitOfMeasureSet` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/qbd_sales_and_purchase_details, subschema #2` from the `salesAndPurchaseDetails` response property `oneOf` list for the response status `200`
  - removed `#/components/schemas/qbd_sales_or_purchase_details, subschema #2` from the `salesOrPurchaseDetails` response property `oneOf` list for the response status `200`
- **2026-04-20** `8e0b7df2044d`: 12 breaking, 17 info
  - the response property `barcode` became nullable for the status `200`
  - the response property `class` became nullable for the status `200`
  - the response property `externalId` became nullable for the status `200`
  - the response property `parent` became nullable for the status `200`
  - the response property `salesTaxCode` became nullable for the status `200`
  - the response property `unitOfMeasureSet` became nullable for the status `200`
  - added `#/components/schemas/qbd_sales_and_purchase_details, subschema #2` to the `salesAndPurchaseDetails` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/qbd_sales_or_purchase_details, subschema #2` to the `salesOrPurchaseDetails` response property `oneOf` list for the response status `200`
  - the `class` 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 `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 `^([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 `#/components/schemas/qbd_sales_and_purchase_details, subschema #2` from the `salesAndPurchaseDetails` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/qbd_sales_or_purchase_details, subschema #2` from the `salesOrPurchaseDetails` response property `anyOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `class` 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`
  - removed `subschema #1, subschema #2` from the `salesTaxCode` response property `anyOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `unitOfMeasureSet` response property `anyOf` list for the response status `200`
  - response property `barcode` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - response property `externalId` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - added the required property `class/fullName` to the response with the `200` status
  - added the required property `class/id` to the response with the `200` status
  - added the required property `parent/fullName` to the response with the `200` status
  - added the required property `parent/id` to the response with the `200` status
  - added the required property `salesTaxCode/fullName` to the response with the `200` status
  - added the required property `salesTaxCode/id` to the response with the `200` status
  - added the required property `unitOfMeasureSet/fullName` to the response with the `200` status
  - added the required property `unitOfMeasureSet/id` to the response with the `200` status
- **2026-04-20** `5f832f695675`: 15 breaking, 8 info
  - 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 `barcode` 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`
  - the `class` 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 `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 `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 `salesTaxCode/fullName` from the response with the `200` status
  - removed the required property `salesTaxCode/id` from the response with the `200` status
  - removed the required property `unitOfMeasureSet/fullName` from the response with the `200` status
  - removed the required property `unitOfMeasureSet/id` from the response with the `200` status
  - added `#/components/schemas/qbd_sales_and_purchase_details, subschema #2` to the `salesAndPurchaseDetails` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/qbd_sales_or_purchase_details, subschema #2` to the `salesOrPurchaseDetails` response property `anyOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `class` response property `anyOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `parent` response property `anyOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `salesTaxCode` response property `anyOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `unitOfMeasureSet` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/qbd_sales_and_purchase_details, subschema #2` from the `salesAndPurchaseDetails` response property `oneOf` list for the response status `200`
  - removed `#/components/schemas/qbd_sales_or_purchase_details, subschema #2` from the `salesOrPurchaseDetails` response property `oneOf` list for the response status `200`
- **2026-04-15** `2e591208a875`: 1 breaking
  - the response property `salesAndPurchaseDetails/oneOf[subschema #1: The Sales-and-Purchase Details object]/incomeAccount` became nullable for the status `200`

---

[Operation](https://skmtc.dev/conductor-is/apis/conductor-api/docs/quickbooks-desktop/service-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/service-items/post)
