Retrieve an inventory item
Retrieves an inventory item by ID.
IMPORTANT: If you need to fetch multiple specific inventory items by ID, use the list endpoint instead with the ids parameter. It accepts an array of IDs so you can batch the request into a single call, which is significantly faster.
Path parameters
The QuickBooks-assigned unique identifier of the inventory item to retrieve.
The QuickBooks-assigned unique identifier of the inventory item to retrieve.
Headers
The ID of the End-User to receive this request.
The ID of the End-User to receive this request.
Response
Returns the specified inventory item.
Example response
{
"id": "80000001-1234567890",
"objectType": "qbd_inventory_item",
"createdAt": "2025-01-01T12:34:56+00:00",
"updatedAt": "2025-02-01T12:34:56+00:00",
"revisionNumber": "1721172183",
"name": "Cabinet",
"fullName": "Kitchen:Cabinet",
"barcode": "012345678905",
"isActive": true,
"class": {
"id": "80000001-1234567890",
"fullName": "Furniture"
},
"parent": {
"id": "80000001-1234567890",
"fullName": "Kitchen"
},
"sublevel": 1,
"sku": "MPN-123456",
"unitOfMeasureSet": {
"id": "80000001-1234567890",
"fullName": "Weight Units"
},
"salesTaxCode": {
"id": "80000001-1234567890",
"fullName": "Non"
},
"salesDescription": "High-quality steel bolts suitable for construction",
"salesPrice": "19.99",
"incomeAccount": {
"id": "80000001-1234567890",
"fullName": "Income:Product Sales"
},
"purchaseDescription": "Bulk purchase of steel bolts for inventory",
"purchaseCost": "15.75",
"purchaseTaxCode": {
"id": "80000001-1234567890",
"fullName": "GST"
},
"cogsAccount": {
"id": "80000001-1234567890",
"fullName": "Expenses:COGS"
},
"preferredVendor": {
"id": "80000001-1234567890",
"fullName": "Acme Supplies Ltd."
},
"assetAccount": {
"id": "80000001-1234567890",
"fullName": "Assets:Inventory"
},
"reorderPoint": 50,
"maximumQuantityOnHand": 200,
"quantityOnHand": 150,
"averageCost": "16.50",
"quantityOnPurchaseOrder": 10,
"quantityOnSalesOrder": 10,
"externalId": "12345678-abcd-1234-abcd-1234567890ab",
"customFields": [
{
"ownerId": "0",
"name": "Customer Rating",
"type": "string_1024_type",
"value": "Premium"
}
]
}Changes
Changed in 5 of the 46 revisions of this API.108152
- ●
for the
pathrequest parameterid, the maxLength was set to36request-parameter-max-length-set
- ●
- ▲
response property
assetAccount/fullNamelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
assetAccount/idlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
averageCostlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
barcodelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
cogsAccount/fullNamelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
cogsAccount/idlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
externalIdlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
maximumQuantityOnHandlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
purchaseCostlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
purchaseDescriptionlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
quantityOnHandlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
quantityOnPurchaseOrderlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
quantityOnSalesOrderlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
reorderPointlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
salesDescriptionlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
salesPricelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
skulist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
the
classresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
incomeAccountresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
parentresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
preferredVendorresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
purchaseTaxCoderesponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
salesTaxCoderesponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
unitOfMeasureSetresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
removed the required property
class/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
class/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
incomeAccount/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
incomeAccount/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
parent/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
parent/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
preferredVendor/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
preferredVendor/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
purchaseTaxCode/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
purchaseTaxCode/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
salesTaxCode/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
salesTaxCode/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
unitOfMeasureSet/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
unitOfMeasureSet/idfrom the response with the200statusresponse-required-property-removed
- ○
added
subschema #1subschema #2to theclassresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theincomeAccountresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theparentresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thepreferredVendorresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thepurchaseTaxCoderesponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thesalesTaxCoderesponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theunitOfMeasureSetresponse propertyanyOflist for the response status200response-property-any-of-added
- ▲
- ▲
the response property
assetAccount/fullNamebecame nullable for the status200response-property-became-nullable
- ▲
the response property
assetAccount/idbecame nullable for the status200response-property-became-nullable
- ▲
the response property
averageCostbecame nullable for the status200response-property-became-nullable
- ▲
the response property
barcodebecame nullable for the status200response-property-became-nullable
- ▲
the response property
classbecame nullable for the status200response-property-became-nullable
- ▲
the response property
cogsAccount/fullNamebecame nullable for the status200response-property-became-nullable
- ▲
the response property
cogsAccount/idbecame nullable for the status200response-property-became-nullable
- ▲
the response property
externalIdbecame nullable for the status200response-property-became-nullable
- ▲
the response property
incomeAccountbecame nullable for the status200response-property-became-nullable
- ▲
the response property
maximumQuantityOnHandbecame nullable for the status200response-property-became-nullable
- ▲
the response property
parentbecame nullable for the status200response-property-became-nullable
- ▲
the response property
preferredVendorbecame nullable for the status200response-property-became-nullable
- ▲
the response property
purchaseCostbecame nullable for the status200response-property-became-nullable
- ▲
the response property
purchaseDescriptionbecame nullable for the status200response-property-became-nullable
- ▲
the response property
purchaseTaxCodebecame nullable for the status200response-property-became-nullable
- ▲
the response property
quantityOnHandbecame nullable for the status200response-property-became-nullable
- ▲
the response property
quantityOnPurchaseOrderbecame nullable for the status200response-property-became-nullable
- ▲
the response property
quantityOnSalesOrderbecame nullable for the status200response-property-became-nullable
- ▲
the response property
reorderPointbecame nullable for the status200response-property-became-nullable
- ▲
the response property
salesDescriptionbecame nullable for the status200response-property-became-nullable
- ▲
the response property
salesPricebecame nullable for the status200response-property-became-nullable
- ▲
the response property
salesTaxCodebecame nullable for the status200response-property-became-nullable
- ▲
the response property
skubecame nullable for the status200response-property-became-nullable
- ▲
the response property
unitOfMeasureSetbecame nullable for the status200response-property-became-nullable
- ▲
the
classresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
incomeAccountresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
parentresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
preferredVendorresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
purchaseTaxCoderesponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
salesTaxCoderesponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
unitOfMeasureSetresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ○
removed
subschema #1subschema #2from theclassresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from theincomeAccountresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from theparentresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from thepreferredVendorresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from thepurchaseTaxCoderesponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from thesalesTaxCoderesponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from theunitOfMeasureSetresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
response property
assetAccount/fullNamelist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
assetAccount/idlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
averageCostlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
barcodelist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
cogsAccount/fullNamelist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
cogsAccount/idlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
externalIdlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
maximumQuantityOnHandlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
purchaseCostlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
purchaseDescriptionlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
quantityOnHandlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
quantityOnPurchaseOrderlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
quantityOnSalesOrderlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
reorderPointlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
salesDescriptionlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
salesPricelist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
skulist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
added the required property
class/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
class/idto the response with the200statusresponse-required-property-added
- ○
added the required property
incomeAccount/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
incomeAccount/idto the response with the200statusresponse-required-property-added
- ○
added the required property
parent/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
parent/idto the response with the200statusresponse-required-property-added
- ○
added the required property
preferredVendor/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
preferredVendor/idto the response with the200statusresponse-required-property-added
- ○
added the required property
purchaseTaxCode/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
purchaseTaxCode/idto the response with the200statusresponse-required-property-added
- ○
added the required property
salesTaxCode/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
salesTaxCode/idto the response with the200statusresponse-required-property-added
- ○
added the required property
unitOfMeasureSet/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
unitOfMeasureSet/idto the response with the200statusresponse-required-property-added
- ▲
- ▲
response property
assetAccount/fullNamelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
assetAccount/idlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
averageCostlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
barcodelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
cogsAccount/fullNamelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
cogsAccount/idlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
externalIdlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
maximumQuantityOnHandlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
purchaseCostlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
purchaseDescriptionlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
quantityOnHandlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
quantityOnPurchaseOrderlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
quantityOnSalesOrderlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
reorderPointlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
salesDescriptionlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
salesPricelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
skulist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
the
classresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
incomeAccountresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
parentresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
preferredVendorresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
purchaseTaxCoderesponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
salesTaxCoderesponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
unitOfMeasureSetresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
removed the required property
class/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
class/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
incomeAccount/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
incomeAccount/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
parent/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
parent/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
preferredVendor/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
preferredVendor/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
purchaseTaxCode/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
purchaseTaxCode/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
salesTaxCode/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
salesTaxCode/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
unitOfMeasureSet/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
unitOfMeasureSet/idfrom the response with the200statusresponse-required-property-removed
- ○
added
subschema #1subschema #2to theclassresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theincomeAccountresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theparentresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thepreferredVendorresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thepurchaseTaxCoderesponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thesalesTaxCoderesponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theunitOfMeasureSetresponse propertyanyOflist for the response status200response-property-any-of-added
- ▲
- ▲
the response property
incomeAccountbecame nullable for the status200response-property-became-nullable
- ▲