---
updatedAt: 2026-08-18T20:23:06.000Z
---

# Feeds overview

Feeds let you perform bulk operations. You submit a single request with a file that describes many objects to create or update. After you submit the file, the system assigns a **Feed ID** that you use to track processing and results.

> File formats vary by API. Common formats include JSON, XML, and spreadsheet templates. Show each bulk endpoint for its accepted format and schema.

## How feeds work

1. **Submit a bulk file** to the specific bulk endpoint.
2. **Receive a Feed ID** in the response.
3. **Track progress** by calling the All feed statuses API with the Feed ID.
4. **Review item results** in the detailed feed status response.
5. **Fix and resubmit** items that failed validation or processing.

## Supported feed types

Availability depends on your program and endpoint. Examples include:

* `item`
* `inventory`
* `price` and `MP_ITEM_PRICE_UPDATE`
* `PROMO_PRICE`
* `LAGTIME`
* `CPT_SELLER_ELIGIBILITY`

Refer to each API section for the exact feed types it supports.

## Feed statuses

A feed has one of the following statuses:

* **RECEIVED** The system accepted the feed and queued it. Processing has not started.
* **INPROGRESS** The system is processing the feed.
* **PROCESSED** The system finished processing the feed. Check per-item results for the outcome. An individual item can still require additional processing or review.
* **ERROR** The feed failed as a whole. No items were processed.

**GTIN exemption review**: For `MP_ITEM` and `MP_WFS_ITEM` feeds, the feed can reach PROCESSED while the item-level ingestionStatus remains INPROGRESS during GTIN exemption manual review. Check the GTIN Exemption Status API or the GTIN Exemption Dashboard in Seller Center for the final decision.

## Recommended polling interval

If the feed is **INPROGRESS**, poll until the status changes. Recommended intervals for item feeds:

* 15 minutes
* 1 hour
* 2 hours
* every 4 hours

## Ingestion statuses

These statuses apply to each object in the feed.

* **SUCCESS** The object was ingested.
* **INPROGRESS** The object is still processing.
* **DATA\_ERROR** The payload is invalid or required data is missing. If the payload validates but the error persists, contact Partner Support.
* **SYSTEM\_ERROR** A downstream system returned an error. Wait at least one hour and try again. If it persists, contact Partner Support.
* **TIMEOUT\_ERROR** A downstream system was unavailable. Wait at least one hour and try again. If it persists, contact Partner Support.

## Tips

* Keep your bulk files small enough to process reliably. Split very large submissions into multiple feeds.
* Log the Feed ID and your `WM_QOS.CORRELATION_ID` with every call so you can trace activity.
* When linking to a specific feed in a URL, percent‑encode special characters in `feedId` (for example, encode `@` as `%40`).

## Errors and retries

### Common HTTP responses

| Status | Meaning           | What to do                                                          |
| ------ | ----------------- | ------------------------------------------------------------------- |
| 200    | Success           | Process the response. If status is `INPROGRESS`, continue polling.  |
| 400    | Bad request       | Validate your query params and headers. Check encoding of `feedId`. |
| 401    | Unauthorized      | Refresh the access token and retry.                                 |
| 403    | Forbidden         | Verify permissions and `WM_CONSUMER.CHANNEL.TYPE`.                  |
| 404    | Not found         | The `feedId` does not exist or is not visible to your account.      |
| 409    | Conflict          | The request conflicts with a current operation. Retry later.        |
| 429    | Too many requests | Back off and retry with exponential backoff and jitter.             |
| 5xx    | Server error      | Retry with backoff. If it persists, contact Partner Support.        |

### Retry guidance

* Use exponential backoff with jitter. Example delays (seconds): 2, 4, 8, 16, 32.
* Cap retries (for example, 5 attempts) and stop once status is no longer `INPROGRESS`.
* Keep the same `WM_QOS.CORRELATION_ID` across retries of the same request.
* Log HTTP status, response body (or error code), and correlation ID for support.

## Related topics

* All feed statuses API

* Item setup and maintenance APIs

* Error handling and retry guidance