Explore the ServiceM8 API data model

See how the various ServiceM8 endpoints relate to each other, using our handy Entity Relationship Diagram

Pulling data from the ServiceM8 API is only the first part of your reporting. You also need to understand the relationships between different endpoints - something that APIs typically fail to convey.

At SYNCHUB, we not only sync your ServiceM8 API endpoints down into a reportable format, we also describe their relationships (e.g. in terms of foreign keys) so that you can quickly get a grasp of your data and how it fits together. This page is intended as technical documentation of these relationships.

What can you do with your ServiceM8 data?

Connect your AI chatbots & agentic workflows

Our Universal MCP Server lets you query your ServiceM8 data using Claude, ChatGPT or your favourite AI tool.

Empower your BI dashboards

Our ServiceM8 Connector connects your ServiceM8 data to favourite reporting tools.

Your business runs on more than just ServiceM8

We connect to over over 70+ cloud services, letting you manage the data needs of your entire business in a single location.

Endpoints

Browse the data model below, or if you'd prefer, we also have an interactive ERD over here.

Asset

Documentation: https://developer.servicem8.com/reference/listassets

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
AssetCode string - -
Lat decimal - -
Lng decimal - -
Altitude decimal - -
GeoTimestamp datetime - -
AssetTypeUuid guid AssetType → Uuid -
CompanyUuid guid Client → Uuid -
Uuid guid - -
EditDate datetime - -
Active string - -

AssetType

Documentation: https://developer.servicem8.com/reference/listassettypes

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
Uuid guid - -
EditDate datetime - -
Active string - -

Attachment

Documentation: https://developer.servicem8.com/reference/listattachments

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
AttachmentName string - -
Timestamp datetime - -
FileType string - -
PhotoWidth string - -
PhotoHeight string - -
AttachmentSource string - -
Lng decimal - -
Lat decimal - -
ExtractedInfo string - -
Metadata string - -
IsFavourite boolean - -
CreatedByStaffUuid guid Staff → Uuid -
JobUUID guid Job → Uuid -
ClientUUID guid Client → Uuid -
JobQueueUUID guid JobQueue → Uuid -
StaffUUID guid Staff → Uuid -
Uuid guid - -
EditDate datetime - -
Active string - -

Client

Documentation: https://developer.servicem8.com/reference/listclients

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
Website string - -
AbnNumber string - -
Address string - -
AddressStreet string - -
AddressCity string - -
AddressState string - -
AddressPostcode string - -
AddressCountry string - -
BillingAddress string - -
IsIndividual boolean - -
Badges string - -
FaxNumber string - -
TaxRateUuid guid TaxRate → Uuid -
BillingAttention string - -
PaymentTerms string - -
Uuid guid - -
EditDate datetime - -
Active string - -

ClientContact

Documentation: https://developer.servicem8.com/reference/listcompanycontacts

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
First string - -
Last string - -
IsPrimaryContact boolean - -
CompanyUuid guid Client → Uuid -
Email string - -
Phone string - -
Mobile string - -
Type string - -
Uuid guid - -
EditDate datetime - -
Active string - -

Form

Documentation: https://developer.servicem8.com/reference/listforms

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
DocumentTemplateUuid guid -
  • 19 May 2026 Foreign Key - Refers to 'Document Template' (not implemented)
BadgeName string - -
CanBeUsedIndependently string - -
BadgeMandatoryState string - -
Uuid guid - -
EditDate datetime - -
Active string - -

Job

Documentation: https://developer.servicem8.com/reference/listjobs

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Date datetime - -
JobAddress string - -
BillingAddress string - -
Status string - -
QuoteDate datetime - -
WorkOrderDate datetime - -
WorkDonedescription string - -
GeneratedJobID string - -
CompletionDate datetime - -
CompletionActionedByUuid guid Staff → Uuid -
UnsuccessfulDate datetime - -
PaymentDate datetime - -
PaymentMethod string - -
PaymentAmount decimal - -
PaymentActionedByUuid guid Staff → Uuid -
PaymentNote string - -
ReadyToInvoice boolean - -
ReadyToInvoiceStamp datetime - -
CompanyUuid guid Client → Uuid -
GeoIsValid boolean - -
Lng decimal - -
Lat decimal - -
GeoCountry string - -
GeoPostcode string - -
GeoState string - -
GeoCity string - -
GeoStreet string - -
GeoNumber string - -
PaymentProcessed boolean - -
PaymentProcessedStamp datetime - -
PaymentReceived boolean - -
PaymentReceivedStamp datetime - -
TotalInvoiceAmount decimal - -
JobIsScheduledUntilStamp datetime - -
CategoryUuid guid JobCategory → Uuid -
QueueUuid guid JobQueue → Uuid -
QueueExpiryDate datetime - -
Badges string - -
QuoteSent boolean - -
InvoiceSent boolean - -
PurchaseOrderNumber string - -
InvoiceSentStamp datetime - -
QueueAssignedStaffUuid guid - -
QuoteSentStamp datetime - -
JobDescription string - -
CreatedByStaffUuid guid Staff → Uuid -
Uuid guid - -
EditDate datetime - -
Active string - -

JobCategory

Documentation: https://developer.servicem8.com/reference/listcategories

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
Colour string - -
Uuid guid - -
EditDate datetime - -
Active string - -

JobChecklistItem

