Rate limits
By default, Front's API rate limit start at 50 requests per minute and can be increased depending on your plan. Customers on the Prime plan have a default rate limit of 100 rpm, and customers on the Enterprise plan have a default rate limit of 200 rpm. If you need to increase your API rate limit beyond the limit provided by your plan, you should talk to your customer success or account manager, or email [email protected]
Note that API requests made by a partner integration on behalf of a company via OAuth have a separate rate limit of 120 rpm (enforced on a per-company basis). This means that API requests made by integrations installed by a customer do not count against the customer’s rate limit (the only exception to this is the Zapier integration).
Every API call response will contain three headers related to the rate-limiting:
Name | Description |
---|---|
X-RateLimit-Limit | Maximum number of request allowed in the time window |
X-RateLimit-Remaining | Current remaining number of requests in the current time window |
X-RateLimit-Reset | Next timestamp when the number of remaining requests will be reset |
When the rate limit is exceeded, the server will respond with a 429 Too Many Requests HTTP code with the header Retry-After
to tell you how many seconds you need to wait before you can retry the request.
Additional "burst" rate-limiting
Some resource-intensive routes are subject to additional rate-limiting to prevent strain on Front's infrastructure. This additional rate limit has a short TTL and only prevents sudden bursts of requests. The limit will depend on the resources needed to fulfill the request. Please see the list below.
Such resources have the header X-Front-Tier
. If you are rate limited at the resource level, you will receive the header Retry-After
, even though
X-RateLimit-Remaining
may be greater than 0. This is because the limits do not affect each other.
Please wait Retry-After
seconds before safely retrying the request.
Tier 1 - limited to 1 request / sec
POST /exports
POST /team/:team_id/exports
Tier 2 - limited to 5 requests per resource per sec
PATCH /conversations/:conversation_id
PUT /conversations/:conversation_id/assignee
POST /channels/:channel_id/messages
POST /conversations/:conversation_id/messages
POST /channels/:channel_id/incoming_messages
POST /channels/:channel_id/inbound_messages
POST /channels/:channel_id/outbound_messages
POST /inboxes/:inbox_id/imported_messages
PATCH /teammates/:teammate_id
Note that the Tier 2 rate limits are per resource and per endpoint — for example in the case of POST /channels/:channel_id/messages
you may POST up to 5 messages per conversation per second, and requests to POST /channels/:channel_id/messages
would not count against requests to POST /inboxes/:inbox_id/imported_messages
.
Updated 3 months ago