---
updatedAt: 2026-08-20T00:09:36.000Z
---

# 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 is shown `$48` with `$5` shipping and is charged `$48` with `$5` shipping. Your payout is based on `$50` item price and `$5` shipping.

## Endpoint

```http
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

```http
POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=CPA&reportVersion=v1
Accept: application/json
Content-Type: application/json
WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6
WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....
header 'WM_SVC.NAME: Walmart Marketplace
{}
```

### cURL

```bash
curl -X POST \
  'https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=CPA&reportVersion=v1' \
   -H 'WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....' \
   -H 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6' \
   -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 `requestId` to track status and download the report.

## Track and download

1. **Check status** until the report is ready.
   ```http
   GET https://marketplace.walmartapis.com/v3/reports/reportRequests/{requestId}
   ```
   Status values: `RECEIVED`, `INPROGRESS`, `READY`, `ERROR`.

2. **Download** once status is `READY`.
   ```http
   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.

## Report 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.       |

## Related

* [Pricing and performance (overview)](/us-marketplace/docs/pricing-and-performance)
* [Report scheduler API overview](/us-marketplace/docs/report-scheduler-api-overview)