Last updated Nov 9, 2023

Rate limiting

This page provides details about rate limiting for app migration, and can help you understand how to anticipate rate limiting and manage how your app responds.

App migration platform

Cloud app

As with all web requests, you may receive HTTP 429 Too Many Requests responses for requests made to app migration platform from the cloud app.

Server app

While calling the app migration platform methods from your server app, if the rate limit is exceeded you will receive RuntimeException with an exception message App migration API rate limit exceeded.. You will get this new exception message, for following versions of Cloud migration assistant.

  • Jira Cloud Migration Assistant version 1.6.9 or above
  • Confluence Cloud Migration Assistant version 3.3.5 or above

Request backoff

Apps should treat 429 responses as a signal to alleviate pressure on an endpoint and retry the request only after a delay. The best practice is to double the delay after each successive 429 response from a given endpoint. Backoff delays only need to exponentially increase to a maximum value at which point the retries can continue with the fixed maximum delay. You should also apply jitter to the delays to avoid the thundering herd problem.

The following articles provide useful insights and techniques related to retry and backoff processing:

Jira

There are currently no rate limits specific to app migration in Jira.

Confluence

Required app migration header

In order to ensure your app migration code does not impact any other Confluence customer on the same infrastructure, you must provide each request to any Confluence REST API with the HTTP header Migration-App. You can use any value with this header.

See an example

1
2
Migration-App: true

Warning

Use this header to ensure that your migration path does not impact customers, and avoids the possibility that your app key can be banned from app migration.

Current rate limits

The table below details the current rate limits in Confluence.

LimitFrequencyTime
6000 requestsper app per Confluence cloud instanceone minute
12000 requestsper Confluence cloud instanceone minute

Managing requests

As with all web requests, you may receive HTTP 429 Too Many Requests responses.

We do not expect more than two concurrent Confluence apps to make calls to our APIs during a migration. However, in order to prepare for the possibility that this may happen, all apps need to implement the retry policy of rate limiting responses.

Rate this page: