Skip to content

Commit fa8e53d

Browse files
authored
Several changes on quotas and limitations details
* Move REST API Limitations and fair usage details to a dedicated page named "Limitations" (as it is done for Event Platform and GraphQL) * Add a link to this page in GraphQL limitations page * Change the quota wording in Event Platform to remove the 5M "fake" limit.
1 parent ef2d8f2 commit fa8e53d

File tree

4 files changed

+55
-5
lines changed

4 files changed

+55
-5
lines changed

content/event-platform/limitations.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
**Event Platform Quotas:**
1010

11-
Our Event platform has specific quotas designed to ensure optimal performance and fair usage for all users.
12-
- **Weekly Event Limit**: You can distribute up to 5 million events per week for the light payload.
13-
- **Exceeding Limits**: If you exceed this limit occasionally, your usage will not be interrupted. However, habitual overages may require further discussion to optimize your usage.
11+
Our event platform does not impose specific quotas.
12+
13+
However, to ensure optimal performance and fair use for all users, heavy usage (millions of events per day) may require further discussion to help you optimise your usage.
1414

1515
::: panel-link Consult now our FAQ [Next](/event-platform/faq.html)
1616
:::

content/graphql/limitations.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,17 @@ By setting boundaries, we avoid complex or large queries that could potentially
1313
:::warning
1414
Understanding **that the limitations are not static and will adapt over time based on usage and requirements is vital**.
1515

16-
With the **GraphQL API** being a recent addition to Akeneo, our priority is to ensure the stability of the PIM by carefully assessing all risks.
16+
The **GraphQL API** being based on Akeneo's PIM REST API, our priority is to ensure the stability of the PIM by carefully assessing all risks.
1717

1818
If you encounter any **challenges** with the `rate limits`, please don't hesitate to reach out by opening a support ticket.
1919

2020
Your insights are invaluable in fine-tuning our system for optimal performance.
21+
22+
You can also find more details about the [REST API Limitations](/documentation/limitations.html)
2123
:::
2224
The **GraphQL API** is limited to `500req/10s` per **PIM URL.**
2325

26+
2427
## Query complexity limitations
2528

2629
Each query will have a cost complexity depending on the requested data.
@@ -127,11 +130,13 @@ This is an important tip to keep in mind.
127130
:::warning
128131
Understanding **that the limitations are not static and will adapt over time based on usage and requirements is vital**.
129132

130-
With the **GraphQL API** being a recent addition to Akeneo, our priority is to ensure the stability of the PIM by carefully assessing all risks.
133+
The **GraphQL API** being based on Akeneo's PIM REST API, our priority is to ensure the stability of the PIM by carefully assessing all risks.
131134

132135
If you encounter any **challenges** with the `depth limit`, please don't hesitate to reach out by opening a support ticket.
133136

134137
Your insights are invaluable in fine-tuning our system for optimal performance.
138+
139+
You can also find more details about the [REST API Limitations](/documentation/limitations.html)
135140
:::
136141

137142

content/rest-api/limitations.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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+

tasks/build-doc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,7 @@ gulp.task('build-rest-api', ['clean-dist','less'], function () {
604604
'pagination.md': 'Pagination',
605605
'update.md': 'Update behavior',
606606
'filter.md': 'Filters',
607+
'limitations.md': 'Limitations',
607608
'troubleshooting.md': 'Troubleshooting guide'
608609
};
609610

0 commit comments

Comments
 (0)