I've hit a max rate apiRequests limit, what does this mean?

This means you've sent enough API Requests within the last second to surpass your limit or to be warned about your usage.  API requests are all REST API requests excluding token requests.

 

There are two types of apiRequest limit you can hit:

  • apiRequests.maxRate.warning - when you reach 50% of your quota.
  • apiRequests.maxRate.hard - when the hard limit on the account has been exceeded. API requests will now be suppressed until the second is over.

 

If you need the ability to send more API Requests, we recommend you upgrade your account by increasing your monthly message quota from which API limits derive 

 

How are instantaneous rate limits implemented?

 

An instantaneous rate limit is calculated based on the current rate of the operation per second. For example, a self-service package can publish at most 200 messages per second to their Ably Reactor queues; if you exceed this, messages above that point will be suppressed. This is done on a rolling probabilistic basis; for example, if you have a queue rule that attempts to publish 400 messages per second to a queue, each one will have a 50% chance of being rejected, with the suppression probability being continuously updated based on the current attempted publish rate.