← API Reference Rate Limiting

Rate Limiting

To ensure continued availability of system resources for all users in a TeamDynamix environment, rate-limiting restrictions are enforced on many methods in the Web API. This rate-limiting framework enforces a maximum number of calls against an endpoint over a particular period of time.

For each method, the period starts with the first request made and resets a specified number of seconds after that point. A rate limit on one method does not affect any other method — if two actions both have a limit of 60 calls every 60 seconds, calling the first does not affect the availability of the second.

When a method is rate-limited, the limit is shown in its description in the API reference.

Rate Limit Types

There are three types of rate-limiting:

  1. Per-IP address (most common)
  2. Per-user
  3. Per-organization (least common)

Rate-Limiting Responses

When a request has been rate-limited, the Web API returns 429 Too Many Requests.

In addition, in the response for every rate-limited call (regardless of whether it was successful or not), there are three headers that provide useful metadata about the current limits in place:

For example:

HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: Wed, 28 Mar 2018 16:08:14 GMT

If your integration encounters 429 Too Many Requests errors, we recommend parsing the X-RateLimit-Reset header and waiting until that date/time before retrying. We further recommend that you enforce a minimum waiting period of 5 seconds to mitigate both any potential clock skew and time-zone discrepancies.