Update single item inventory by ship node

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.

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

  1. Replace SKU_0001 in the request URL with your SKU.
  2. Adjust the request body if you need to include additional inventory details.
  3. Insert your Base64-encoded credentials in the Authorization header.

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.