---
updatedAt: 2026-04-12T09:25:24.000Z
---

# Update promotional pricing for a single item

Updates or deletes a promotional price for a single SKU. Set `processMode` to `UPSERT` to create or update a promotion, or`DELETE` to remove one. To remove all promotions for a SKU, set `replaceAll` to `true` and send an empty pricing array. The request accepts JSON with one or more pricing entries that define effective and expiration timestamps, price type, price amounts and currency, comparison price, and display placement (cart or checkout).

> **Note**: This page describes an example using only the required parameters and update a promotional price. For a full list of customization options and additional capabilities, refer to the [Marketplace Promotions API Reference](/us-marketplace/reference/updatepromotionalprices).

# Endpoint

```Text bash
PUT https://marketplace.walmartapis.com/v3/price
```

# Sample request

This sample request updates the price of an item with the specified promotion details.

```Text cURL
curl --request PUT \
     --url 'https://marketplace.walmartapis.com/v3/price?promo=true' \
     --header 'WM_SEC.ACCESS_TOKEN: <access_token>' \
     --header 'WM_QOS.CORRELATION_ID: <uuid>' \
     --header"WM_SVC.NAME: Walmart Marketplace" \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "pricing": [
    {
      "currentPriceType": "REDUCED",
      "currentPrice": {
        "currency": "USD",
        "amount": 4
      },
      "comparisonPrice": {
        "currency": "USD",
        "amount": 4
      },
      "comparisonPriceType": "BASE",
      "priceDisplayCodes": "CART",
      "effectiveDate": "2019-11-03T09:49:57.943Z",
      "expirationDate": "2019-12-03T09:49:57.943Z",
      "processMode": "UPSERT"
    }
  ],
  "sku": "97964_KFTest"
}
'
```
```Text Python
import requests

url = "https://marketplace.walmartapis.com/v1/order-fulfillment/status"
params = {"orderNumber": "SO123", "orderChannelId": "ORDER_CHANNEL_ID"}
headers = {
    "Authorization": "Bearer <ACCESS_TOKEN>",
    "martId": "202",
    "buId": "0",
    "Accept": "application/json",
}

response = requests.get(url, headers=headers, params=params, timeout=30)
response.raise_for_status()
print(response.json())
```
```Text Javascript
const url = new URL("https://marketplace.walmartapis.com/v3/price");
url.searchParams.set("promo", "true");

const res = await fetch(url, {
  method: "PUT",
  headers: {
    "WM_SEC.ACCESS_TOKEN": "<REDACTED>",
    "WM_QOS.CORRELATION_ID": crypto.randomUUID(),
    "WM_SVC.NAME": "Walmart Marketplace",
    "Content-Type": "application/json",
    "Accept": "application/json"
  },
  body: JSON.stringify({
    sku: "97964_KFTest",
    pricing: [{
      currentPrice: { currency: "USD", amount: 4.00 },
      currentPriceType: "REDUCED",
      comparisonPriceType: "BASE",
      comparisonPrice: { currency: "USD", amount: 4.99 },
      priceDisplayCodes: "CART",
      effectiveDate: "2019-11-03T09:49:57.943Z",
      expirationDate: "2019-12-03T09:49:57.943Z",
      processMode: "UPSERT"
    }]
  })
});

if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
const data = await res.json();
console.log(res.status, data);
```

## Modify your code

* Use a unique `WM_QOS.CORRELATION_ID` for each request.
* Replace `WM_SEC.ACCESS_TOKEN` with your valid access token obtained through authentication.

# Sample response

This sample response confirms the promotional price update was accepted for the SKU. Changes may take a few minutes to appear on the site.

```Text JSON
{
  "ItemPriceResponse": {
    "mart": "WALMART_US",
    "message": "Price has been updated for the item. It may take up to five minutes for this change to be reflected on the site.",
    "sku": "97964_KFTest"
  }
}
```

# Result

On success, this API Returns a `200 OK` response along with the SKU and an acknowledgement message.