Duplicate dispute contest
Use the Dispute submission API to open or re-open a dispute for items you believe were incorrectly marked as duplicates. Submit one or more product identifiers, and the service acknowledges receipt so your dispute can proceed through review. You can submit dispute for up to 100 items at a time.
How it works
- You send an array of issues, each with a
productIdandproductIdType. - The service validates the payload and enqueues each dispute for review.
- A successful request returns status: "ACKNOWLEDGED" to confirm intake.
- You can later check progress using the duplicate Dispute status API.
Endpoint
POST https://sandbox.walmartapis.com/v3/items/dispute/duplicates/contest
Sample request
curl -X 'POST' '<https://sandbox.walmartapis.com/v3/items/dispute/duplicates/contest'> -H 'accept: application/json' -H 'WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....' -H 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6' -H 'WM_SVC.NAME: Walmart Service Name' -H 'Content-Type: application/json' -d '{ "issues": [ { "productId": "string", "productIdType": "string" } ] }'
import requests url = "https://sandbox.walmartapis.com/v3/items/dispute/duplicates/contest"
headers = { "accept": "application/json", "WM_SEC.ACCESS_TOKEN": "eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....", # Replace with your actual token "WM_QOS.CORRELATION_ID": "b3261d2d-028a-4ef7-8602-633c23200af6", "WM_SVC.NAME": "Walmart Service Name", "Content-Type": "application/json"
}
data = { "issues": [ { "productId": "string", "productIdType": "string" } ]
} response = requests.post(url, headers=headers, json=data)
print(response.status_code)
print(response.json())
Modify the code
Follow these steps to customize the request and get a successful response:
- Replace the access token and other placeholder header values with your actual data.
- Populate the body with real identifiers
productId: A valid ID for the disputed item.productIdType: The correct type for the ID you send (for example, WPID). Keep types consistent.
- Add additional objects under
issuesto contest several items in one call. - Verify success criteria
- HTTP status: 200 OK
- Body: { "status": "ACKNOWLEDGED" } indicates the dispute was received. Use the Dispute status API to track progress after intake.
- Resilience and safe logging: On 429 or 5xx, retry with exponential backoff and random jitter. Log only non-sensitive metadata (timestamp, method, path, status, attempt); never log tokens or PII.
Sample response
{ "status": "ACKNOWLEDGED" }
Next steps
- Poll the Dispute status API endpoint to track each item’s progress.
- Move completed items into your downstream catalog workflows once review finishes.
Updated 3 days ago
