---
title: "Changes to Create a customer"
method: POST
path: "/quickbooks-desktop/customers"
---

# Changes to Create a customer

`POST /quickbooks-desktop/customers`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 11 of 60 revisions.

- **2026-10-19** `1396ed78f0e1`: 28 warning
- **2026-06-13** `f5e8ad815f89`: 5 info
- **2026-06-13** `2b44baac3231`: 1 warning
- **2026-06-03** `fa0d99aff54e`: 1 warning
- **2026-05-02** `1de07095c4b7`: 11 warning
- **2026-05-02** `0adc2851bb7f`: 3 warning
- **2026-05-01** `246263e100a6`: 1 breaking
- **2026-04-20** `10d4e9ebd1df`: 81 breaking, 33 info
- **2026-04-20** `8e0b7df2044d`: 73 breaking, 16 warning, 89 info
- **2026-04-20** `5f832f695675`: 86 breaking, 33 info
- **2026-03-20** `09df225c4fd3`: 1 breaking

## Changes

- **2026-10-19** `1396ed78f0e1`: 28 warning
  - the `accountNumber` request property's maxLength was set to `99`
  - the `additionalContacts/items/customContactFields/items/name` request property's maxLength was set to `40`
  - the `additionalContacts/items/customContactFields/items/value` request property's maxLength was set to `255`
  - the `additionalContacts/items/jobTitle` request property's maxLength was set to `41`
  - the `additionalContacts/items/salutation` request property's maxLength was set to `15`
  - the `additionalNotes/items/note` request property's maxLength was set to `4095`
  - the `alternateContact` request property's maxLength was set to `41`
  - the `alternateShippingAddresses/items/country` request property's maxLength was set to `31`
  - the `alternateShippingAddresses/items/note` request property's maxLength was set to `41`
  - the `billingAddress/country` request property's maxLength was set to `31`
  - the `billingAddress/note` request property's maxLength was set to `41`
  - the `ccEmail` request property's maxLength was set to `1023`
  - the `contact` request property's maxLength was set to `41`
  - the `creditCard/address` request property's maxLength was set to `41`
  - the `creditCard/name` request property's maxLength was set to `41`
  - the `creditCard/number` request property's maxLength was set to `25`
  - the `creditCard/postalCode` request property's maxLength was set to `41`
  - the `customContactFields/items/name` request property's maxLength was set to `40`
  - the `customContactFields/items/value` request property's maxLength was set to `255`
  - the `email` request property's maxLength was set to `1023`
  - the `jobDescription` request property's maxLength was set to `99`
  - the `jobTitle` request property's maxLength was set to `41`
  - the `note` request property's maxLength was set to `4095`
  - the `resaleNumber` request property's maxLength was set to `15`
  - the `salutation` request property's maxLength was set to `15`
  - the `shippingAddress/country` request property's maxLength was set to `31`
  - the `shippingAddress/note` request property's maxLength was set to `41`
  - the `taxRegistrationNumber` request property's maxLength was set to `30`
- **2026-06-13** `f5e8ad815f89`: 5 info
  - removed the `australia` enum value from the `salesTaxCountry/anyOf[subschema #1]/` response property for the response status `200`
  - removed the `canada` enum value from the `salesTaxCountry/anyOf[subschema #1]/` response property for the response status `200`
  - removed the `uk` enum value from the `salesTaxCountry/anyOf[subschema #1]/` response property for the response status `200`
  - removed the `united_arab_emirates` enum value from the `salesTaxCountry/anyOf[subschema #1]/` response property for the response status `200`
  - removed the `us` enum value from the `salesTaxCountry/anyOf[subschema #1]/` response property for the response status `200`
- **2026-06-13** `2b44baac3231`: 1 warning
  - added the new `united_arab_emirates` enum value to the `salesTaxCountry/anyOf[subschema #1]/` response property for the response status `200`
- **2026-06-03** `fa0d99aff54e`: 1 warning
  - the `companyName` request property's maxLength was set to `41`
- **2026-05-02** `1de07095c4b7`: 11 warning
  - the `classId` request property's maxLength was set to `36`
  - the `currencyId` request property's maxLength was set to `36`
  - the `customerTypeId` request property's maxLength was set to `36`
  - the `jobTypeId` request property's maxLength was set to `36`
  - the `parentId` request property's maxLength was set to `36`
  - the `preferredPaymentMethodId` request property's maxLength was set to `36`
  - the `priceLevelId` request property's maxLength was set to `36`
  - the `salesRepresentativeId` request property's maxLength was set to `36`
  - the `salesTaxCodeId` request property's maxLength was set to `36`
  - the `salesTaxItemId` request property's maxLength was set to `36`
  - the `termsId` request property's maxLength was set to `36`
