The ServiceM8 REST API allows developers to hook into ServiceM8 and connect it to third-party applications. Whether you’re writing a plugin for an application or planning on hooking some internal application into ServiceM8, the API can do it for you.

The REST API is implemented as plain JSON over HTTP using the REST commands – GET, POST and DELETE. Every resource, like Job, Company or JobActivity, has their own URL and are manipulated in isolation. The API closely follows the REST principles and it’s easy to use.

You can explore the GET part of the API through any browser.

Naming Conventions

The names of objects on the REST API don't always match the terminology used in the ServiceM8 user interface. Here's some of the differences that are helpful to know:

Line items on a quote/invoiceJobMaterial
Scheduled BookingJobActivity

(activity_was_scheduled == 1)
Recorded Time (check in to a job)JobActivity

(activity_was_scheduled == 0)
ServiceM8 AccountVendor
Quotes, Invoices, Work Orders in the Job DiaryAttachment
Photos in the Job DiaryAttachment

The following images show how some of the common entities relate to the Job Card.

901 901 1069