What are request quotas for JIRA Cloud?

Hello,

I am member of a team developing Jira Cloud add-on, where backend server communicates with JIRA Cloud via REST API.

While browsing application logs we’ve noticed HTTP 429 response codes from various endpoints.

In order to properly handle throttling we would like to know what are request quotas in JIRA Cloud REST API. I can not find any such information in Atlassian Connect JIRA Cloud documentation.

Have any other vendor experienced similar issue?

Thanks!

There is some rate limiting for the OAuth 2.0 JWT Bearer token authorization grant flow.

In May 2017, D. Meyer wrote that rate limits don’t apply to Jira Cloud REST API calls performed under the add-on’s identity. The situation may have changed since then, so I kept looking.

The Atlassian REST API policy includes this interesting statement:

“Resource and rate limits, and the default and maximum sizes of paged data ARE NOT considered part of the API and may change (possibly dynamically). It is the responsibility of the client to read the road signs and obey the speed limit.”

Road signs. Wut?

Hey @david.pinn and @bartlomiej.janczak,

For Jira Cloud we apply several different rate limits at different layers of our infrastructure:

  • Individual tenants are rate limited on HTTP requests
  • We apply limits on database connections when certain tenants are seeing exceptionally slow requests
  • We limit the number of connections for a given tenant to the database at any given time

I expect all of these would apply to apps and you should expect to see a more stringent rate limiting policy in the future (that will hopefully be documented :slight_smile:)

A lot has changed since May 2017 :wink:

3 Likes

@dmeyer, any way you can tell us what the current rate limits are?
That would at least give us a rough idea of what to expect. Assuming it only gets stricter from there on.

@ademoss, the rate limits only really make sense in the context of Atlassian’s infrastructure. The HTTP request limit is quite high – actually more lenient than what was possible in the past so it’s unlikely that your app would be hitting it. The goal is to ensure that a single tenant isn’t consuming a disproportionate amount of the request handling capacity in our infrastructure.

I’ve recently developed an Addon for Jira Cloud using Atlassian Connect Express (ACE).
I have to load a full list of projects with epics, tasks and subtasks. When querying all the data, the Jira Cloud always returns a “Too many requests”.
I tried it doing synchronous and asynchronous calls, but always same error.

Is there a way to get all the information without consuming that amount of requests? A blocking issue like this could be enough to reconsider not using Jira in my company.

Thank you in advance.

Currently rate limiting in Jira is based on concurrent requests made across all consumers of single instance, not on the REST API consumer. You can find more information about it here.

2 Likes

Lol, OK they set a speed limit, which is totally understandable. But it probably should clearly state exactly the said limit, like an actual number. Imagine you drive on a road with speed limit dynamically change depends on cops’ emotion.

Sorry officer, I really didn’t know I was speeding. Here’s my insurance but if I could profile my script, could have a better idea of what I was looking for.

I guess @mszerszynski does have a link to a thread with the answer. For brevity: https://developer.atlassian.com/cloud/jira/platform/rate-limiting/