HTTP Response Codes

When you make a request to any ServiceM8 API endpoint, you will receive one of the following HTTP Response Codes

CodeTitleDescription
200OKSuccessful request
400Bad RequestA validation exception has occurred.
401UnauthorisedInvalid credentials, or invalid OAuth token.
402Payment RequiredYour ServiceM8 account is not in good standing. Please pay any outstanding invoices.
403ForbiddenInvalid scope credentials for the current request, or invalid staff member UUID specified for impersonation.
404Not FoundThe resource you have specified cannot be found.
426Upgrade RequiredPublic applications must use HTTPS for all requests.
429Too Many RequestsRequest was throttled for your application/account pairing.
500Internal Server ErrorAn unhandled exception has occurred. Contact support team if this persists.
503Service UnavailablePlatform 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.