- **2026-05-02** `0adc2851bb7f`: 3 warning
  - the `alternatePhone` request property's maxLength was set to `21`
  - the `fax` request property's maxLength was set to `21`
  - the `phone` request property's maxLength was set to `21`
- **2026-05-01** `246263e100a6`: 1 breaking
  - response property `alternateShippingAddresses` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
- **2026-04-20** `10d4e9ebd1df`: 81 breaking, 33 info
  - response property `accountNumber` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/customContactFields/items/value` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/jobTitle` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/lastName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/middleName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/name` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/salutation` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalNotes/items/date` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateContact` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternatePhone` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/city` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/country` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/isDefaultShippingAddress` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line1` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line2` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line3` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line4` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line5` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/name` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/note` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/postalCode` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/state` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `balance` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `ccEmail` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `companyName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `contact` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `creditLimit` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `customContactFields/items/value` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `email` 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 `fax` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `firstName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `jobDescription` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `jobEndDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `jobProjectedEndDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `jobStartDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `jobStatus` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `jobTitle` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `lastName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `middleName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - …74 more
- **2026-04-20** `8e0b7df2044d`: 73 breaking, 16 warning, 89 info
  - the response property `accountNumber` became nullable for the status `200`
  - the response property `additionalContacts/items/customContactFields/items/value` became nullable for the status `200`
  - the response property `additionalContacts/items/jobTitle` became nullable for the status `200`
  - the response property `additionalContacts/items/lastName` became nullable for the status `200`
  - the response property `additionalContacts/items/middleName` became nullable for the status `200`
  - the response property `additionalContacts/items/name` became nullable for the status `200`
  - the response property `additionalContacts/items/salutation` became nullable for the status `200`
  - the response property `additionalNotes/items/date` became nullable for the status `200`
  - the response property `alternateContact` became nullable for the status `200`
  - the response property `alternatePhone` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/city` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/country` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/isDefaultShippingAddress` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/line1` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/line2` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/line3` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/line4` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/line5` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/name` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/note` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/postalCode` became nullable for the status `200`
  - the response property `alternateShippingAddresses/items/state` became nullable for the status `200`
  - the response property `balance` became nullable for the status `200`
  - the response property `ccEmail` became nullable for the status `200`
  - the response property `class` became nullable for the status `200`
  - the response property `companyName` became nullable for the status `200`
  - the response property `contact` became nullable for the status `200`
  - the response property `creditLimit` became nullable for the status `200`
  - the response property `currency` became nullable for the status `200`
  - the response property `customContactFields/items/value` became nullable for the status `200`
  - the response property `customerType` became nullable for the status `200`
  - the response property `email` became nullable for the status `200`
  - the response property `externalId` became nullable for the status `200`
  - the response property `fax` became nullable for the status `200`
  - the response property `firstName` became nullable for the status `200`
  - the response property `jobDescription` became nullable for the status `200`
  - the response property `jobEndDate` became nullable for the status `200`
  - the response property `jobProjectedEndDate` became nullable for the status `200`
  - the response property `jobStartDate` became nullable for the status `200`
  - the response property `jobStatus` became nullable for the status `200`
  - …138 more
- **2026-04-20** `5f832f695675`: 86 breaking, 33 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 `jobEndDate`
  - 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 `jobProjectedEndDate`
  - 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 `jobStartDate`
  - 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 `openingBalanceDate`
  - 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 `accountNumber` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/customContactFields/items/value` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/jobTitle` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/lastName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/middleName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/name` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalContacts/items/salutation` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `additionalNotes/items/date` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateContact` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternatePhone` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/city` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/country` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/isDefaultShippingAddress` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line1` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line2` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line3` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line4` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/line5` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/name` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/note` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/postalCode` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `alternateShippingAddresses/items/state` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `balance` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `ccEmail` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `companyName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `contact` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `creditLimit` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `customContactFields/items/value` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `email` 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 `fax` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `firstName` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `jobDescription` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `jobEndDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `jobProjectedEndDate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - …79 more
- **2026-03-20** `09df225c4fd3`: 1 breaking
  - the response property `alternateShippingAddresses/items/name` became nullable for the status `200`

---

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