# Rate Limiting

## Rate Limiting

The ABOUT YOU Sellers Center API implements comprehensive rate limiting to ensure fair usage and optimal performance for all users. Rate limits are configured per endpoint and vary depending on the operation type and resource requirements.

### How Rate Limiting Works

* **Authentication**: Rate limits apply to authenticated API requests using your API key
* **Per-Endpoint Limits**: Each endpoint has its own specific rate limit configuration
* **Headers**: Current limit and remaining quota information is provided in response headers:
  * `X-RateLimit-Limit`: Total requests allowed in the time window
  * `X-RateLimit-Remaining`: Remaining requests in the current window
* **429 Responses**: When limits are exceeded, the API returns HTTP 429 (Too Many Requests)

### Current Rate Limits by Endpoint

> **⚠️ Important**: This table provides an overview of current rate limits, but you should always refer to the [**up-to-date API documentation**](https://partner.aboutyou.com/api/v1/docs) for the most accurate and current rate limit information, as limits may be adjusted over time.

| Resource Path                        | Method | Rate Limit | Description                   |
| ------------------------------------ | ------ | ---------- | ----------------------------- |
| **Webhooks**                         |        |            |                               |
| `/webhooks/types`                    | GET    | 50/min     | Get webhook event types       |
| `/webhooks/`                         | GET    | 50/min     | List webhook subscriptions    |
| `/webhooks/`                         | POST   | 50/min     | Create webhook subscription   |
| `/webhooks/{id}`                     | GET    | 50/min     | Get webhook subscription      |
| `/webhooks/{id}`                     | PATCH  | 100/min    | Update webhook subscription   |
| `/webhooks/{id}`                     | DELETE | 50/min     | Delete webhook subscription   |
| **Products**                         |        |            |                               |
| `/products/`                         | GET    | 1000/min   | List/search products          |
| `/products/rejected`                 | GET    | 50/min     | Get rejected products         |
| `/products/`                         | POST   | 100/min    | Create/update products        |
| `/products/status`                   | PATCH  | 100/min    | Update product status         |
| `/products/stock`                    | PATCH  | 1000/min   | Update product stock          |
| `/products/price`                    | PATCH  | 200/min    | Update product prices         |
| **Orders**                           |        |            |                               |
| `/orders/`                           | GET    | 100/min    | List orders                   |
| `/orders/{number}/delivery-document` | GET    | 100/min    | Get delivery document         |
| `/orders/cancel`                     | POST   | 50/min     | Cancel order items            |
| `/orders/ship`                       | POST   | 50/min     | Ship order items              |
| `/orders/return`                     | POST   | 50/min     | Return order items            |
| **Results**                          |        |            |                               |
| `/results/products`                  | GET    | 200/min    | Get product batch results     |
| `/results/status`                    | GET    | 200/min    | Get status update results     |
| `/results/stock`                     | GET    | 200/min    | Get stock update results      |
| `/results/price`                     | GET    | 200/min    | Get price update results      |
| `/results/cancel`                    | GET    | 200/min    | Get cancellation results      |
| `/results/ship`                      | GET    | 200/min    | Get shipment results          |
| `/results/return`                    | GET    | 200/min    | Get return results            |
| **Reports**                          |        |            |                               |
| `/reports/`                          | GET    | 10/min     | List available reports        |
| `/reports/{id}/download`             | GET    | 10/min     | Download report file          |
| **Categories**                       |        |            |                               |
| `/categories/`                       | GET    | 100/min    | List categories               |
| `/categories/{id}/attribute-groups`  | GET    | 300/min    | Get category attribute groups |
| **Countries**                        |        |            |                               |
| `/countries/`                        | GET    | 100/min    | List countries and locales    |
| **Brands**                           |        |            |                               |
| `/brands/`                           | GET    | 50/min     | List available brands         |

### Best Practices

1. **Monitor Headers**: Always check the rate limit headers in responses to track your usage
2. **Implement Retry Logic**: Handle 429 responses gracefully with exponential backoff
3. **Batch Requests**: Use batch endpoints when available rather than individual requests
4. **Cache Results**: Cache API responses where appropriate to reduce request frequency
5. **Plan Operations**: For bulk operations, plan your requests within the rate limits

### Official Documentation

For the most current rate limit information, endpoint details, and any updates, always refer to the official API documentation:

[**https://partner.aboutyou.com/api/v1/docs**](https://partner.aboutyou.com/api/v1/docs)

The documentation is automatically generated and always reflects the current API configuration, including any rate limit adjustments.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.partner.aboutyou.com/api/getting-started/rate-limiting.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
