How to handle monday API limit?

We built an app that copies files from one column to another when the column changes. We have tested it with bulk column changes, for example, changing the status of 500 items at a time, each having 1 file (i.e., 500 files), and it works fine. We also tested it across multiple accounts and it works.

However, when we submitted it for review, it failed to copy some files during the bulk column change mentioned earlier. We store file information (name, upload status, etc.) and found that the file is failing to upload due to reaching the maximum retry limit (we are retrying the file a maximum of 3 times).

When we asked the app reviewer about the steps and other factors they were considering while testing the app, we discovered they are testing other apps as well.

Since our app copies files from one column to another, it extensively uses the monday.com API (mutation and query). We manage the rate limit and concurrency limit by only uploading 10 files per minute. So why are the files still failing?

Can someone please suggest what we should do to make it work?

Hey @YuvrajSingh

It sounds like you’ve built a solid file-copying app, but the issue likely stems from API rate limits, concurrent API usage, or potential background load caused by other apps during the review process.

Even though you’re processing 10 files per minute, monday.com’s dynamic rate limiting may still throttle requests under heavy load. Consider adding exponential back off with increasing wait times before retries.

Instead of handling files individually, try batching API requests where possible to optimize efficiency.

Implement a job queue to track failed uploads and retry asynchronously instead of hitting the limit in quick succession.

Monitor error codes (e.g., 429 Too Many Requests, 500 Server Errors) and log response headers to better understand the issue during review.
Simulate a heavier API load to replicate the review environment and fine-tune your app accordingly.

Hello @sachinkarma

Thanks for the response. monday.com file upload API do not support bulk file upload(see it here), so we have to upload one file at a time.

We are also handling 429 status code requests and are retrying after the given value(present in retry-header here) + 10seconds.