|
| 1 | +# Limitations |
| 2 | + |
| 3 | +Our API facilitates the integration of Akeneo PIM with external systems. |
| 4 | +To maintain optimal user experience and platform stability, our platform employs various protection mechanisms to prevent over-usage. |
| 5 | + |
| 6 | +To guarantee fair usage, please adhere to the following usage guidelines: |
| 7 | + |
| 8 | +## Maximum Concurrent API Calls |
| 9 | + |
| 10 | +- Per PIM Connection: Up to 4 concurrent API calls are allowed for each individual PIM connection. |
| 11 | +- Per PIM Instance: Up to 10 concurrent API calls are allowed across the entire PIM instance. |
| 12 | + |
| 13 | + |
| 14 | +## Rate Limits Within a Specific Amount of Time |
| 15 | + |
| 16 | +- General API Requests: up to 100 API requests per second per PIM instance. |
| 17 | +- [updating & creating attribute options](https://api.akeneo.com/api-reference.html#patch_attributes__attribute_code__options): up to 3 API requests per second per PIM instance. |
| 18 | + |
| 19 | + |
| 20 | +## Handling Over-Usage |
| 21 | + |
| 22 | +If your API usage exceeds these limits, the platform’s protection mechanisms may be triggered, resulting in blocked requests and HTTP status code 429 responses. |
| 23 | +As a REST API consumer, you have to keep in mind that your integration with Akeneo PIM should anticipate this throttling and should be able to handle failures. |
| 24 | + |
| 25 | +Bursts are allowed, but continuous over-usage will trigger the protection sooner. |
| 26 | + |
| 27 | +To effectively manage and mitigate over-usage, we recommend implementing the following strategies: |
| 28 | + |
| 29 | +**Check for "Retry-After"** |
| 30 | + |
| 31 | + If the HTTP 429 response includes a "Retry-After" header, wait the specified number of seconds before retrying. |
| 32 | + |
| 33 | +**Implement Exponential Backoff** |
| 34 | + |
| 35 | + Use increasing delays between retry attempts (e.g., 10s, 30s, 60s) to reduce the load on the API. |
| 36 | + |
| 37 | +**Use Batch Endpoints** |
| 38 | + |
| 39 | + Combine multiple requests into a single API call using batch endpoints to minimize the number of calls. |
| 40 | + |
| 41 | +**Implement a Cache Layer** |
| 42 | + |
| 43 | + Cache frequently accessed data on the client side to reduce repetitive API requests and improve response times. |
| 44 | + |
0 commit comments