HTTP Response Codes
When you make a request to any ServiceM8 API endpoint, you will receive one of the following HTTP Response Codes
Code | Title | Description |
---|---|---|
200 | OK | Successful request |
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. |
Throttling
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