InventoryProducts
An inventory product represents a set of stocked items that share a product and a location. When an inventory product is manually created, stocked items are also created. The InventoryProducts entity is the container where you define inventory location, minimum and maximum stocking levels, and can see the summary of the product (Available, Reserved, etc.).
NOTE You can refer to the Online Help to find root and child access URLs of the entity you wish to query. Refer to Finding resource and child access URLs of REST API entities for more information.
Entity details
Entity Name: | InventoryProducts |
Entity Path: |
/atservicesrest/v1.0/InventoryProducts |
Can Create: | |
Can Update: | |
Can Query: | |
Can Delete: | |
Can Have UDFs: |
IMPORTANT Requests to this entity require special handling. Refer to the Entity URLs and relationships section of this article for details.
- If this entity has a Parent relationship, you must perform all Create, Update, and Delete actions on the parent entity.
- If this entity is a child of a parent, you can leverage our Swagger instance to find the URLs you should use in your API calls. For more information, refer to Finding resource and child access URLs of REST API entities.
- To learn how to access Swagger, refer to Using Swagger UI to explore REST API requests.
Parent | None |
Children |
InventoryStockedItems, InventoryStockedItemsAdd, InventoryStockedItemsRemove, InventoryStockedItemsTransfer |
URLs | InventoryProducts (POST, PUT, PATCH) InventoryProducts{id} (GET, DELETE) InventoryProduct/squery (GET, POST) InventoryProducts/query/count (GET, POST) InventoryProducts/entityInformation (GET) InventoryProducts/entityInformation/fields (GET) |
Conditions and requirements
General
-
inventoryProducts cannot be deleted if the reservedUnits or pickedUnits values are greater than 0.
-
Following the release of Autotask 2022.1, it is no longer possible to update the quantity on hand of an inventory product. The field is now calculated based on the stocked items as follows:
-
To increase the quantity on hand of a product in inventory, you'll need to send a Create request to the InventoryStockedItemsAdd endpoint for the product to increase.
-
For serialized items, each serial number requires a new Create request against InventoryStockedItemsAdd. Only one serial number can exist per row.
-
-
To decrease the quantity on hand of a product in inventory, you'll need to send an Update request to the InventoryStockedItemsRemove endpoint for the product to decrease.
-
If the product is serialized, you'll need to query InventoryStockedItems for the serial number. Set the quantityOnHand value to 0 and the quantityRemoved value to 1. If required, reasonForUpdate must also be included.
-
If the product is not serialized, query InventoryStockedItems for the product associated with the inventory location. The query may return multiple rows. Decide which of the resulting rows will be updated. We recommend reducing the quantity from the oldest item.
-
-
For serialized items, the sum of onHandUnits, reservedUnits, transferredUnits, removedUnits, pickedUnits, and deliveredUnits will always equal 1.
-
For non-serialized items, the sum of onHandUnits, reservedUnits, transferredUnits, removedUnits, pickedUnits, and deliveredUnits is always equal to the value of the purchaseOrderItemReceiving.quantityPreviouslyReceived field.
-
-
To determine the original received quantity, query the PurchaseOrderItemReceiving entity.
Special field attributes
Field | Conditions and Requirements |
---|---|
availableUnits | Deleting an inventoryProduct with an availableUnits value > 0 will remove the inventoryStocked value before deleting the inventoryProduct. |
inventoryLocationID | This field will be read-only if you are modifying an existing record. It is required during Create operations. |
quanityMax | Values passed to this field must be greater than quantityMin. The exception to this rule is when setting both quanityMin and quantityMax to 0. |
Field definitions
The following table describes the standard Autotask fields for this entity. Refer to the following articles for more information about working with these fields:
- The entityInformation REST API call
- Making basic query calls to the REST API
- Advanced query features of the REST API
To learn how to query picklist endpoints, refer to Understanding picklists.
Notes
- For string datatypes, the number in parentheses ( ) indicates the maximum number of characters allowed.
- LT indicates Local Term.
- If this entity has child collections, they will appear in a Child collection access URLs or an Entity URLs and relationships drop-down in the Entity details section of this article.
- You can call the /query/count/ endpoint of a resource to determine how many records a collection holds.
Field Name | Datatype | Read-Only | Is Required | Reference Name | Picklist |
---|---|---|---|---|---|
availableUnits | integer | ||||
backOrderQuantity | integer | ||||
bin | string (50) | ||||
createDateTime | datetime | ||||
createdByResourceID | integer | Resources | |||
id | long | ||||
inventoryLocationID | integer | InventoryLocations | |||
onHandUnits | integer | ||||
pickedUnits | integer | ||||
productID | integer | Products | |||
quantityMaximum | integer | ||||
quantityMinimum | integer | ||||
referenceNumber | string (50) | ||||
reservedUnits |
integer |
|
|
|
|
unitsOnOrder |
integer |
|
|
|