To keep BIMcollab fast and reliable for everyone, the number of requests an application can send in a certain time is limited. This is called a rate limit. This article explains the current limits and how your application should respond when it reaches one.
Current limits
Request type | Limit |
| 100 per second, 5,000 per minute and 50,000 per 30 minutes |
| No limit |
| No limit |
There is no limit on the amount of data per request. For example, you can request all topics of a project in one request. Only the number of requests is limited.
📝 Note: These limits can change. Don't build fixed limits into your application. Instead, handle the 429 status code as described below.
What happens when you reach a limit
When your application sends too many requests, BIMcollab responds with the status code 429 Too Many Requests. The response body tells you which limit you reached.
Requests that return 429 don't count toward the limit. Your application can wait and try again.
Handle a 429 response
When your application receives a 429 response:
Stop sending new requests.
Wait before you try again.
Send the same request again.
If you receive
429again, wait longer before the next attempt.
This approach is called exponential backoff: you double the waiting time after each failed attempt. For example, wait 1 second, then 2 seconds, then 4 seconds.
Tips to stay within the limits
Ask for more data per request. For example, get all issues of a project in one request, instead of one request per topic.
Store data you use often. If data doesn't change often, such as the list of projects, save it in your application instead of requesting it again.
Only request what changed. Use modification dates to find out which items changed since your last sync.
Spread out large jobs. Schedule large syncs outside working hours, or divide them into smaller batches.
