Request a CPA report
Use this report to manage participation in the Competitive Price Adjustment (CPA) program. It returns the Item Opt-in file for all SKUs that are eligible for CPA. If a SKU is not in the report, it is not eligible. If the report is empty, none of your items are eligible.
How CPA affects payment: If the price displayed to the customer is lower than the price you submitted, you receive the same payment as if the item’s price had not been adjusted.
Example: You set item price $50 with $5 shipping. The customer sees $48 with $5 shipping and is charged $48 with $5 shipping. Your payout is based on $50 item price and $5 shipping.
Endpoint
POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=CPA&reportVersion=v1
The request body is optional. When the request is accepted, the API returns a requestId you can use to track status and download the file.
Sample request
POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=CPA&reportVersion=v1
Authorization: Bearer <access_token>
WM_QOS.CORRELATION_ID: <guid>
WM_SVC.NAME: Walmart Marketplace
Accept: application/json
Content-Type: application/json {}
cURL
curl -X POST \ 'https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=CPA&reportVersion=v1' \ -H 'Authorization: Bearer <access_token>' \ -H 'WM_QOS.CORRELATION_ID: <guid>' \ -H 'WM_SVC.NAME: Walmart Marketplace' \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{}'
Use a new GUID for each call. Keep the
requestIdto track status and download the report.
Track and download
-
Check status until the report is ready.
GET https://marketplace.walmartapis.com/v3/reports/reportRequests/{requestId}Status values:
RECEIVED,INPROGRESS,READY,ERROR. -
Download once status is
READY.GET https://marketplace.walmartapis.com/v3/reports/downloadReport?requestId={requestId}
If you prefer not to poll, subscribe to Report status notifications and receive a callback when the file is ready.
Filters
Filters are not supported for this report. The file always includes all rows available to your account. After download, use your CSV tool to filter by SKU or columns as needed.
CSV fields
The report contains one row per SKU that appears in your CPA Item Opt-in file. Headers are case sensitive and appear exactly as shown.
| Field | Description | Origin |
|---|---|---|
SKU | Alphanumeric unique ID assigned by the seller to the item. | Seller |
SKU OPT IN | Opt-in status for the SKU. Valid values: Yes, No. | Seller |
PRODUCT NAME | Product name as shown on Walmart.com. | Walmart |
CURRENCY | Currency associated with price and shipping (for example, USD). | Seller |
PRICE | Current item price you submitted. | Seller |
SHIP PRICE | Shipping price for the item. | Seller |
Your file is the source of truth for the final header list. Some catalogs may add columns.
Error handling
Common failures when requesting or downloading reports:
| HTTP | Code (example) | When it happens | How to fix |
|---|---|---|---|
| 400 | MISSING_REQUEST_PARAM | Required parameter missing (for example, reportType). | Add the missing parameter and retry. |
| 400 | INVALID_REQUEST | Unsupported reportType or invalid shape. | Check reportType and reportVersion. |
| 401 | UNAUTHORIZED | Invalid or missing OAuth token. | Refresh your token and retry. |
| 404 | CONTENT_NOT_FOUND | Unknown or expired requestId. | Verify the requestId and retention. |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests. | Back off and retry with jitter. |
| 500 | INTERNAL_ERROR | Unexpected error. | Retry GET calls; contact support. |
See also
Updated 3 days ago
