Category: API
Summary: API responses will now contain a new header, retry-after
, for rate limited responses (429) and certain cases where 5xx responses should be considered retry-able. For more information, see the documentation on Rate Limits.
Context: The new header provides a single method of identifying that a failed request is retry-able, and communicating the duration the requesting application should wait before retrying.
Impact: No change to previous behavior. Apps should begin to make use of the new retry-after
header.
Date of Change: Immediately
Impacted APIs:
- All APIs may now return the new
retry-after
header
Note that the old inin-ratelimit-*
headers are now considered deprecated, but there are no plans to remove them or change their current behavior. If a decision is made to remove them at any point in the future, a new announcement will be made at that time in accordance with the Change Management Policy.
Do you mean this is available already? I really appreciate this new feature, and would like to know more about current rate limits for the different actions I perform through the API. Any reading suggestion on that?
Do you mean this is available already?
Yes, the new header was actually enabled in prod a few weeks ago. We don't publish the criteria for the rate limiters intentionally for two primary reasons:
- The rate limits are subject to change at any time without notice for the sake of the health of the platform. In practice, they are almost never changed, but we reserve the right to do so.
- In all circumstances, applications should be built to be responsive to being rate limited regardless of what the app thinks its standing should be. This is largely because there are numerous limiters in the back end that can apply and the app has no way to understand the status of each. Even if we did publish all of the limiter information, it would be a very difficult task to aggregate all of the limiters into meaningful throttling.
Agreed. Thanks for the details. Is it correct to assume that this new 429 error will reduce the 5xx errors (seen today)?
Nothing is changing about the response bodies or HTTP codes. This is only adding a new header. 5xx responses will continue to be the same 5xx responses, but may include the retry-after header if the error condition that caused the 5xx is known to be a temporal condition.
1 Like
This topic was automatically closed 62 days after the last reply. New replies are no longer allowed.