ServiceM8 API Documentation
This is the complete API documentation for connecting to the ServiceM8 API using MindCloud's Universal API. If you are new to MindCloud, start with the Introduction to see how one API can sit in front of many different apps.
MindCloud is an integration company that offers one normalized API to access 3,100+ apps from a single place. It cleans up provider-specific quirks, keeps requests and responses consistent, and centralizes authentication so you do not need to manage separate flows for every app. Browse other apps.
Meet ServiceM8: Manage field service jobs, clients, staff, and job templates. Keep reading to get started.
Quickstart
Before you run your first ServiceM8 request, you need three things:
- A MindCloud account — sign in or create an account at MindCloud.
- A MindCloud API Key — create one in API Keys. Keep it on your server.
- At least one ServiceM8 connection — create or choose one in Connections. Note its
connectionId.
Every ServiceM8 action uses the same URL pattern:
https://connect.mindcloud.co/v1/universal/serviceM8/latest/actions/{actionSlug}You need a MindCloud API Key and a ServiceM8 connection. Then call an action such as Get Client:
curl --request GET \
--url "https://connect.mindcloud.co/v1/universal/serviceM8/latest/actions/get-client" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--get \
--data-urlencode "connectionId=$CONNECTION_ID"Every response comes back in the same envelope, with your rows in a data array:
{
"success": true,
"data": [
{ "id": "1042", "name": "Ava" }
],
"meta": {}
}After your first request works, use Shape your requests to control arguments, pagination, filtering, fields, and errors.
Authentication
Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected ServiceM8 account that should run the action. MindCloud stores and refreshes the ServiceM8 credentials behind that connection, so you never send provider tokens with your requests.
Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions. Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs.
Connect ServiceM8 with an API key
You need a ServiceM8 account with access to Settings and permission to create API keys for the account you want this connection to use.
- Open API Keys in ServiceM8
Sign in to ServiceM8, open Settings, then open API Keys.
- Create an API key
Create a new API key in ServiceM8 for the account you want this connection to use.
- Paste the key into the connection form
Return to the connection form and paste the new ServiceM8 API key into the API Key field.
ServiceM8 actions
All 22 published actions for this ServiceM8 version. Each page documents the endpoint, arguments, and response controls.
- POSTCreate Client
- POSTCreate Company Contact
- POSTCreate Job
- POSTCreate Job Activity
- POSTCreate Job Allocation
- POSTCreate Task
- GETGet Client
- GETGet Job
- GETGet Staff Member
- GETList Clients
- GETList Company Contacts
- GETList Job Activities
- GETList Job Allocations
- GETList Jobs
- GETList Staff Members
- GETList Tasks
- PUTUpdate Client
- PUTUpdate Company Contact
- PUTUpdate Job
- PUTUpdate Job Activity
- PUTUpdate Staff Member
- PUTUpdate Task
Related apps
More Support apps on the Universal API, behind the same REST shape. Or browse all apps.