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 pre-paid 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.
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 packages can publish at most 100 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 200 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.