Skip to content

Commit 85cfc5e

Browse files
committed
Document rate limits
1 parent 2ae53c5 commit 85cfc5e

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

docs/integrations/rate-limits.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# API Rate Limits
2+
3+
The epilot API implements rate limiting to ensure fair usage and maintain service quality for all users.
4+
5+
## Rate Limit Response
6+
7+
When rate limits are exceeded, the Entity API responds with:
8+
9+
```
10+
HTTP 429 - Too Many Requests
11+
```
12+
13+
The response includes a `Retry-After` header indicating the number of seconds until the quota is reset. You should implement retry logic based on this header value.
14+
15+
## Default Quotas
16+
17+
Rate limits are applied per organization and reset every minute:
18+
19+
| Operation | Limit | Window |
20+
|-----------|-------|--------|
21+
| Entity API mutations (POST, PUT, PATCH, DELETE) | 500 requests | per minute |
22+
| Entity searches | 5,000 requests | per minute |
23+
24+
## Exemptions
25+
26+
The following requests are **not** subject to rate limiting:
27+
28+
- `GET` requests (read operations)
29+
- `OPTIONS` requests
30+
- Internal API calls between epilot services
31+
32+
## Best Practices
33+
34+
When implementing API integrations:
35+
36+
1. **Implement retry logic**: Use the `Retry-After` header value to determine when to retry failed requests
37+
2. **Batch operations**: Use dedicated batching APIs to process multiple operations efficiently:
38+
- [ERP Integration API](https://docs.epilot.io/api/erp-integration) - Optimized for bulk data synchronization with higher rate limits
39+
- [Batch API](https://docs.epilot.io/api/batch) - Process multiple entity operations in a single request with higher rate limits
40+
3. **Cache responses**: Cache GET request responses to reduce unnecessary API calls
41+
4. **Monitor usage**: Track your API usage patterns to stay within quota limits
42+
5. **Use webhooks**: For real-time updates, use webhooks instead of polling endpoints
43+
44+
## Contact
45+
46+
If you need higher rate limits for your integration, please contact epilot support to discuss your use case.

0 commit comments

Comments
 (0)