CommCare Case Transaction Rate Limiting
Please note that rate limiting applies only to SaaS CommCare environments (www.commcarehq.org and india.commcarehq.org).
What is rate limiting?
Rate Limiting is a dynamic component that enables optimal availability, scalability, and reliability in your application. Rate limiting controls the amount of data, for instance, the number of case transactions transferred to our server during a specific time.
When do rate limits apply?
Rate limits only apply when the entire CommCare platform is under high load. Your project will never experience rate limiting of case transactions during off-peak hours (as determined by real-time load patterns). CommCare applies rate limits on all project spaces when the system is under high load.
What happens when we implement rate limits?
When you submit any type of case transaction from a CommCare Mobile App, and you have exceeded the rate limit, all submissions are saved locally until the rate limit expires. All locally saved submissions will be auto-synced to the server when the rate limit expires.
When you submit a case transaction from a CommCare Web App, and you have exceeded the rate limit, you are prevented from proceeding until the rate limit expires.
You will never lose a case transaction submission due to rate limiting. Instead, you may experience a delay between the submission and when it is synced to the CommCare server.
Case Transactions that count toward rate limits include:
Case imports
Form submissions that update a case
Auto case update rules
In other words, the rate limit refers to any updates to cases.
What are the rate limit thresholds for my project space?
Rate limits are allocated on a per-user basis.
We determine the rate limit thresholds for your organization's project space by the number of mobile workers included in your subscription plan.
Standard rate limit thresholds
The standard rate limit per minute is 1.4 case transactions per mobile worker.
The standard rate limit per hour is 60 case transactions per mobile worker.
The standard rate limit per day is 460 case transactions per mobile worker.
The standard rate limit per week is 2300 case transactions per mobile worker.
In the table below, you will see the calculated rate limit thresholds for each subscription plan.
(number of mobile workers) * (standard case transactions per minute or hour or day etc.)
MOBILE WORKERS INCLUDED IN SUBSCRIPTION | TIME PERIOD | RATE LIMIT THRESHOLD |
---|---|---|
Standard plan | ||
125 mobile workers | Case transactions per minute | 175 |
Case transactions per hour | 7,500 | |
Case transactions per day | 57,500 | |
Case transactions per week | 287,500 | |
Pro plan | ||
250 mobile workers | Case transactions per minute | 350 |
Case transactions per hour | 15,000 | |
Case transactions per day | 115,000 | |
Case transactions per week | 575,000 | |
Advanced plan | ||
500 mobile workers | Case transactions per minute | 700 |
Case transactions per hour | 30,000 | |
Case transactions per day | 230,000 | |
Case transactions per week | 1,150,000 | |
Enterprise Plan | ||
1000 mobile workers | Case transactions per minute | 1,400 |
Case transactions per hour | 60,000 | |
Case transactions per day | 460,000 | |
Case transactions per week | 2,300,000 |
Limits are combined across all project spaces with the total number of mobile workers included in an Enterprise subscription that includes multiple project spaces.
Project spaces in an Enterprise account will not be rate limited unless both the project space and the Enterprise account are over their respective limits.
If you have any questions, please contact us. We will further explain our rate limiting policy and work with you to ensure your project isn't impacted by the rate limiting thresholds.
If you're already a Dimagi partner, please get in touch with your account manager for more information.
Technically Feasible Case Transactions
We advise you to adhere to the rate limits as outlined above.
The standard rate limit threshold ratio is determined on the assumption that the CommCare user works roughly 8.5 hours a day, 5 days a week.