When you make a request to any ServiceM8 API endpoint, you will receive one of the following HTTP Response Codes
|400||Bad Request||A validation exception has occurred.|
|401||Unauthorised||Invalid credentials, or invalid OAuth token.|
|402||Payment Required||Your ServiceM8 account is not in good standing. Please pay any outstanding invoices.|
|403||Forbidden||Invalid scope credentials for the current request, or invalid staff member UUID specified for impersonation.|
|404||Not Found||The resource you have specified cannot be found.|
|426||Upgrade Required||Public applications must use HTTPS for all requests.|
|429||Too Many Requests||Request was throttled for your application/account pairing.|
|500||Internal Server Error||An unhandled exception has occurred. Contact support team if this persists.|
|503||Service Unavailable||Platform is currently unavailable, try again soon.|
To ensure continuous quality of service, ServiceM8 API usage can be subject to throttling. The throttle will be applied once an API consumer reaches a certain threshold in terms of a maximum number of requests per minute. Most clients will never hit this threshold, but those that do, will receive a HTTP 429 response code.
The limits are 180 requests per minute and 20,000 requests per day. If you reach either of these limits, you will receive a HTTP 429 with a text body of "Number of allowed API requests per minute exceeded".
We encourage all API developers to anticipate this error, and take appropriate measures such as using a cached value from a previous call, passing on a message to the end user, or retrying the request at a later time.
Throttling limits are applied on a per-application and per-account basis, so if you have a single application connected to two different clients' ServiceM8 accounts, throttling is applied separately to each account.
Updated less than a minute ago