Apps that call the RingCentral Fax API can be prone to being rate limitted, owing to that fact the API belongs to a relatively low volume API group. If you find yourself receiving an HTTP status code of 429 when calling the Fax API, then here are some ways you can greatly reduce the risk of being rate limitted.
Send faxes from multiple extensions
Rate limits are applied on a per app/per extension basis. So an easy way to extend your app's fax sending capacity is to send faxes via multple extensions.
Let's suppose your app authenticates to the platform using JWT. Then generate a JWT credentials for multiple people/extensions. Then when it comes time to send a fax, pull a JWT credential from a pool of credentials resevred for sending faxes, and use that credential to send the fax. This will help distribute the sending of faxes across multiple extensions, mitigating the risk of being rate limited. You can think of it as a type of fax sending load balancer.
Note, that this may require you provision additional phone numbers to your account as well, depending upon your specific requirements relating to what the recipient of the fax will see as the sender.
Implement a queuing mechanism
A slightly more complex, but arguably a much more scalable solution from a cost perspective, is to implement a server-side queuing mechanism, to which you app can add and queue any number of "send fax" jobs. This will allow you to precisely control how many faxes are sent per minute. Depending upon how deep or backlogged the queue may become, this could impact fax transmission speeds.
If your queue becomes hopelessly backlogged, combine this solution with the former one so that you are not only using a queue, but also sharing the load of sending faxes across multiple extensions. Then you are free to add more workers to your queue to process more "send fax" jobs.