Rate Limiting

Rate limiting will soon be enforced by the API.


System Identification

Please ensure you have registered your system with Follow Up Boss as indicated in the Identification section.

If your system needs bigger limits, please email [email protected] explaining your use case.

Rate Limiting is based on a sliding 10 second window.

Within every response from our API, the following headers indicate the current limit, remaining requests before reaching the limit, the window of time evaluated in seconds, and the context.

Additionally, we indicate the context for which this rate limit applies. Any given endpoint will only be subject to one context. For example /v1/events may have an 'events' context, for which there may be stricter limits, requests to this endpoint would not affect other contexts, such as 'global'.

HTTP/1.1 200 OK
X-RateLimit-Limit: 200
X-RateLimit-Remaining: 156
X-RateLimit-Window: 10
X-RateLimit-Context: global

Systems that exhaust their limits will receive a 429 (Too Many Requests) response code, and a Retry-After header.

If you receive a 429 response code, your request was not processed and you will have to retry the request. The Retry-After header indicates how long to wait (in seconds) before retrying (or sending any other request).

HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 200
X-RateLimit-Remaining: 0
X-RateLimit-Window: 10
X-RateLimit-Context: global
Retry-After: 8

Here are the contexts available and their limits as they are currently set. We will make changes as needed, so always check the headers for the most up-to-date values applicable to your requests.

ContextLimitEndpoints associatedMethod

If you are making requests without a valid X-System-Key header, the allowed rate is much lower:

ContextLimitEndpoints associatedMethod

NOTE: submitting new leads with a POST request to /v1/events is currently not rate limited, as we want to ensure no leads are lost. However, this may change in the future, so please make sure your system can re-submit a lead if it receives a 429 response.

You may in some cases also receive a 429 (Too Many Requests) even if you still have requests remaining. Perhaps because we temporarily have less capacity than usual, or we notice an exceptionally high number of requests from a particular IP address or system.

Please make sure your system respects the 429 header even if X-RateLimit-Remaining shows you should have requests remaining.