Request a content quality report

Use this report to identify content quality issues at the product attribute level. The report helps you find attributes that are reducing Content Quality scores and provides issue descriptions so you can correct content and improve item discoverability.

Requesting a content quality report is available for the following endpoints:

Endpoint

POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=CONTENT_QUALITY&reportVersion=v1

The request body is optional. When the request is accepted, the API returns a requestId that you can use to track status and download the report.

Sample request

POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=CONTENT_QUALITY&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=CONTENT_QUALITY&reportVersion=v1' \
-H 'WM_SEC.ACCESS_TOKEN: <access_token>' \
-H 'WM_QOS.CORRELATION_ID: <guid>' \
-H 'WM_SVC.NAME: Walmart Marketplace' \
-H 'WM_MARKET: us' \
-H 'WM_GLOBAL_VERSION: 3.1' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{}'

Modify your code

  • Use a new GUID for each call. Save the returned requestId to track report status and download the report.

Track and download

  1. Check report status. Poll the report status endpoint until the report is ready.
GET https://marketplace.walmartapis.com/v3/reports/reportRequests/{requestId}

Status values: RECEIVED, INPROGRESS, READY, ERROR.

  1. Download the report after the report status changes to READY.
GET https://marketplace.walmartapis.com/v3/reports/downloadReport?requestId={requestId}

If you prefer not to poll for status updates, subscribe to Report Status Notifications and receive a callback when the report is available.

After downloading the report, use your preferred CSV tool to filter data by SKU or report columns.

Enum filter

Use an enum filter to return records that match one or more predefined values.

{ "rowFilters": [ { "type": "enumFilter", "columnName": "CUSTOMER_FAVORITE", "values": [ "FALSE" ] } ]
}

Report fields

The report is designed to surface attribute-level Content Quality issues, and contains one row for each Item ID and GTIN combination.

HeaderDescription
seller_idSeller identifier
item_idWalmart item ID on Walmart.com
product_idProduct ID on Walmart.com
GTINGlobal Trade Item Number
condition_type_codeCode for the condition of the item
condition_type_nameCondition of the item. This can have two values: NEW or USED.
sku_idStock Keeping Unit (SKU) of item
CUSTOMER_FAVORITEIndicates whether the item is a customer favorite or trending item. This can have two values: TRUE or FALSE.
product_attribute_nameName of the product attribute
product_attribute_valueCurrent value of the attribute
product_attribute_scoreContent Quality score for the attribute
attribute_issue_titleTitle of item issue
attribute_issue_descriptionList of issues associated with the attribute

Sample response

[ { "issueTitle": "TITLE_FORMULA_VIOLATION", "issueDescription": "Product Name should contain attributes as defined in Walmart style guides." }, { "issueTitle": "TITLE_ORDER_VIOLATION", "issueDescription": "Product Name attributes are not in the expected order." }
]

Error handling

Common failures when requesting or downloading reports:

HTTPCodeWhen it happensHow to fix
400MISSING_REQUEST_PARAMRequired parameter missing, such as reportTypeAdd the missing parameter and retry
400INVALID_REQUESTUnsupported report type or invalid request formatVerify reportType, reportVersion, and request format
401UNAUTHORIZEDMissing or invalid OAuth tokenRefresh the token and retry
404CONTENT_NOT_FOUNDUnknown or expired requestIdVerify the request ID and report retention period
429RATE_LIMIT_EXCEEDEDToo many requestsRetry using exponential backoff and jitter
500INTERNAL_ERRORUnexpected server errorRetry GET requests and contact support if the issue persists

Did this page help you?