Create an inventory site

Creates an inventory site for companies using QuickBooks Enterprise with Advanced Inventory.

post/quickbooks-desktop/inventory-sites

Headers

Conductor-End-User-Idstring required

The ID of the End-User to receive this request.

Example:end_usr_1234567abcdefg

The ID of the End-User to receive this request.

Request body

namestring required

The case-insensitive unique name of this inventory site, unique across all inventory sites.

NOTE: Inventory sites do not have a fullName field because they are not hierarchical objects, which is why name is unique for them but not for objects that have parents.

Maximum length: 31 characters.

isActiveboolean

Indicates whether this inventory site is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to true.

parentIdstring

The parent inventory site one level above this one in the hierarchy.

descriptionstring

A description of this inventory site.

emailstring

The inventory site's email address.

Example request

{
  "name": "Stockroom",
  "isActive": true,
  "parentId": "80000001-1234567890",
  "description": "Main Stockroom for Electronics",
  "email": "inventory-site@example.com",
  "address": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States"
  }
}

Response

Returns the newly created inventory site.

idstring required

The unique identifier assigned by QuickBooks to this inventory site. This ID is unique across all inventory sites but not across different QuickBooks object types.

objectType'qbd_inventory_site' required

The type of object. This value is always "qbd_inventory_site".

createdAtstring required

The date and time when this inventory site was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.

updatedAtstring required

The date and time when this inventory site was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.

revisionNumberstring required

The current QuickBooks-assigned revision number of this inventory site object, which changes each time the object is modified. When updating this object, you must provide the most recent revisionNumber to ensure you're working with the latest data; otherwise, the update will return an error.

namestring required

The case-insensitive unique name of this inventory site, unique across all inventory sites.

NOTE: Inventory sites do not have a fullName field because they are not hierarchical objects, which is why name is unique for them but not for objects that have parents.

isActiveboolean required

Indicates whether this inventory site is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to true.

isDefaultboolean nullable required

Indicates whether this inventory site is the default site used when no specific site is provided during the creation of other objects.

descriptionstring nullable required

A description of this inventory site.

contactstring nullable required

The name of the primary contact person for this inventory site.

phonestring nullable required

The inventory site's primary telephone number.

faxstring nullable required

The inventory site's fax number.

emailstring nullable required

The inventory site's email address.

Example response

{
  "id": "80000001-1234567890",
  "objectType": "qbd_inventory_site",
  "createdAt": "2025-01-01T12:34:56+00:00",
  "updatedAt": "2025-02-01T12:34:56+00:00",
  "revisionNumber": "1721172183",
  "name": "Stockroom",
  "isActive": true,
  "parent": {
    "id": "80000001-1234567890",
    "fullName": "Romulus Warehouse:Stockroom"
  },
  "isDefault": true,
  "description": "Main Stockroom for Electronics",
  "contact": "Jane Smith",
  "phone": "+1-555-123-4567",
  "fax": "+1-555-555-1212",
  "email": "inventory-site@example.com",
  "address": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States"
  }
}

Changes

Changed in 4 of the 46 revisions of this API.27116

    • the parentId request property's maxLength was set to 36

      request-property-max-length-set

  • 10d4e9ebd1df93See the full diff
    • response property contact list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property description list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property email list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property fax list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property isDefault list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property phone list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • the parent response's property type/format changed from object null/ to / for status 200

      response-property-type-changed

    • removed the required property parent/fullName from the response with the 200 status

      response-required-property-removed

    • removed the required property parent/id from the response with the 200 status

      response-required-property-removed

    • added qbd_site_address subschema #2 to the address response property anyOf list for the response status 200

      response-property-any-of-added

    • added subschema #1 subschema #2 to the parent response property anyOf list for the response status 200

      response-property-any-of-added

    • removed qbd_site_address subschema #2 from the address response property oneOf list for the response status 200

      response-property-one-of-removed

  • 8e0b7df2044d910See the full diff
    • the response property contact became nullable for the status 200

      response-property-became-nullable

    • the response property description became nullable for the status 200

      response-property-became-nullable

    • the response property email became nullable for the status 200

      response-property-became-nullable

    • the response property fax became nullable for the status 200

      response-property-became-nullable

    • the response property isDefault became nullable for the status 200

      response-property-became-nullable

    • the response property parent became nullable for the status 200

      response-property-became-nullable

    • the response property phone became nullable for the status 200

      response-property-became-nullable

    • added qbd_site_address subschema #2 to the address response property oneOf list for the response status 200

      response-property-one-of-added

    • the parent response's property type/format changed from / to object null/ for status 200

      response-property-type-changed

    • removed qbd_site_address subschema #2 from the address response property anyOf list for the response status 200

      response-property-any-of-removed

    • removed subschema #1 subschema #2 from the parent response property anyOf list for the response status 200

      response-property-any-of-removed

    • response property contact list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property description list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property email list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property fax list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property isDefault list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property phone list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • added the required property parent/fullName to the response with the 200 status

      response-required-property-added

    • added the required property parent/id to the response with the 200 status

      response-required-property-added

  • 5f832f69567593See the full diff
    • response property contact list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property description list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property email list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property fax list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property isDefault list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property phone list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • the parent response's property type/format changed from object null/ to / for status 200

      response-property-type-changed

    • removed the required property parent/fullName from the response with the 200 status

      response-required-property-removed

    • removed the required property parent/id from the response with the 200 status

      response-required-property-removed

    • added qbd_site_address subschema #2 to the address response property anyOf list for the response status 200

      response-property-any-of-added

    • added subschema #1 subschema #2 to the parent response property anyOf list for the response status 200

      response-property-any-of-added

    • removed qbd_site_address subschema #2 from the address response property oneOf list for the response status 200

      response-property-one-of-removed