Rate Limiting

Slow and steady wins the race...

Purple gradient wave Purple wave used to give a visual break between the header and body of the page.

Summary

In order to ensure the quality of service and reduce the impact of any attacks, all requests to the API are rate limited. This means that an application can request at most:

For example, you can make 762 requests to the API but you will have to spread them over a two minute period otherwise, if they are all sent immediately, the last 12 requests will be rejected.

 

Limit Information

Each response from the API will include information about the remaining requests available to you in the response headers, an example of which is as follows:

curl -i "https://api.youmanage.co.uk/"
HTTP/1.1 200 OK
Date: Tue, 13 Aug 2019 13:08:47 GMT
Status: 200 OK
X-RateLimit-Limit: 12h
X-RateLimit-Remaining: 9996
X-RateLimit-Reset: 2019-08-14T00:08:47.8332277Z

 

Header Description
X-RateLimit-Limit The time limit in which the remaining requests can be made
X-RateLimit-Remaining The number of requests that can be made in the time limit
X-RateLimit-Reset The date at which the limit is reset

 

Exceeding Limits

If you make too many requests in a given period then you will receive a HTTP 429 response with an error message that will describe the limit that has been reached:

{
	"Error": {
		"Code": "YM0053",
		"Reference": "https://developer.youmanage.co.uk/api/errors/ym0053",
		"Target": "Api",
		"Message": "You have reached your limit of 500 calls per 1m",
		"Details": null
	}
}

In addition to this error message, there will also be the header RetryAfter that details the number of seconds to wait before your limit is reset and you can try the request again.

Lastly, we'll look at how to get support if you encounter an unexpected error.