Short answer
The ServiceM8 API is a REST API for jobs, clients, scheduling, materials, payments and staff, with separate webhooks and messaging APIs and an official MCP server. Private apps use an API key from Settings; public apps use OAuth 2.0 after registering as a Development Partner. The limit is 180 requests per minute and 20,000 per day per app per account. If the goal is an AI assistant working with field service data rather than a system-to-system integration, an MCP server is the faster route.
Authentication
Private apps: an API key (X-API-Key header) from Settings, API Keys, no developer account needed. Public apps: OAuth 2.0 with scopes and one-hour access tokens, after registering as a Development Partner.
Getting access
- API keys are available from any account; the developer docs state no plan restriction.
- Webhooks, the Messaging API and UI extensions require a public (OAuth) app, which does not have to be listed.
- An Add-on Store listing needs approval against ServiceM8's store requirements. Listing fees: not published.
What you can reach
- Jobs, job activities, allocations, queues and templates
- Clients and contacts
- Job materials (quote and invoice lines), materials, bundles, tax rates
- Job payments and attachments
- Staff, roles, availability, allocation windows
- Assets, forms, checklists, notes, tasks, badges
- Inbox, email and SMS history; Messaging API to send email and SMS
Webhooks, rate limits and test environment
| ServiceM8 | |
|---|---|
| Webhooks | Yes, for public apps: object webhooks on field changes and event webhooks such as job.created, job.completed, job.invoice_paid, job.quote_accepted, form.response_created and staff clock on/off. Callbacks must return within 10 seconds. |
| Rate limits | 180 requests per minute and 20,000 per day, per application per account. |
| Sandbox / test environment | Not published; add-ons are tested on your own account. |
Known limitations
From ServiceM8's published documentation:
- API-key apps cannot use webhooks, messaging or UI extensions
- DELETE is a soft delete (active=0)
- API object names differ from the app (clients are Company, line items are JobMaterial, bookings are JobActivity)
- Sending SMS through the Messaging API incurs charges; marketing SMS is not permitted
Building on the API versus connecting AI through MCP
If you want an integration (syncing ServiceM8 with another system), the API is the route. If you want your team to ask an AI assistant about jobs, schedules and invoices, or have it do the work, you would be building and hosting that yourself on top of the API.
Fieldproxy takes the other route: its official MCP server gives Claude, ChatGPT and Microsoft Copilot 145 field service tools directly, with scoped access and a confirm step before every change, and it can also change the software itself (fields, screens, automations) in a sandbox.
| Build on the ServiceM8 API | Fieldproxy MCP server | |
|---|---|---|
| Time to first answer in ChatGPT or Claude | Build, host and maintain a server | Add a connector and sign in |
| Auth and permissions | You implement them | Per-person sign-in, scopes, row and column limits |
| Changes to data | Raw API writes | Proposed, confirmed by a person, undoable |
| Changing the software itself | Not available through an API | Fields, screens, automations, in a sandbox |
Sources
- ServiceM8 developer docs: authentication
- REST API overview
- HTTP response codes and throttling
- Event webhooks
- Messaging API
Read from the vendor's own developer documentation on September 27, 2026. Anything the docs do not publish is marked "not published".
Fieldproxy facts on this page come from the Fieldproxy MCP reference. Competitor details are from each vendor's own documentation as of September 27, 2026; see the comparison table and sources.