StrikeTracker KnowledgeBase

Rate limiting policy of StrikeTracker's API Purge Calls

Highwinds customers can use API endpoints for purging the cache for their sites. To ensure operational efficiency for all customers, Highwinds limits the number of API purge requests to 100 URI’s per account every 60 seconds.

For example: If a single API call for a purge containing 50 URIs is sent, and then another API call containing another 50 URIs gets sent 5 seconds later, both purge API calls will execute successfully and will not be rate limited. The same would happen if 100 API purge calls each containing one URI are sent.

Rate limiting only takes place if more than 100 URIs are submitted for purging within a 60 second timeframe.

For example: If a single API purge call for 100 URIs is sent and another API purge call containing 10 URIs is sent within 60 seconds, the second request would be rate limited and the client issuing the API call would receive an error message. To resolve this issue, wait at least 60 seconds following a purge call before issuing another batch of URIs for purging.
 

Exceeding the purge limit


If an API purge request is sent that would exceed the 100 URI limit within 60 seconds, the entire request will fail; none of the URI’s in the request will be purged. The following JSON response will be returned:
 

 
{
“error”: “Account URL purge limit warning. You have exceeded your rate limit. Your allowed limit is 100, but we received 128 in less than a 60 second window. You may retry this request in 58 seconds.”,
“code”: 429
}


Depending on how you issue API purge calls, you will need to adjust the number of URIs per API call, and issue multiple API calls with 1 minute delays between them to ensure all URIs are purged.

Along with the error message above, there is a “Retry-After” header, which indicates the number of seconds remaining until the request can be fulfilled.

Highwinds API purge endpoint will reflect:
  1. Rate limit for the account
  2. Response received
  3. Sliding window logic
  4. Retry-After header

The global limit of 100 URIs per minute may change in the future. In which case, all clients would be notified in advance through the usual communication channels.