Documentation: https://developer.servicem8.com/reference/listjobchecklists

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
JobUuid guid Job → Uuid -
ItemType string - -
CompletedTimestamp datetime - -
CompletedByStaffUuid guid Staff → Uuid -
CompletedDuringCheckinUuid guid - -
SortOrder int - -
SectionName string - -
IsLocked boolean - -
ReminderType string - -
AssignedByStaffUuid guid Staff → Uuid -
AssignedTimestamp datetime - -
ReminderAbsoluteDateTime datetime - -
Uuid guid - -
EditDate datetime - -
Active string - -

JobContact

Documentation: https://developer.servicem8.com/reference/listjobcontacts

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
First string - -
Last string - -
JobUuid guid Job → Uuid -
Email string - -
Phone string - -
Mobile string - -
Type string - -
Uuid guid - -
EditDate datetime - -
Active string - -

JobMaterial

Documentation: https://developer.servicem8.com/reference/listjobmaterials

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
Quantity decimal - -
Price decimal - -
DisplayedAmount decimal - -
DisplayedAmountIsTaxInclusive boolean - -
JobUuid guid Job → Uuid -
MaterialUuid guid Material → Uuid -
TaxRateUuid guid TaxRate → Uuid -
SortOrder int - -
Cost decimal - -
DisplayedCost decimal - -
Uuid guid - -
EditDate datetime - -
Active string - -

JobPayment

Documentation: https://developer.servicem8.com/reference/listjobpayments

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Note string - -
Timestamp datetime - -
Amount decimal - -
Method string - -
JobUuid guid Job → Uuid -
AttachmentUuid guid Attachment → Uuid -
ActionedByUuid guid Staff → Uuid -
IsDeposit boolean - -
Uuid guid - -
EditDate datetime - -
Active string - -

JobQueue

Documentation: https://developer.servicem8.com/reference/listjobqueues

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
DefaultTimeframe int - -
RequiresAssignment boolean - -
Uuid guid - -
EditDate datetime - -
Active string - -

Location

Documentation: https://developer.servicem8.com/reference/listlocations

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
Line1 string - -
Line2 string - -
Line3 string - -
City string - -
Country string - -
PostCode string - -
State string - -
Phone1 string - -
Lng decimal - -
Lat decimal - -
Uuid guid - -
EditDate datetime - -
Active string - -

Material

Documentation: https://developer.servicem8.com/reference/listmaterials

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
Price decimal - -
Barcode string - -
ItemNumber string - -
Cost decimal - -
QuantityInStock decimal - -
PriceIncludesTaxes int - -
ItemDescription string - -
ItemIsInventoried boolean - -
TaxRateUuid guid TaxRate → Uuid -
UseDescriptionForInvoicing boolean - -
Uuid guid - -
EditDate datetime - -
Active string - -

Note

Documentation: https://developer.servicem8.com/reference/listnotes

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Note string - -
CreateDate datetime - -
EditByStaffUuid guid Staff → Uuid -
ActionRequired boolean - -
ActionCompletedByStaffUuid guid Staff → Uuid -
JobUUID guid Job → Uuid -
JobQueueUUID guid JobQueue → Uuid -
ClientUUID guid Client → Uuid -
StaffUUID guid Staff → Uuid -
Uuid guid - -
EditDate datetime - -
Active string - -

Staff

Documentation: https://developer.servicem8.com/reference/liststaffmembers

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
First string - -
Last string - -
Email string - -
Mobile string - -
Color string - -
HideFromSchedule boolean - -
GeoTimestamp datetime - -
NavigatingTimestamp datetime - -
NavigatingExpiryTimestamp datetime - -
StatusMessage string - -
JobTitle string - -
CustomIconUrl string - -
StatusMessageTimestamp datetime - -
CanReceivePushNotification boolean - -
NavigatingToJobUuid guid Job → Uuid -
LabourMaterialUuid guid Material → Uuid -
SecurityRoleUuid guid -
  • 19 May 2026 Foreign Key - Refers to 'Security Role' (not implemented)
Uuid guid - -
EditDate datetime - -
Active string - -

Supplier

Documentation: https://developer.servicem8.com/reference/listsuppliers

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
BusinessNumber string - -
Address string - -
AccountNumber string - -
Lng decimal - -
Lat decimal - -
GeoIsValid boolean - -
GeoCountry string - -
GeoPostcode string - -
GeoState string - -
GeoCity string - -
GeoStreet string - -
GeoNumber string - -
Email string - -
Phone string - -
Uuid guid - -
EditDate datetime - -
Active string - -

TaxRate

Documentation: https://developer.servicem8.com/reference/listtaxrates

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
Amount decimal - -
IsDefaultTaxRate boolean - -
Uuid guid - -
EditDate datetime - -
Active string - -

AssetFieldValue

Column Type Relates to Notes
RemoteID string - -
AssetRemoteID string Asset → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
AssetID guid Asset → Uuid -
Uuid guid - -
FieldName string - -
FieldType string - -
FieldValue string - -
SortOrder int - -

JobCheckListItemStaffAssigned

Column Type Relates to Notes
RemoteID string - -
JobChecklistItemRemoteID string JobChecklistItem → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
JobCheckListItemID guid JobChecklistItem → Uuid -
StaffID guid Staff → Uuid -

Need more?

SYNCHUB lives and breathes APIs and data. Keep exploring using the links below.