I've hit a maxRate limit, what does this mean?

Messages

This means you've sent enough messages within the last second to surpass your limit or to be warned about your usage. Messages include most actions within Ably, such as messages, presence published & received, and history, find out more.

There are two types of messages limit you can hit:

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

API requests

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.

Token requests

This means you've sent enough token requests within the last second to surpass your limit or to be warned about your usage.  Token requests are made by clients requesting tokens using signed token requests.

There are two types of token requests limit you can hit:

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

Integrations

This means you've sent enough events through integrations within the last second to surpass your limit or to be warned about your usage.  There are a few types of integration limit you may get:

  • reactor.httpEvent - The maximum rate at which http events (one event per message) can be invoked. This includes unbatched webhooks as well as things like AWS Lambda, Google Cloud Functions and Azure Functions, and several other integrations like IFTTT 
  • reactor.amqp - The AMQP max rate limit is the maximum rate at which messages can be delivered to our hosted AMQP queues.
  • reactor.externalQueue - The Firehose external queues message rate limit is the maximum rate at which Firehose messages can be streamed to external AMQP endpoints
  • reactor.webhook - The webhook message rate limit is the maximum rate at which messages can be delivered via batched webhooks

There are two types of limit types you can hit for these limits:

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

How are instantaneous rate limits implemented?

See our limits documentation for more information on how rate limits are implemented