Update single item inventory by ship node
Market availability: Global
Call this endpoint to update the inventory for a single SKU across one or more ship nodes. In this call, the SKU is passed as a path parameter, and the request body contains a list of ship nodes with their corresponding updated quantities. You can call this endpoint to update multiple fulfillment centers for one SKU in a single request.
Note: This page describes an example using only the required parameters and inputs for inventory updates. For a full list of customization options and additional capabilities, refer to the Marketplace Inventory API reference.
Market availability: Canada
To find out the current inventory for a seller’s item at one or more fulfillment centers, (i.e. ship nodes), use the MultiWareHouse GET Inventory API.
The response returns a collection, nodes, that provides individual information about each item quantity for each ship node. For an example response, see Response Samples in ultiWareHouse GET Inventory API Reference.
The API call returns the ship node ID and inventory quantity in unit and amount for inventory parameters : inputQty, availToSellQty and reservedQty, whereinputQtyrepresents total item inventory including items that are sold but not yet shipped.
The availToSellQty represents the inventory available for purchase only. Any items that are sold but not yet shipped will not show up in this count.
The reservedQty represents the count of items that are sold but not yet shipped.
For an example request payload, see Request Samples in the Update MultiWareHouse inventory API Reference.
Upon success, the API response returns the SKU, and for each ship node, status: “success.”
Endpoint
PUT https://marketplace.walmartapis.com/v3/inventories/{sku}Sample request
This sample request updates the inventory for one SKU across multiple ship nodes. The SKU appears as a path parameter, and the JSON payload lists the nodes with the required inventory details. Adjust the values as needed.
curl -X PUT "https://marketplace.walmartapis.com/v3/inventories/SKU_0001" \ -H "Authorization: Basic <Base64EncodedConsumerKey:ConsumerSecret>" \ -H "WM_SVC.NAME: Walmart Marketplace" \ -H "WM_QOS.CORRELATION_ID: 0123456789" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "inventories": { "nodes": [ { "inputQty": { "unit": "EACH" "amount": 88 }, "shipNode": "012345" }, { "inputQty": { "unit": "EACH" "amount": 88 }, "shipNode": "678901" } ] } }'import requests sku = "SKU_0001" # Replace with your actual SKU
url = f"https://marketplace.walmartapis.com/v3/inventories/{sku}" payload = { "inventories": { "nodes": [ { "inputQty": { "unit": "EACH" "amount": 88 }, "shipNode": "012345" }, { "inputQty": { "unit": "EACH" "amount": 88 }, "shipNode": "678901" } ] }
} headers = { "Authorization": "Basic <Base64EncodedConsumerKey:ConsumerSecret>", "WM_SVC.NAME": "Walmart Marketplace", "WM_QOS.CORRELATION_ID": "0123456789", "Accept": "application/json", "Content-Type": "application/json"
} response = requests.put(url, json=payload, headers=headers)
print("Status code:", response.status_code)
print("Response JSON:", response.json())Modify your code
- Replace
SKU_0001in the request URL with your SKU. - Adjust the request body if you need to include additional inventory details.
- Insert your Base64-encoded credentials in the
Authorizationheader.
Sample response
{ "sku": "SKU_0001", "nodes": [ { "shipNode": "012345", "status": "Success" }, { "shipNode": "678901", "status": "Success" } ]
}Result
If successful, the API returns HTTP status: 200 OK with a JSON response confirming the SKU update was processed for each ship node, the ship node details, and SUCCESS statuses.
Updated 23 days ago

