v54

latestOpenAPI 3.0.0raw.githubusercontent.com2026-08-01594762.7 KB
Inventory

Update inventory by SKU and warehouse

Updates inventory quantity and lead time for a given SKU in a warehouse.

ℹ️ If you wish to configure lead time exclusively, use the Update inventory lead time by SKU and warehouse endpoint, and if the quantity only, use the Update inventory quantity by SKU and warehouse endpoint.

This endpoint allows you to:

  • Define a quantity: Indicate a specific number of items of a SKU from a warehouse, and it will decrease whenever an item is sold. When the last item is sold, the SKU will run out of stock.

  • Set an unlimited inventory: Always have items of a SKU from a warehouse considered available for sale. When this configuration is active, the SKU never goes out of stock.

  • Configure lead time: Set the lead time for a given SKU from a warehouse, and this period will be added to the order total shipping time. This configuration is optional and by default it is set to 0 days.

Successful requests receive a 200 OK status code with true in the response body, and unsuccessful requests receive a 400 Bad Request error code.

❗ Requests made with an incomplete response body can be successful and receive a 200 OK message. However, sending the request body without the leadTime field sets the SKU lead time to 0. The same is valid for the quantity field, which, if not sent, makes the SKU count equal to 0.

Permissions

Any user or API key must have at least one of the appropriate License Manager resources to be able to successfully run this request. Otherwise they will receive a status code 403 error. These are the applicable resources for this endpoint:

ProductCategoryResource
LogisticsLogistics accessLogistics full access
LogisticsLogistics accessLogistics inventory full access

You can create a custom role with that resource or use one of the following predefined roles:

RoleResource
Logistics - Full accessLogistics full access
OMS - Full accessLogistics full access
Logistics - Full accessLogistics inventory full access
OMS - Full accessLogistics inventory full access

❗ Assigning a predefined role to users or application keys usually grants permission to multiple License Manager resources. If some of these permissions are not necessary, consider creating a custom role instead. For more information regarding security, see Best practices for using application keys. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication.

put/api/logistics/pvt/inventory/skus/{skuId}/warehouses/{warehouseId}

Path parameters

skuIdstring required
Example:25

Unique identifier of the SKU you wish to update.

warehouseIdstring required
Example:store-warehouse

Unique identifier of the warehouse of the SKU you wish to update.

Headers

Content-Typestring required
Example:application/json

Type of the content being sent.

Acceptstring required
Example:application/json

HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.

Request body

quantityinteger required

Quantity of SKU units you wish to update the inventory in the given warehouse. Note that:

  • Sending it as null sets the quantity to 0.

  • Not sending it sets the quantity to 0.

  • Sending unlimitedQuantity as true overrules the quantity.

unlimitedQuantityboolean required

When set as true, you make the SKU from the given warehouse permanently available for sales. No matter how many units are sold, the default quantity of 1000000 units does not decrease, and the store never runs out of stock. When set as false, every sold unit will decrease your inventory quantity. Note that:

  • Sending this field as null sets the value to false.

  • Not sending this field sets the value to false.

  • Sending this field as true overrules the quantity field.

dateUtcOnBalanceSystemstring

Defines the date and time of the warehouse when the SKU was updated. This can be useful for liberating handling order reservations, for example. The format is ISO 8601 time zone offset format, as in YYYY-MM-DDThh:mm:ss.ssZ. When the value is null or empty, the default will be the date and time of the request being made.

leadTimestring required

Defines the lead time, which is an optional time configuration you can make for a SKU in a warehouse. It can be handling time, fabrication or how long it takes for the item to be available to be shipped to customers.

The lead time is a part of the total shipping time and will be considered for shipping date calculation.

The format is dd.hh:mm:ss (days.hours:minutes:seconds). Note that:

  • Sending this field as null sets the value to 0.

  • Not sending this field sets the value to 0.

Example request

{
  "quantity": 202,
  "dateUtcOnBalanceSystem": "2024-06-13T00:52:16",
  "leadTime": "10.10:00:00"
}

Response

OK