Error codes
If an API call cannot reach the Walmart gateway, a basic HTTP error code (such as 503 Service Unavailable) is returned. However, a complete error response object is returned if the gateway is reached.
The following table shows the currently supported error code responses.
- The first parameter provides the error description.
- The second parameter shows the HTTP status code.
- The third parameter specifies the error category.
- The fourth parameter specifies the error severity.
- The fifth parameter specifies whether the error response includes a field tag.
| Error Code | HTTP Status | Category | Severity | Field Included |
|---|---|---|---|---|
| SOME_CONTENT_NOT_FOUND | 206 | Application | Info | false |
| INVALID_REQUEST | 400 | Data | Error | true |
| INVALID_REQUEST_HEADER | 400 | Data | Error | true |
| INVALID_REQUEST_PARAM | 400 | Data | Error | true |
| INVALID_REQUEST_CONTENT | 400 | Data | Error | true |
| MISSING_REQUEST_HEADER | 400 | Data | Error | true |
| MISSING_REQUEST_PARAM | 400 | Data | Error | true |
| MALFORMED_REQUEST_CONTENT | 400 | Data | Error | true |
| UNAUTHORIZED | 401 | Data | Error | false |
| FORBIDDEN.GMP_GATEWAY_API | 403 | Data | Error | false |
| CONTENT_NOT_FOUND | 404 | Application | Info | false |
| URI_NOT_FOUND | 404 | Data | Error | false |
| METHOD_NOT_ALLOWED | 405 | Data | Error | false |
| INVALID_ACCEPT_TYPE | 406 | Application | Error | false |
| UNSUPPORTED_MEDIA_TYPE | 415 | Data | Error | false |
| RESOURCE_IS_LOCKED.GMP_RECEIVER_API | 423 | Application | Error | false |
| REQUEST_THRESHOLD_VIOLATED | 429 | Request | Error | false |
| INVALID_SYSTEM_STATE | 500 | System | Error | false |
| SYSTEM_ERROR | 500 | System | Error | false |
| DOWNSTREAM_SYSTEM_TIME_OUT | 504 | System | Error | false |
For example, the last error object on the right contains an INVALID_REQUEST_HEADER error encountered when invoking the GMP_ORDER_API. The error is a DATA ERROR in the WM_QOS. The CORRELATION_ID field (a request header) is null or blank.
Authentication failures
Walmart Marketplace uses OAuth 2.0. Remove legacy signature headers and send a valid access token on each call.
- Remove:
WM_SEC.TIMESTAMP,WM_SEC.AUTH_SIGNATURE,WM_CONSUMER.ID - Add:
WM_SEC.ACCESS_TOKEN: <access token>
Common 401 causes and fixes:
- Token missing or expired. Refresh and resend.
- Insufficient scopes. Grant the app the required permissions and retry.
- Token present but placed in the wrong header. Use
WM_SEC.ACCESS_TOKENexactly.
Rate limiting and file size limits
When limits are exceeded, APIs respond with 429 Too Many Requests. Some feeds enforce file size limits and respond with 413 Payload Too Large.
Rate limit headers:
x-current-token-countshows current tokens for the specific API.x-next-replenish-timeshows when more tokens will be added.
Client behavior:
- On 429, pause requests for that API and read the headers.
- Sleep until
x-next-replenish-time, then resume at a lower rate. - Use a token bucket in the client to stay within limits.
Troubleshooting by scenario
Orders
-
Refund returns 400 Invalid request
Cause The new refund would exceed the order total or earlier partial refunds.
Fix Retrieve the order, sum prior refunds, ensure the new amount is within the remaining allowable amount, then resend. -
Cancel returns 400 Invalid request
Cause Order already shipped or already canceled.
Fix Retrieve the order, check status, and cancel only orders that are not shipped or canceled. -
Ship returns 400 Invalid request
Cause Shipment notification sent for an order that is already shipped or canceled. Orders may auto-cancel if not shipped within 30 days.
Fix Verify order status and ship only eligible orders created in the last 30 days.
Items, price, and inventory
-
Update returns 400 Invalid request
Cause Required parameter missing in URL, header, body, or wrong content type.
Fix Check the endpoint’s required headers and fields. Send the expectedContent-Typeand a valid payload. -
Update returns 404 Not found
Cause Updating an item that is not yet ingested or failed ingestion.
Fix Check item ingestion status. If missing, ingest again, then retry the update. -
405 Method not allowed
Cause Wrong HTTP method for the route.
Fix Use the documented method for the endpoint. -
423 Resource is locked
Cause Temporary lock during high-volume processing.
Fix Retry later. If it recurs for an hour, reduce concurrency and retry.
Platform availability
-
500 Internal server error
Cause Mismatch betweenContent-Typeand payload format, or a transient internal issue.
Fix Verify headers and payload. Retry with exponential backoff and jitter. -
503 Service unavailable
Cause Gateway unavailable.
Fix Wait briefly and retry. If the outage persists, contact Support with examples.
Feed validation and item-level data errors
These indicate data that failed validation at file or item level.
| Error | What it means | How to fix |
|---|---|---|
ERR_PDI_0001 Malformed data | The entire feed file failed to parse due to malformed characters or structure. | Download the latest XSD, clean the file of special characters, revalidate, and resubmit. |
ERR_PDI_0034 Invalid data | Required fields missing or invalid values (for example, billable weight 0). | Validate against the latest XSD. Provide all mandatory fields with correct types and ranges. |
ERR_EXT_DATA_0101116 Title or price mismatch | Title or price is significantly different from existing listings for the same product ID. | Confirm the correct product ID, title, and price. Align with the catalog or contact Support to review the existing listing if the data is correct. |
Note: Treat “XML” as the feed file content or the request body, depending on the API.
Note: Re-download the latest schemas before resubmitting large corrections.
The Feed Item Status API allows you to track the status of the FITMENT_ACES and FITMENT_PIES feed uploads.
These are the feed statuses:
- ERROR: File is either REJECTED due to File validation failed or file has FAILED due to File not processed, or due to some issues while unzipping, format of error, etc.
- INPROGRESS: File APPROVED as File is accepted; File is ACCEPTED as File accepted for processing of individual records; PROCESSING: File processing in progress.
- PROCESSED: File has been processed successfully without any issues; File processed, however few records in the file had some issues which are marked as errors and can be downloaded using ERROR DOWNLOAD API
Note: If a request returns a Feed status of PROCESSING, you should continue calling until a different status is retrieved. The recommended calling intervals for Item is 15 minutes, 1 hour, 2 hours, and every 4 hours. To learn more about ingestion status, visit Feed status API for tracking fitment files.
Related topics
Updated about 1 month ago
