Atlassian is implementing a new point-based rate-limiting system on February 2nd. I have a Tier 1 RoA app that must be designed to handle the Global Pool.
I understand the X-RateLimit-* headers will (eventually?!?) be updated to reflect global consumption of the app’s hourly quota. That will be helpful for 1) detecting an approaching global threshold, 2) enforcing progressive throttling from within each app instance, and 3) displaying performance warnings to end users.
(Edit 2026-01-07: This is assuming the use of @forge/api instead of @forge/bridge.)
However, the X-RateLimit-* headers seem insufficient for monitoring the rate-limiting at an app level. Particularly from within an RoA app. Specifically, I need the ability to:
- Monitor the effectiveness of the app’s throttling implementation.
- Request an upgrade to Tier 2 as my app’s usage increases in accordance with this advice from Atlassian:
So, what is the best way to monitor the app’s global API consumption? Any advice on how to implement a reliable monitoring solution will be appreciated.
Here are some ideas I have considered:
Use the Developer Console.
Unsupported:
- API
TokensPoints are not (yet) a supported metric. - Metrics are not global.
- Alerts can only be configured from Production sites, but the Global Pool applies across all environments. (Including test environments where automated tests might exceed the global threshold.)
Implement “homegrown” alerts.
Not allowed. This is prohibited by the Runs on Atlassian data egress policy.
Leverage an analytics API.
Unreliable. Using the X-RateLimit-* headers as a metric that is then transmitted to a permitted analytics API (e.g., Google) could work. However, customers can disable analytics egress, which means this solution could not be trusted.
Again, any advice on how to implement a reliable monitoring solution will be appreciated.
Note: Atlassian has insinuated that the Developer Console might be updated to meet the necessary use cases:
However, there is no mention of this in any of the official change announcements or documentation, and the above comment is (understandably) light on details.