We are rolling out some updates to PagerDuty’s REST API rate limits, including:
- A refreshed rate limiting system to more consistently and accurately enforce REST API rate limits
- New response headers within our REST APIs so that customers can programmatically control the request load sent to PagerDuty
- Four dimensions used to enforce the rate limit
Best practices 💪
Ensure your application is ready to handle being rate limited
Update your application to slow down the rate of requests after receiving a 429 response code. For fine-grained control your application can make use of the ratelimit-reset
header to wait the appropriate number of seconds before retrying.
Avoid hitting rate limits
These guidelines will help your application avoid hitting rate limits:
- Make requests serially for a given authentication token.
- Avoid excessive polling for changes whenever possible. Make use of available Webhooks to receive push updates to data.
One “bot user” per application deployment
If you use PagerDuty Users / User API Keys as “bot users” for applications; create a separate bot user for each deployment of the application (e.g. “Acme Production Bot User”, “Acme Test Bot User”, etc.). This will keep the limits for each deployment of the application separate.