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.