8.2. Get user API rate limits.
GET GetRateLimits
Description: Get the API rate limits for your account. API limits are designed to ensure fair use for all API users, to manage server loads, prevent abuse and maintain system stability and performance. Each user is assigned a number of API points that resets at the end of every API limit period.
There are two rate limits that may be enabled. A 'burst' limit, setting the maximum number of API points used in any one period and a 'daily' limit that sets a cap on the total number used in any 24 hour period. Rate limits are reset at the end of each limit period.
Normally API authentication and account requests use zero API points but dataset and metadata requests will. Please refer to the individual endpoint documentation in this guide for specific details.
Rate limits may change at any time to aid system stability and performance. Rate limits are set so they should never be triggered in normal use, however rate limits can be customised for individual users if the default limits that were set do not suit.
If a rate limit event does occur, a 429 error message is returned explaining the cause and when the limit will be reset.
API Usage: This endpoint uses zero API calls.
GET Sample Request:
GET https://[server]/GetRateLimits?SessionToken=YOUR_SESSION_TOKEN
User rate limits can be viewed on the "My Account" page by logging in (using the top menu above) and viewing the "Your API Key" section.
Request Parameters
Paeameter | Type | Description |
SessionToken | String | A valid Session Token received from the GetSessionToken endpoint. |
Response Parameters
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | ServerDateTime | String | Yes | The server UTC date and time as an ISO 8601 string. |
2 | TimeStamp | Float | Yes | The server date and time as a Julian date. |
3 | ExecutionTime | Float | Yes | The number of milliseconds taken to process the request. |
4 | Result | [Object] | No* | A Result object as described below. |
5 | Errors | [Object] | No* | An 'Errors' object as described below. |
A successful API response will return a Result object with the requested payload or an 'Errors' object detailing the issue that caused the request to fail.
Result Object
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | IntervalLimit | Object | Yes | The details of the interval rate limits set on the server. |
1 | DailyLimit | Object | Yes | The maximum number of data requests per day (midinght to midlight). |
IntervalLimit object
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | Enabled | Boolean | Yes | Is Interval limit active. |
2 | Interval | String | No | A character to show the interval that the limit applies to. s=second, m =minute, h=hour and d=day. |
3 | IntervalCount | Integer | No | A number of intervals that the limit applies to. If IntervalCount = 10 and Interval= "m", this would apply the 'Limit' below every 10 minutes |
4 | Used | Integer | No | The number of API calls used in the current interval from the "Limit" below. . |
5 | Limit | Integer | No | The number of API calls allowed in the current interval. . |
6 | SecondsToReset | Integer | No | The number seconds until the current rate limit is reset. . |
7 | Message | String | Yes | A text message explaining if the rate limit is active or the time remaining until the current rate limit is reset. . |
DailyLimit object
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | Enabled | Boolean | Yes | Is Interval limit active. |
2 | Used | Integer | No | The number of API calls used in the current interval from the "Limit" below. . |
3 | Limit | Integer | No | The number of API calls allowed in the current interval. . |
4 | SecondsToReset | Integer | No | The number seconds until the daily rate limit is reset. . |
5 | Message | String | Yes | A text message explaining if the rate limit is active or the time remaining until the daily rate limit is reset. . |
If the 'IntervalLimit' or 'DailyLimit' are disabled, the JSON result will return 'Enabled' as false and the 'Message' will show that the feature is disabled.
Errors Object
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | Status | Integer | Yes | HTTP status code. |
2 | Detail | String | Yes | Description of the status code above. |
Possible Status codes in the Errors object
Code | Description |
---|---|
400 | Missing parameter or unknown argument in request. |
401 | Invalid or expired session token. |
403 | The account assigned to this email address is inactive. |
405 | Method [request] not allowed. |
500 | Server may be down for maintenance. |
This is not an exhaustive list and additional error codes may be returned. The Errors object Detail field will return request specific error information.
Possible HTTP response codes
This endpoint returns 200 for
success. You can get HTTP client network errors or server
errors from any API request. You should check
with your network or IT colleagues in case the issue is
a local one. All server generated errors will return an
'Errors'
object that will give specific details about the error.
A full list of HTTP codes and their meanings is
available here,
Success and fail examples
Sample Request:
https://[server]/RequestNewAPIKey?SessionToken=YOUR_SESSION_TOKEN