Freshservice product has rate-limit on per-hour basis for its V2 APIs. This is changing from per-hour to per-minute model from Sep 1, 2020 for all the new accounts signing-up.
It will be rolled out to all the existing Freshservice customers later. It can be tracked in the documentation here.
The new rate limits have sub-limits for certain individual operations. For example, you can make a total of 100 API calls per minute on the Blossom plan, but only 40 of those can be for the “List All Tickets” operation.
|Current Rate Limit||1000/hour||2500/hour||5000/hour||7500/hour|
|New Rate Limits|
|Sub-Limit for List All Tickets operation||40/min||70/min||120/min||140/min|
|Sub-Limit for View Ticket operation||50/min||80/min||140/min||160/min|
|Sub-Limit for Create Ticket operation||50/min||80/min||140/min||160/min|
|Sub-Limit for Update Ticket operation||50/min||80/min||140/min||160/min|
|Sub-Limit for List All Assets operation||40/min||70/min||120/min||140/min|
|Sub-Limit for Update Asset operation||50/min||80/min||140/min||160/min|
|Sub-Limit for List All Agents operation||40/min||70/min||120/min||140/min|
|Sub-Limit for List All Requesters operation||40/min||70/min||120/min||140/min|
If any of your apps use Freshservice V2 APIs, ensure your app is handling this change with respect to the number of API requests per minute according to the account plan without any disruption.
- Ensure to handle HTTP 429 error code
- Ensure that your app reads and uses the X-RateLimit-Total, X-RateLimit-Remaining, X-RateLimit-Used-CurrentRequest, and Retry-After header variables as described in our API documentation.
Request API can be used to automatically retry the API after a minute window if it receives error post rate-limit breach for the current minute window.
Notice the “maxAttempts” and “retryDelay” options of Request API which can be configured to fit your needs.