Fleet Freedom
Main Site
Overview
WebSocket
JavaScript
Behaviours
Provisioning
Pictures
Reports
Events
Return to site

WebSocket API Reference

Download JSDoc Helper
version 4.17.5
Updated Wednesday Apr 28 2021 17:54:44
© 2021 Trak iT Wireless Inc.
wss://socket.fleetfreedom.com/ghostId
and/or
wss://socket.fleetfreedom.com:40000/ghostId

Service Commands

  • API Definitions

    • connection
    • getProviderConfigType
    • getProviderConfigTypesList
    • getTimezone
    • getTimezonesList
    • noop
  • Assets

    • getAsset
    • getAssetsList
    • getAssetsListByReference
    • getAssetsListByReferences
    • mergeAsset
    • removeAsset
    • restoreAsset
    • reviveAsset
    • suspendAsset
  • Behaviours

    • clearBehaviourLogsByAsset
    • clearBehaviourLogsByBehaviour
    • clearBehaviourLogsByScript
    • getBehaviour
    • getBehaviourLogsListByAsset
    • getBehaviourLogsListByBehaviour
    • getBehaviourLogsListByScript
    • getBehaviourScript
    • getBehaviourScriptsList
    • getBehavioursList
    • mergeBehaviour
    • mergeBehaviourScript
    • removeBehaviour
    • removeBehaviourScript
    • restoreBehaviour
    • restoreBehaviourScript
  • Billing

    • getBillingProfile
    • getBillingProfilesList
    • getBillingReport
    • getBillingReportsList
    • getBillingReportsListByCompany
    • getHostingDiscount
    • getHostingDiscountsList
    • getHostingLicense
    • getHostingLicensesList
    • getHostingRule
    • getHostingRulesList
    • mergeBillingProfile
    • mergeHostingDiscount
    • mergeHostingLicense
    • mergeHostingRule
    • removeBillingProfile
    • removeBillingReport
    • removeHostingDiscount
    • removeHostingLicense
    • removeHostingRule
    • restoreBillingProfile
    • restoreBillingReport
    • restoreHostingDiscount
    • restoreHostingLicense
    • restoreHostingRule
  • Companies

    • getCompaniesList
    • getCompany
    • mergeCompany
    • removeCompany
    • restoreCompany
  • Contacts

    • getContact
    • getContactsList
    • mergeContact
    • removeContact
    • restoreContact
  • Dispatch

    • getDispatchTask
    • getDispatchTasksList
    • getDispatchTasksListByCompany
    • getDispatchTasksListByReference
    • getDispatchTasksListByReferences
    • mergeDispatchTask
    • multiMergeDispatchTask
    • multiRemoveDispatchTask
    • removeDispatchTask
    • restoreDispatchTask
  • File Hosting

    • getDocument
    • getDocumentsList
    • mergeDocument
    • removeDocument
    • restoreDocument
  • Hours of Service

    • getHosCarrier
    • getHosCarriersList
    • getHosEvent
    • getHosEventsList
    • getHosEventsListByAsset
    • getHosInspection
    • getHosInspectionsList
    • getHosInspectionsListByAsset
    • mergeHosCarrier
    • removeHosCarrier
    • restoreHosCarrier
  • Icons

    • getIcon
    • getIconsList
    • mergeIcon
    • removeIcon
    • restoreIcon
  • Maintenance

    • getMaintenanceJob
    • getMaintenanceJobsList
    • getMaintenanceJobsListByAsset
    • getMaintenanceJobsListBySchedule
    • getMaintenanceSchedule
    • getMaintenanceSchedulesList
    • mergeMaintenanceJob
    • mergeMaintenanceSchedule
    • removeMaintenanceJob
    • removeMaintenanceSchedule
    • restoreMaintenanceJob
    • restoreMaintenanceSchedule
  • Messaging

    • getAssetMessage
    • getAssetMessagesList
    • getAssetMessagesListByCompany
    • mergeAssetMessage
    • multiMergeAssetMessage
    • removeAssetMessage
    • restoreAssetMessage
  • Pictures

    • getPicture
    • getPicturesList
    • mergePicture
    • removePicture
    • restorePicture
  • Places

    • getPlace
    • getPlacesList
    • getPlacesListByReference
    • mergePlace
    • removePlace
    • restorePlace
  • Providers and Configurations

    • getProvider
    • getProviderConfig
    • getProviderConfigsList
    • getProviderConfiguration
    • getProviderConfigurationsList
    • getProviderRegistration
    • getProviderRegistrationsList
    • getProviderRegistrationsListByKind
    • getProviderScript
    • getProviderScriptsList
    • getProvidersList
    • getProvidersListByConfiguration
    • mergeProvider
    • mergeProviderConfig
    • mergeProviderConfiguration
    • mergeProviderRegistration
    • mergeProviderScript
    • removeProvider
    • removeProviderConfig
    • removeProviderConfiguration
    • removeProviderRegistration
    • removeProviderScript
    • restoreProvider
    • restoreProviderConfig
    • restoreProviderConfiguration
    • restoreProviderScript
    • reviveProvider
    • suspendProvider
  • Reports

    • getReportResult
    • getReportResultsList
    • getReportResultsListByTemplate
    • getReportSchedule
    • getReportSchedulesList
    • getReportSchedulesListByTemplate
    • getReportTemplate
    • getReportTemplatesList
    • mergeReportResult
    • mergeReportSchedule
    • mergeReportTemplate
    • removeReportResult
    • removeReportSchedule
    • removeReportTemplate
    • restoreReportResult
    • restoreReportSchedule
    • restoreReportTemplate
  • Self

    • getSessionDetails
    • login
    • logout
    • updateOwnContact
    • updateOwnPassword
    • updateOwnPreferences
  • Socket

    • getSubscriptionsList
    • subscribe
    • unsubscribe
  • Users and Groups

    • getMachine
    • getMachinesList
    • getSessionsList
    • getSessionsListByUser
    • getUser
    • getUserGroup
    • getUserGroupsList
    • getUsersList
    • killSession
    • mergeMachine
    • mergeUser
    • mergeUserGroup
    • removeMachine
    • removeUser
    • removeUserGroup
    • restoreMachine
    • restoreUser
    • restoreUserGroup
  • White-labelling

    • getCompanyReseller
    • mergeCompanyReseller
    • removeCompanyReseller
    • restoreCompanyReseller

JSON Structures

  • API Definitions

    • LatLng
    • LatLngBounds
    • Point
    • Size
    • Square
    • Timezone
  • Assets

    • Asset
    • AssetAdvanced
    • AssetAttribute
    • AssetDeleted
    • AssetGeneral
    • AssetPlaceStatus
    • AssetSuspended
    • PersonGeneral
    • Position
    • StreetAddress
    • TrailerGeneral
    • VehicleAdvanced
    • VehicleGeneral
  • Behaviours

    • Behaviour
    • BehaviourDeleted
    • BehaviourLog
    • BehaviourLogDeleted
    • BehaviourParameter
    • BehaviourScript
    • BehaviourScriptDeleted
  • Billing

    • BillableHostingDiscount
    • BillableHostingDiscountDeleted
    • BillableHostingLicense
    • BillableHostingLicenseDeleted
    • BillableHostingRule
    • BillableHostingRuleDeleted
    • BillableSmsProfile
    • BillingProfile
    • BillingProfileDeleted
    • BillingReport
    • BillingReportDeleted
    • BillingReportHostingBreakdown
    • BillingReportHostingSummary
    • BillingReportSummary
  • Companies

    • Company
    • CompanyDeleted
    • CompanyDeleted
    • CompanyGeneral
    • CompanyLabels
    • CompanyPolicies
    • LabelStyle
    • PasswordPolicy
    • SessionPolicy
  • Contacts

    • Contact
    • ContactDeleted
  • Dispatch

    • AssetDispatch
    • DispatchTask
    • DispatchTaskDeleted
  • File Hosting

    • DashcamData
    • Document
    • DocumentDeleted
    • Icon
    • IconGlyph
    • IconLabel
    • Picture
  • Hours of Service

    • HosCarrier
    • HosCarrierDeleted
    • HosEvent
    • HosInspection
    • HosInspectionDefect
  • Icons

    • IconDeleted
  • Maintenance

    • MaintenanceInterval
    • MaintenanceJob
    • MaintenanceJobDeleted
    • MaintenanceSchedule
    • MaintenanceScheduleDeleted
  • Messaging

    • AssetAlert
    • Message
    • MessageDeleted
    • PndMessage
    • ProviderCommand
  • Pictures

    • PictureDeleted
  • Places

    • PlaceDeleted
    • PlaceGeneral
  • Providers and Configurations

    • CircularGeofence
    • GeofenceType
    • PointGeofence
    • PolygonGeofence
    • Provider
    • ProviderAdvanced
    • ProviderConfig
    • ProviderConfigDeleted
    • ProviderConfiguration
    • ProviderConfigurationDeleted
    • ProviderConfigurationNode
    • ProviderConfigurationType
    • ProviderData
    • ProviderDeleted
    • ProviderGeneral
    • ProviderRegistration
    • ProviderRegistrationDeleted
    • ProviderScript
    • ProviderScriptBlock
    • ProviderScriptDeleted
    • ProviderScriptParameter
    • ProviderSuspended
    • RectangleGeofence
  • Real-time Analytics

    • AnalyticOptions
    • AnalyticParameter
    • AnalyticRule
    • AnalyticSummary
  • Reports

    • ReportBreakdown
    • ReportBreakdownMessage
    • ReportBreakdownTask
    • ReportNotifications
    • ReportOptions
    • ReportParameter
    • ReportRecurrence
    • ReportResult
    • ReportResultDeleted
    • ReportSchedule
    • ReportScheduleDeleted
    • ReportScorecard
    • ReportScorecardParameter
    • ReportScorecardRules
    • ReportSummary
    • ReportTemplate
    • ReportTemplateDeleted
    • ReportTotal
  • Self

    • Session
  • Socket

    • BroadcastMaintenance
    • BroadcastUpgrade
    • SocketResponse
    • Subscription
  • Users and Groups

    • Machine
    • MachineDeleted
    • SessionHandle
    • User
    • UserAdvanced
    • UserDeleted
    • UserGeneral
    • UserGroup
    • UserGroupDeleted
    • UserNotifications
    • UserPermission
  • White-labelling

    • ColourStyle
    • CompanyReseller
    • NotificationServerEmail
    • NotificationServerSms

Special Types

  • API Definitions

    • ErrorCode
  • Assets

    • AssetPlaceStatusType
    • AssetType
  • Behaviours

    • BehaviourLogType
    • BehaviourParameterType
  • Billing

    • BillableHostingType
    • BillableLicenseType
    • BillingCurrency
    • BillingCycle
  • Companies

    • ExpiryModePolicy
    • MultiUserPolicy
  • Dispatch

    • TaskStatus
  • File Hosting

    • DashcamDataType
    • IconLayer
  • Hours of Service

    • HosCycle
    • HosDataTransferType
    • HosDefectArea
    • HosDefectStatus
    • HosDiagnosticCode
    • HosEventCodeCycleChanged
    • HosEventCodeDeferredHours
    • HosEventCodeDiagnostic
    • HosEventCodeDutyStatus
    • HosEventCodeEnginePower
    • HosEventCodeIntermediate
    • HosEventCodeLogin
    • HosEventCodeOther
    • HosEventCodeZoneChanged
    • HosEventOrigin
    • HosEventStatus
    • HosEventType
    • HosMalfunctionCode
    • HosViolationType
  • Maintenance

    • MaintenanceJobStatus
  • Messaging

    • AlertPriority
    • MemoStatus
    • MemoType
    • MessageFolder
  • Places

    • ShapeType
  • Providers and Configurations

    • ProviderDataGroup
    • ProviderDataName
    • ProviderDataUnit
    • ProviderEventName
    • ProviderScriptParameterType
    • ProviderType
    • ProvisioningStatus
  • Real-time Analytics

    • AnalyticParameterType
    • AnalyticsType
  • Reports

    • ReportDataSummaryReason
    • ReportFilterMode
    • ReportParameterType
    • ReportRecurrenceType
    • ReportStatus
    • ReportType
  • Socket

    • BroadcastType
    • SubscriptionType
  • Users and Groups

    • NotificationMethod
    • PermissionLevel
    • PermissionMethod
    • PermissionType
    • SystemsOfUnits

Common Formats

  • byte
  • codified
  • datetime
  • double
  • duration
  • email
  • expression
  • int32
  • ipv4
  • polyline
  • sbyte
  • single
  • uint16
  • uint32
  • uint64
  • uint8
  • url
  • ushort

Service Commands

API Definitions

connection

This is the first message sent after a connection has been initialized. If you begin sending messages before receiving the connectionResponse, your socket may be closed abruptly.

JSON response message structure

connectionResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "expiry": string, /* datetime format */ "ghostId": string, "message": string, "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "reqId": number, /* uint32 format */ "serverTime": string, /* datetime format */ "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "user": { "company": number, /* uint64 format, see Company.id */ "contact": { "addresses": { string: string /* email format */ }, "company": number, /* uint64 format, see Company.id */ "dates": { string: string /* datetime format */ }, "emails": { string: string /* email format */ }, "id": number, /* uint64 format */ "name": string, "notes": string, "options": { string: string }, "otherNames": { string: string }, "phones": { string: number /* uint64 format */ }, "pictures": [ number /* uint64 format */ ], "roles": [ string /* codified format */ ], "urls": { string: string }, "v": [ number /* uint32 format */ ] }, "enabled": boolean, "formats": { string /* codified format */ : string }, "groups": [ { "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format */ "name": string, "notes": string, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] } ], "language": string, "login": string, /* email format, see User.login */ "measurements": { string /* codified format */ : string /* one of the SystemsOfUnits values */ }, "nickname": string, "notify": [ { "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] } ], "options": { string /* codified format */ : string }, "passwordExpired": boolean, "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ] } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
expirystring(datetime)if no errorThe date/time when this UserSession expires.
ghostIdstringif no errorYour session identifier.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
passwordPolicyPasswordPolicyif no errorThe company's password policy. Needed if the user's password is expired.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
serverTimestring(datetime)if no errorThe UTC date/time of the server hosting the connection.
sessionPolicySessionPolicyif no errorThe company's session policy.
userSessionif no errorAll the details about your user.

getProviderConfigType

Gets details of the specified Provider Configuration Type.

JSON request message structure

getProviderConfigType { "providerConfigType": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigTypeobjecttrueAn object to contain the "id" key.
providerConfigType.idnumber(uint64)trueUnique identifier of the configuration logic type.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderConfigTypeResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfigType": { "geofenceTypes": [ ], "id": number, /* uint64 format */ "maxGeofenceCount": number, /* uint32 format */ "minGeofenceCount": number, /* uint32 format */ "name": string, "notes": string, "providerType": string, /* one of the ProviderType values */ "scriptOptions": { string: { "id": string, "isAdvanced": boolean, "max": object, "min": object, "nodes": { string: { /* recursive ProviderConfigurationNode objects */ } }, "notes": string, "type": string, "unit": ProviderDataUnits, "value": object } }, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigTypeProviderConfigurationTypeif no errorThe requested ProviderConfigurationType.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderConfigTypesList

Gets a list of Provider Configuration Types.

JSON request message structure

getProviderConfigTypesList { "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderConfigTypesListResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfigTypes": [ { /* see ProviderConfigurationType for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigTypesarray[ProviderConfigurationType]if no errorThe list of ProviderConfigurationTypes.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getTimezone

Gets details of the specified Time Zone.

JSON request message structure

getTimezone { "reqId": number, /* uint32 format */ "timezone": { "code": string } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
timezoneobjecttrueAn object to contain the "code" key.
timezone.codestringtrueThe system identifier of the timezone.

JSON response message structure

getTimezoneResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "timezone": { "code": string, } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
timezoneTimezoneif no errorThe requested Timezone

getTimezonesList

Gets a list of Time Zones.

JSON request message structure

getTimezonesList { "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getTimezonesListResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "timezones": [ { /* see Timezone for details */ } ] }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
timezonesarray[Timezone]if no errorThe list of timezones.

noop

Does nothing, but keeps the WebSocket connection open in case an idle TCP connections get killed by a network appliance.

JSON request message structure

noop { "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

noopResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Assets

getAsset

Gets details of the specified Asset.

JSON request message structure

getAsset { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getAssetResponse { "asset": { "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "colour": string, "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "engineHours": number, /* double format */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "make": string, "messagingAddress": string, "model": string, "name": string, "notes": string, "odometer": number, /* double format */ "pictures": [ number /* uint64 format */ ], "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "plate": string, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "reference": string, "references": { string: string }, "relationships": [ number /* uint64 format */ ], "serial": string, "tags": [ string ], "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32, "vin": string, "year": number /* uint16 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetAssetif no errorThe requested asset.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getAssetsList

Gets the list of Assets for the specified Company.

JSON request message structure

getAssetsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getAssetsListResponse { "assets": [ { /* see Asset for details */ } ], "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetsarray[Asset]if no errorThe list of assets.
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getAssetsListByReference

Gets the list of Assets for the specified Company only if one of the Asset reference fields is a match.

JSON request message structure

getAssetsListByReference { "company": { "id": number /* uint64 format */ }, "reference": string, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
referencestringtrueCase-insensitive reference used to match assets.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getAssetsListByReferenceResponse { "assets": [ { /* see Asset for details */ } ], "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reference": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetsarray[Asset]if no errorThe list of assets.
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
referencestringif no errorCase-insensitive reference used to match assets.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getAssetsListByReferences

Gets the list of Assets for the specified Company only if the specified Asset reference fields match. If no references are specified, it will match any Asset with no references. If a reference value is null, it will match any Asset without that reference key.

JSON request message structure

getAssetsListByReferences { "company": { "id": number /* uint64 format */ }, "references": { string: string, }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
referencesobject{string:string}trueAn object to contain the references as name/value pairs. All references must match.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getAssetsListByReferencesResponse { "assets": [ { /* see Asset for details */ } ], "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "references": {stringstring,}, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetsarray[Asset]if no errorThe list of assets.
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
referencesobject{string:string}if no errorThe pairs of names/values as interpreted by the system for the search.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeAsset

Creates a new or updates an existing Asset.

JSON request message structure

mergeAsset { "asset": { "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ }, }, "colour": string, "company": number, /* uint64 format */ "contact": number, /* uint64 format */ "engineHours": number, /* double format */ "icon": number, /* uint64 format */ "id": number, /* uint64 format */ "kind": string, /* one of the AssetType values */ "labels": [ string /* codified format */ ], "make": string, "messagingAddress": string, "model": string, "name": string, "notes": string, "odometer": number, /* double format */ "pictures": [ number /* uint64 format */ ], "plate": string, "providers": [ string ], "reference": string, "references": { string /* codified format */ : string, }, "relationships": [ number /* uint64 format */ ], "serial": string, "tags": [ string /* codified format */ ], "v": [ number /* uint32 format */ ], "vin": string, "year": number }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjectalwaysA simple object to contain the asset parameters.
asset.attributesobject{string(codified):AssetAttribute}optional Allows you to add, remove, and replace attributes.
For each AssetAttribute in the attributes object, the value will be replaced on the asset.
If value is null, the attribute is removed from the asset.
If the key in the attributes object is different from the codifiedAssetAttribute.name in the object, the attribute of the key is removed from the asset, and one of the codified name is added to the asset.
If a new value or null is not provided for a current attribute, no change is made.
asset.colourstringoptionalThe pretty-pretty colour of this vehicle or trailer. Only applicable if asset.type is vehicle or trailer.
asset.companynumber(uint64)createThe company to which this asset belongs.
asset.contactnumber(uint64)createOnly applicable if asset.type is person.
asset.engineHoursnumber(double)optionalThe number of hours the engine has been running for this vehicle. Only applicable if asset.type is vehicle.
asset.iconnumber(uint64)optionalThe identifier of the icon used to represent this asset in the UI.
asset.idnumber(uint64)updateThe unique identifier of the asset you want to update.
asset.kindstring(AssetType)createThe kind of thing being created. After creation, this value is read-only.
asset.labelsarray[string(codified)]optionalA list of codified label names to categorize/organize this asset.
asset.makestringoptionalThe manufacturer of this vehicle or trailer. Only applicable if asset.type is vehicle or trailer.
asset.messagingAddressstringoptionalThe email address or phone number of this asset when a person's contact card is blank, or the provider's PND is not installed.
asset.modelstringoptionalThe model of this vehicle or trailer. Only applicable if asset.type is vehicle or trailer.
asset.namestringcreateName for the asset.
asset.notesstringoptionalNotes for the asset.
asset.odometernumber(double)optionalThe distance travelled by this asset. Can be a GPS odometer, OBD-II odometer, or other depending on scripts.
asset.picturesarray[number(uint64)]optionalThe identifiers of pictures of this asset.
asset.platestringoptionalThe license plate of this vehicle or trailer. Only applicable if asset.type is vehicle or trailer.
asset.providersarray[string]optionalA list of provider identifiers which are providing event data for this asset.
asset.reference
Deprecated since v4.12.
Use asset.references["Reference"] instead.
stringdeprecatedA custom field used to refer this asset an external system.
asset.referencesobject{string(codified):string}optionalName/value collections of custom fields used to refer to external systems.
asset.relationshipsarray[number(uint64)]optionalA list of related asset identifiers like a driver for a vehicle, or truck for a person.
asset.serialstringoptionalThe manufacturer's identification number of this trailer. Only applicable if asset.type is trailer.
asset.tagsarray[string(codified)]optionalReplaces the asset's status tags with the given list of codified tags.
asset.varray[number(uint32)]updateThe asset version keys used to validate synchronization.
asset.vinstringoptionalThe Vehicle Identification Number of this vehicle. Only applicable if asset.type is vehicle.
asset.yearnumberoptionalThe year this vehicle or trailer was built. Only applicable if asset.type is vehicle or trailer.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeAssetResponse { "asset": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorThe unique identifier of the asset. When creating, this is the id of the asset created.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeAsset

Deletes an existing Asset.

JSON request message structure

removeAsset { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeAssetResponse { "asset": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the keys "id" and "deleted" when there is no error.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
asset.idnumber(uint64)if no errorThe unique identifier of the asset.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreAsset

Restores the specified Asset to its previous version.

JSON request message structure

restoreAsset { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreAssetResponse { "asset": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the keys "id" and "deleted" when there is no error.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
asset.idnumber(uint64)if no errorThe unique identifier of the asset.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

reviveAsset

Revives an Asset from suspended state so that new events are processed (data sent while suspended is ignored).

JSON request message structure

reviveAsset { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

reviveAssetResponse { "asset": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "suspended": boolean, "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the keys "id" and "suspended" when there is no error.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorThe unique identifier of the asset.
asset.suspendedbooleanif no errorIndicates whether the object is suspended.
Value is always false
asset.varray[number(uint32)]if no errorThe asset version keys at the time of suspension.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

suspendAsset

Suspends an Asset so that no further events are processed for it, but it remains available for historical reports.

JSON request message structure

suspendAsset { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

suspendAssetResponse { "asset": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "suspended": boolean, "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the keys "id" and "suspended" when there is no error.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorThe unique identifier of the asset.
asset.suspendedbooleanif no errorIndicates whether the object is suspended.
Value is always true
asset.varray[number(uint32)]if no errorThe asset version keys at the time of suspension.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Behaviours

clearBehaviourLogsByAsset

Clears the list of Behaviour Logs for the specified Behaviour Script.

JSON request message structure

clearBehaviourLogsByAsset { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the script.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

clearBehaviourLogsByAssetResponse { "asset": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object to contain the "id" key.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

clearBehaviourLogsByBehaviour

Clears the list of Behaviour Logs for the specified Behaviour.

JSON request message structure

clearBehaviourLogsByBehaviour { "behaviour": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourobjecttrueAn object to contain the "id" key.
behaviour.idnumber(uint64)trueUnique identifier of the behaviour.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

clearBehaviourLogsByBehaviourResponse { "behaviour": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "script": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourobjectif no errorAn object to contain the "id" key.
behaviour.companynumber(uint64)if no errorUnique identifier of the company.
behaviour.idnumber(uint64)if no errorUnique identifier of the behaviour.
behaviour.scriptnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

clearBehaviourLogsByScript

Clears the list of Behaviour Logs for the specified Behaviour Script.

JSON request message structure

clearBehaviourLogsByScript { "behaviourScript": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourScriptobjecttrueAn object to contain the "id" key.
behaviourScript.idnumber(uint64)trueUnique identifier of the script.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

clearBehaviourLogsByScriptResponse { "behaviourScript": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourScriptobjectif no errorAn object to contain the "id" key.
behaviourScript.companynumber(uint64)if no errorUnique identifier of the company.
behaviourScript.idnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBehaviour

Gets details of the specified Behaviour.

JSON request message structure

getBehaviour { "behaviour": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourobjecttrueAn object to contain the "id" key.
behaviour.idnumber(uint64)trueUnique identifier of the behaviour.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBehaviourResponse { "behaviour": { "company": number, /* uint64 format, see Company.id */ "filters": string, /* expression format */ "id": number, /* uint64 format */ "name": string, "notes": string, "parameters": { string: { "context": string, "notes": string, "type": string, /* one of the BehaviourParameterType values */ "value": string } }, "priority": number, /* uint8 format */ "script": number, /* uint64 format, see BehaviourScript.id */ "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourBehaviourif no errorThe requested Behaviour.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBehaviourLogsListByAsset

Gets the list of Behaviour Logs for the specified Behaviour Script.

JSON request message structure

getBehaviourLogsListByAsset { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the script.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBehaviourLogsListByAssetResponse { "asset": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "behaviourLogs": [ { /* see BehaviourLog for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the script to which the object relates.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorUnique identifier of the script.
behaviourLogsarray[BehaviourLog]if no errorThe list of BehaviourLogs.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBehaviourLogsListByBehaviour

Gets the list of Behaviour Logs for the specified Behaviour.

JSON request message structure

getBehaviourLogsListByBehaviour { "behaviour": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourobjecttrueAn object to contain the "id" key.
behaviour.idnumber(uint64)trueUnique identifier of the behaviour.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBehaviourLogsListByBehaviourResponse { "behaviour": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "script": number /* uint64 format */ }, "behaviourLogs": [ { /* see BehaviourLog for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourobjectif no errorAn object which contains the "id", "company", and "script" keys when there is no error. The "id" key is the unique identifier of the behaviour to which the array of objects relate.
behaviour.companynumber(uint64)if no errorUnique identifier of the company.
behaviour.idnumber(uint64)if no errorUnique identifier of the behaviour.
behaviour.scriptnumber(uint64)if no errorUnique identifier of the script.
behaviourLogsarray[BehaviourLog]if no errorThe list of BehaviourLogs.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBehaviourLogsListByScript

Gets the list of Behaviour Logs for the specified Behaviour Script.

JSON request message structure

getBehaviourLogsListByScript { "behaviourScript": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourScriptobjecttrueAn object to contain the "id" key.
behaviourScript.idnumber(uint64)trueUnique identifier of the script.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBehaviourLogsListByScriptResponse { "behaviourLogs": [ { /* see BehaviourLog for details */ } ], "behaviourScript": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourLogsarray[BehaviourLog]if no errorThe list of BehaviourLogs.
behaviourScriptobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the script to which the object relates.
behaviourScript.companynumber(uint64)if no errorUnique identifier of the company.
behaviourScript.idnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBehaviourScript

Gets details of the specified Behaviour Script.

JSON request message structure

getBehaviourScript { "behaviourScript": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourScriptobjecttrueAn object to contain the "id" key.
behaviourScript.idnumber(uint64)trueUnique identifier of the script.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBehaviourScriptResponse { "behaviourScript": { "company": number, /* uint64 format, see Company.id */ "compiles": boolean, "fill": string, "filters": string, /* expression format */ "global": boolean, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "name": string, "notes": string, "parameters": { string: { "context": string, "notes": string, "type": string, /* one of the BehaviourParameterType values */ "value": string } }, "source": string, "stroke": string, "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourScriptBehaviourScriptif no errorThe requested BehaviourScript.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBehaviourScriptsList

Gets the list of Behaviour Scripts for the specified Company.

JSON request message structure

getBehaviourScriptsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBehaviourScriptsListResponse { "behaviourScripts": [ { /* see BehaviourScript for details */ } ], "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourScriptsarray[BehaviourScript]if no errorThe list of BehaviourScripts.
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBehavioursList

Gets the list of Behaviours for the specified Company.

JSON request message structure

getBehavioursList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBehavioursListResponse { "behaviours": [ { /* see Behaviour for details */ } ], "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behavioursarray[Behaviour]if no errorThe list of behaviours.
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeBehaviour

Creates a new or updates an existing Behaviour.

JSON request message structure

mergeBehaviour { "behaviour": { "company": number, /* uint64 format */ "filters": string, /* expression format */ "id": number, /* uint64 format */ "name": string, "notes": string, "parameters": { string: { "context": string, "notes": string, "type": string, /* one of the BehaviourParameterType values */ "value": string }, }, "priority": number, /* uint8 format */ "script": number, /* uint64 format */ "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourobjectalwaysA simple object to contain the behaviour parameters.
behaviour.companynumber(uint64)createThe company to which this behaviour belongs.
behaviour.filtersstring(expression)createA search pattern used to select the assets which will embed this behaviour in their execution context.
behaviour.idnumber(uint64)updateThe unique identifier of the behaviour you want to update.
behaviour.namestringcreateName for the behaviour.
behaviour.notesstringoptionalNotes for the behaviour.
behaviour.parametersobject{string:BehaviourParameter}optionalThe values needed to implement the script. Each key in this object is the name of a required script argument.
behaviour.prioritynumber(uint8)optionalThe order in which this behaviour is embedded.
behaviour.scriptnumber(uint64)createThe identifier of the script being implemented.
behaviour.targetsstring(expression)createA search pattern used to select the providers which can implement this behaviour.
behaviour.varray[number(uint32)]updateThe behaviour version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeBehaviourResponse { "behaviour": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "script": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourobjectif no errorAn object which contains the "id", "company", and "script" keys when there is no error.
behaviour.companynumber(uint64)if no errorUnique identifier of the company.
behaviour.idnumber(uint64)if no errorUnique identifier of the behaviour.
behaviour.scriptnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeBehaviourScript

Creates a new or updates an existing Behaviour Script.

JSON request message structure

mergeBehaviourScript { "behaviourScript": { "company": number, /* uint64 format */ "fill": string, "filters": string, /* expression format */ "global": string, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "name": string, "notes": string, "parameters": { string: { "context": string, "notes": string, "type": string, /* one of the BehaviourParameterType values */ "value": string }, }, "source": string, "stroke": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourScriptobjectalwaysA simple object to contain the behaviourScript parameters.
behaviourScript.companynumber(uint64)createThe company to which this script belongs.
behaviourScript.fillstringoptionalBackground and fill colour in the UI.
behaviourScript.filtersstring(expression)createA search pattern used to select the providers.
behaviourScript.globalstringoptionalWhen set to true, this company as well as all child companies will be able to implement this script for that companies assets.
behaviourScript.graphicstring(codified)optionalThe name of the symbol shown in the UI.
behaviourScript.idnumber(uint64)updateThe unique identifier of the script you want to update.
behaviourScript.namestringcreateName for the behaviourScript.
behaviourScript.notesstringoptionalNotes for the behaviourScript.
behaviourScript.parametersobject{string:BehaviourParameter}optionalThe defined arguments for this script. Each key in the object is the name of an argument.
behaviourScript.sourcestringcreateThe raw source code of this script. See further documentation about writing scripts.
behaviourScript.strokestringoptionalText and outline colour in the UI.
behaviourScript.varray[number(uint32)]updateThe script version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeBehaviourScriptResponse { "behaviourScript": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourScriptobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
behaviourScript.companynumber(uint64)if no errorUnique identifier of the company.
behaviourScript.idnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeBehaviour

Deletes an existing Behaviour.

JSON request message structure

removeBehaviour { "behaviour": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourobjecttrueAn object to contain the "id" key.
behaviour.idnumber(uint64)trueUnique identifier of the behaviour.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeBehaviourResponse { "behaviour": { "company": number, /* uint64 format */ "deleted": boolean, "id": number, /* uint64 format */ "script": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourobjectif no errorAn object which contains only four keys, and is only present when there is no error.
behaviour.companynumber(uint64)if no errorUnique identifier of the company.
behaviour.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
behaviour.idnumber(uint64)if no errorUnique identifier of the behaviour.
behaviour.scriptnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeBehaviourScript

Deletes an existing Behaviour Script.

JSON request message structure

removeBehaviourScript { "behaviourScript": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourScriptobjecttrueAn object to contain the "id" key.
behaviourScript.idnumber(uint64)trueUnique identifier of the script.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeBehaviourScriptResponse { "behaviourScript": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourScriptobjectif no errorAn object which contains only three keys, and is only present when there is no error.
behaviourScript.companynumber(uint64)if no errorUnique identifier of the company.
behaviourScript.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
behaviourScript.idnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreBehaviour

Restores the specified Behaviour to its previous version.

JSON request message structure

restoreBehaviour { "behaviour": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourobjecttrueAn object to contain the "id" key.
behaviour.idnumber(uint64)trueUnique identifier of the behaviour.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreBehaviourResponse { "behaviour": { "company": number, /* uint64 format */ "deleted": boolean, "id": number, /* uint64 format */ "script": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourobjectif no errorAn object which contains only four keys, and is only present when there is no error.
behaviour.companynumber(uint64)if no errorUnique identifier of the company.
behaviour.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
behaviour.idnumber(uint64)if no errorUnique identifier of the behaviour.
behaviour.scriptnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreBehaviourScript

Restores the specified Behaviour Script to its previous version.

JSON request message structure

restoreBehaviourScript { "behaviourScript": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
behaviourScriptobjecttrueAn object to contain the "id" key.
behaviourScript.idnumber(uint64)trueUnique identifier of the script.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreBehaviourScriptResponse { "behaviourScript": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
behaviourScriptobjectif no errorAn object which contains only three keys, and is only present when there is no error.
behaviourScript.companynumber(uint64)if no errorUnique identifier of the company.
behaviourScript.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
behaviourScript.idnumber(uint64)if no errorUnique identifier of the script.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Billing

getBillingProfile

Gets details of the specified Billing Profile.

JSON request message structure

getBillingProfile { "billingProfile": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingProfileobjecttrueAn object to contain the "id" key.
billingProfile.idnumber(uint64)trueUnique identifier of the billing profile.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBillingProfileResponse { "billingProfile": { "billee": number, /* uint64 format, see Company.id */ "company": number, /* uint64 format, see Company.id */ "currency": string, /* one of the BillingCurrency values */ "cycle": string, /* one of the BillingCycle values */ "cycleEnd": string, /* datetime format */ "cyclePostDated": boolean, "cycleStart": string, /* datetime format */ "googleServicesEnabled": boolean, "id": number, /* uint64 format */ "messages": [ { "amount": number, /* double format */ "limit": number /* uint32 format */ } ], "name": string, "notes": string, "target": number, /* uint64 format, see Company.id */ "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingProfileBillingProfileif no errorThe requested Billing Profile.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBillingProfilesList

Gets the list of Billing Profiles for the specified Company.

JSON request message structure

getBillingProfilesList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBillingProfilesListResponse { "billingProfiles": [ { /* see BillingProfile for details */ } ], "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingProfilesarray[BillingProfile]if no errorThe list of Billing Profiles.
companyobjectif no errorAn object which contains key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBillingReport

Gets details of the specified Billing Report.

JSON request message structure

getBillingReport { "billingReport": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingReportobjecttrueAn object to contain the "id" key.
billingReport.idnumber(uint64)trueUnique identifier of the billing report.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBillingReportResponse { "billingReport": { "billee": number, /* uint64 format, see Company.id */ "company": number, /* uint64 format, see Company.id */ "currency": string, /* one of the BillingCurrency values */ "endDate": string, /* datetime format */ "hostingBreakdown": { string: array }, "id": number, /* uint64 format */ "name": string, "notes": string, "profile": number, /* uint64 format, see BillingProfile.id */ "startDate": string, /* datetime format */ "status": ErrorCodes, "summary": [ { "hostingSummary": [ { "count": number, /* double format */ "kind": string, /* one of the BillableHostingType values */ "total": number /* double format */ } ], "name": string, "notes": string, "parent": number, /* uint64 format, see Company.id */ "target": number /* uint64 format, see Company.id */ } ], "total": number, /* double format */ "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingReportBillingReportif no errorThe requested Billing Report.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBillingReportsList

Gets the list of Billing Reports for the specified Profile.

JSON request message structure

getBillingReportsList { "billingProfile": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingProfileobjecttrueAn object to contain the "id" key.
billingProfile.idnumber(uint64)trueUnique identifier of the billing profile.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBillingReportsListResponse { "billingProfile": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "billingReports": [ { /* see BillingReport for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingProfileobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the billing profile to which the array of objects relate.
billingProfile.companynumber(uint64)if no errorUnique identifier of the company.
billingProfile.idnumber(uint64)if no errorUnique identifier of the billing profile.
billingReportsarray[BillingReport]if no errorThe list of Billing Reports.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getBillingReportsListByCompany

Gets the list of Billing Reports for all the Profiles in the specified Company.

JSON request message structure

getBillingReportsListByCompany { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getBillingReportsListByCompanyResponse { "billingReports": [ { /* see BillingReport for details */ } ], "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingReportsarray[BillingReport]if no errorThe list of Billing Reports.
companyobjectif no errorAn object which contains key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHostingDiscount

Gets details of the specified Billable Hosting Discount.

JSON request message structure

getHostingDiscount { "hostingDiscount": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingDiscountobjecttrueAn object to contain the "id" key.
hostingDiscount.idnumber(uint64)trueUnique identifier of the hosting discount.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHostingDiscountResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingDiscount": { "amount": number, /* double format */ "company": number, /* uint64 format, see Company.id */ "end": string, /* datetime format */ "id": number, /* uint64 format */ "limit": number, /* uint32 format */ "name": string, "notes": string, "percentage": boolean, "profile": number, /* uint64 format, see BillingProfile.id */ "reference": string, "services": [ string /* one of the BillableHostingType values */ ], "start": string, /* datetime format */ "suspended": boolean, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingDiscountBillableHostingDiscountif no errorThe requested Hosting Discount.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHostingDiscountsList

Gets the list of Billable Hosting Discounts for the specified Billing Profile.

JSON request message structure

getHostingDiscountsList { "billingProfile": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingProfileobjecttrueAn object to contain the "id" key.
billingProfile.idnumber(uint64)trueUnique identifier of the billing profile.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHostingDiscountsListResponse { "billingProfile": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingDiscounts": [ { /* see BillableHostingDiscount for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingProfileobjectif no errorAn object which contains key "id" when there is no error. The "id" key is the unique identifier of the billing profile to which the array of objects relate.
billingProfile.companynumber(uint64)if no errorUnique identifier of the company.
billingProfile.idnumber(uint64)if no errorUnique identifier of the billing profile.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingDiscountsarray[BillableHostingDiscount]if no errorThe list of Hosting Discounts.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHostingLicense

Gets details of the specified Billable Hosting License.

JSON request message structure

getHostingLicense { "hostingLicense": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingLicenseobjecttrueAn object to contain the "id" key.
hostingLicense.idnumber(uint64)trueUnique identifier of the hosting license.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHostingLicenseResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingLicense": { "amount": number, /* double format */ "company": number, /* uint64 format, see Company.id */ "end": string, /* datetime format */ "id": number, /* uint64 format */ "kind": string, /* one of the BillableLicenseType values */ "limit": number, /* uint32 format */ "name": string, "notes": string, "profile": number, /* uint64 format, see BillingProfile.id */ "reference": string, "start": string, /* datetime format */ "suspended": boolean, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingLicenseBillableHostingLicenseif no errorThe requested Hosting License.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHostingLicensesList

Gets the list of Billable Hosting Licenses for the specified Billing Profile.

JSON request message structure

getHostingLicensesList { "billingProfile": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingProfileobjecttrueAn object to contain the "id" key.
billingProfile.idnumber(uint64)trueUnique identifier of the billing profile.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHostingLicensesListResponse { "billingProfile": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingLicenses": [ { /* see BillableHostingLicense for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingProfileobjectif no errorAn object which contains key "id" when there is no error. The "id" key is the unique identifier of the billing profile to which the array of objects relate.
billingProfile.companynumber(uint64)if no errorUnique identifier of the company.
billingProfile.idnumber(uint64)if no errorUnique identifier of the billing profile.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingLicensesarray[BillableHostingLicense]if no errorThe list of Hosting Licenses.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHostingRule

Gets details of the specified Billable Hosting Rule.

JSON request message structure

getHostingRule { "hostingRule": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingRuleobjecttrueAn object to contain the "id" key.
hostingRule.idnumber(uint64)trueUnique identifier of the hosting rule.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHostingRuleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingRule": { "amount": number, /* double format */ "company": number, /* uint64 format, see Company.id */ "end": string, /* datetime format */ "id": number, /* uint64 format */ "limit": number, /* uint32 format */ "name": string, "notes": string, "profile": number, /* uint64 format, see BillingProfile.id */ "reference": string, "service": string, /* one of the BillableHostingType values */ "start": string, /* datetime format */ "suspended": boolean, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingRuleBillableHostingRuleif no errorThe requested Hosting Rule.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHostingRulesList

Gets the list of Billable Hosting Rules for the specified Billing Profile.

JSON request message structure

getHostingRulesList { "billingProfile": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingProfileobjecttrueAn object to contain the "id" key.
billingProfile.idnumber(uint64)trueUnique identifier of the billing profile.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHostingRulesListResponse { "billingProfile": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingRules": [ { /* see BillableHostingRule for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingProfileobjectif no errorAn object which contains key "id" when there is no error. The "id" key is the unique identifier of the billing profile to which the array of objects relate.
billingProfile.companynumber(uint64)if no errorUnique identifier of the company.
billingProfile.idnumber(uint64)if no errorUnique identifier of the billing profile.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingRulesarray[BillableHostingRule]if no errorThe list of Hosting Rules.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeBillingProfile

Creates new or updates an existing Billing Profile.

JSON request message structure

mergeBillingProfile { "billingProfile": { "billee": number, /* uint64 format */ "company": number, /* uint64 format */ "currency": string, /* one of the BillingCurrency values */ "cycle": string, /* one of the BillingCycle values */ "cycleEnd": string, /* datetime format */ "cyclePostDated": boolean, "cycleStart": string, /* datetime format */ "googleServicesEnabled": boolean, "id": number, /* uint64 format */ "messages": [ { "amount": number, /* double format */ "limit": number /* uint32 format */ } ], "name": string, "notes": string, "target": number, /* uint64 format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingProfileobjectalwaysA simple object to contain the billing profile parameters.
billingProfile.billeenumber(uint64)createUnique identifier of the company receiving the bill.
billingProfile.companynumber(uint64)createUnique identifier of the company that owns this profile and is sending the bill.
billingProfile.currencystring(BillingCurrency)optionalKind of money
billingProfile.cyclestring(BillingCycle)optionalRepeating cycle used for generating bills
billingProfile.cycleEndstring(datetime)optionalWhen should the cycle end (customer cancelled); null means it never ends.
billingProfile.cyclePostDatedbooleanoptionalPro-rated, or post-dated.
billingProfile.cycleStartstring(datetime)optionalWhen is the first day of the billing cycle.
billingProfile.googleServicesEnabledbooleanoptionalAre the Google services available to be proxied by the service?
billingProfile.idnumber(uint64)updateThe unique identifier of the billing profile you want to update.
billingProfile.messagesarray[BillableSmsProfile]optionalSMS messaging tiers.
billingProfile.namestringoptionalName.
billingProfile.notesstringoptionalNotes.
billingProfile.targetnumber(uint64)createUnique identifier of the company to which this rule pertains.
billingProfile.varray[number(uint32)]updateThe billing profile version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeBillingProfileResponse { "billingProfile": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingProfileobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
billingProfile.companynumber(uint64)if no errorUnique identifier of the company.
billingProfile.idnumber(uint64)if no errorUnique identifier of the billing profile.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeHostingDiscount

Creates a new or updates an existing Hosting Discount.

JSON request message structure

mergeHostingDiscount { "hostingDiscount": { "amount": number, /* double format */ "end": string, /* datetime format */ "id": number, /* uint64 format */ "limit": number, /* uint32 format */ "name": string, "notes": string, "percentage": boolean, "profile": number, /* uint64 format */ "reference": string, "services": [ string /* one of the BillableHostingType values */ ], "start": string, /* datetime format */ "suspended": boolean, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingDiscountobjectalwaysA simple object to contain the hosting Discount parameters.
hostingDiscount.amountnumber(double)optionalCost per cycle for this plan.
hostingDiscount.endstring(datetime)optionalDate this billing discount is applied until; null means it never ends.
hostingDiscount.idnumber(uint64)updateThe unique identifier of the hosting discount you want to update.
hostingDiscount.limitnumber(uint32)optionalThe number of units to which this billing discount applies; null means unlimited
hostingDiscount.namestringoptionalName.
hostingDiscount.notesstringoptionalNotes.
hostingDiscount.percentagebooleanoptionalWhen true, the amount is used as a percentage value instead of a currency values.
hostingDiscount.profilenumber(uint64)createThe billing profile to which this hosting discount belongs.
hostingDiscount.referencestringoptionalA custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
hostingDiscount.servicesarray[string(BillableHostingType)]optionalThe types of service being discounted.
hostingDiscount.startstring(datetime)optionalDate this billing discount takes effect.
hostingDiscount.suspendedbooleanoptionalDoes this hosting discount apply to suspended resources.
hostingDiscount.targetsstring(expression)optionalWhich assets are targetted by this hosting discount.
hostingDiscount.varray[number(uint32)]updateThe hosting discount version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeHostingDiscountResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingDiscount": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "profile": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingDiscountobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
hostingDiscount.companynumber(uint64)if no errorUnique identifier of the company.
hostingDiscount.idnumber(uint64)if no errorUnique identifier of the hosting discount.
hostingDiscount.profilenumber(uint64)if no errorUnique identifier of the billing profile.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeHostingLicense

Creates a new or updates an existing Hosting License.

JSON request message structure

mergeHostingLicense { "hostingLicense": { "amount": number, /* double format */ "end": string, /* datetime format */ "id": number, /* uint64 format */ "kind": string, /* one of the BillableLicenseType values */ "limit": number, /* uint32 format */ "name": string, "notes": string, "profile": number, /* uint64 format */ "reference": string, "start": string, /* datetime format */ "suspended": boolean, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingLicenseobjectalwaysA simple object to contain the hosting license parameters.
hostingLicense.amountnumber(double)optionalCost per cycle for this plan.
hostingLicense.endstring(datetime)optionalDate this billing license is applied until; null means it never ends.
hostingLicense.idnumber(uint64)updateThe unique identifier of the hosting license you want to update.
hostingLicense.kindstring(BillableLicenseType)createThe type of hardware license.
hostingLicense.limitnumber(uint32)optionalThe number of units to which this billing license applies; null means unlimited
hostingLicense.namestringoptionalName.
hostingLicense.notesstringoptionalNotes.
hostingLicense.profilenumber(uint64)createThe billing profile to which this hosting license belongs.
hostingLicense.referencestringoptionalA custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
hostingLicense.startstring(datetime)optionalDate this billing license takes effect.
hostingLicense.suspendedbooleanoptionalDoes this hosting license apply to suspended resources.
hostingLicense.targetsstring(expression)optionalWhich assets are targetted by this hosting license.
hostingLicense.varray[number(uint32)]updateThe hosting Llicense version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeHostingLicenseResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingLicense": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "profile": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingLicenseobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
hostingLicense.companynumber(uint64)if no errorUnique identifier of the company.
hostingLicense.idnumber(uint64)if no errorUnique identifier of the hosting license.
hostingLicense.profilenumber(uint64)if no errorUnique identifier of the billing profile.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeHostingRule

Creates a new or updates an existing Hosting Rule.

JSON request message structure

mergeHostingRule { "hostingRule": { "amount": number, /* double format */ "end": string, /* datetime format */ "id": number, /* uint64 format */ "limit": number, /* uint32 format */ "name": string, "notes": string, "profile": number, /* uint64 format */ "reference": string, "service": string, /* one of the BillableHostingType values */ "start": string, /* datetime format */ "suspended": boolean, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingRuleobjectalwaysA simple object to contain the hosting rule parameters.
hostingRule.amountnumber(double)optionalCost per cycle for this plan.
hostingRule.endstring(datetime)optionalDate this billing rule is applied until; null means it never ends.
hostingRule.idnumber(uint64)updateThe unique identifier of the hosting rule you want to update.
hostingRule.limitnumber(uint32)optionalThe number of units to which this billing rule applies; null means unlimited
hostingRule.namestringoptionalName.
hostingRule.notesstringoptionalNotes.
hostingRule.profilenumber(uint64)createThe billing profile to which this hosting rule belongs.
hostingRule.referencestringoptionalA custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
hostingRule.servicestring(BillableHostingType)createThe type of service being billed.
hostingRule.startstring(datetime)optionalDate this billing rule takes effect.
hostingRule.suspendedbooleanoptionalDoes this hosting rule apply to suspended resources.
hostingRule.targetsstring(expression)optionalWhich assets are targetted by this hosting rule.
hostingRule.varray[number(uint32)]updateThe hosting rule version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeHostingRuleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingRule": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "profile": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingRuleobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
hostingRule.companynumber(uint64)if no errorUnique identifier of the company.
hostingRule.idnumber(uint64)if no errorUnique identifier of the hosting rule.
hostingRule.profilenumber(uint64)if no errorUnique identifier of the billing profile.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeBillingProfile

Deletes an existing Billing Profile.

JSON request message structure

removeBillingProfile { "billingProfile": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingProfileobjecttrueAn object to contain the "id" key.
billingProfile.idnumber(uint64)trueUnique identifier of the billing profile.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeBillingProfileResponse { "billingProfile": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingProfileobjectif no errorAn object which contains only three keys, and is only present when there is no error.
billingProfile.companynumber(uint64)if no errorUnique identifier of the company.
billingProfile.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
billingProfile.idnumber(uint64)if no errorUnique identifier of the billing profile.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeBillingReport

Deletes an existing Billing Report.

JSON request message structure

removeBillingReport { "billingReport": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingReportobjecttrueAn object to contain the "id" key.
billingReport.idnumber(uint64)trueUnique identifier of the billing report.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeBillingReportResponse { "billingReport": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingReportobjectif no errorAn object which contains only three keys, and is only present when there is no error.
billingReport.companynumber(uint64)if no errorUnique identifier of the company.
billingReport.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
billingReport.idnumber(uint64)if no errorUnique identifier of the billing report.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeHostingDiscount

Deletes an existing Billable Hosting Discount.

JSON request message structure

removeHostingDiscount { "hostingDiscount": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingDiscountobjecttrueAn object to contain the "id" key.
hostingDiscount.idnumber(uint64)trueUnique identifier of the hosting discount.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeHostingDiscountResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingDiscount": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingDiscountobjectif no errorAn object which contains only three keys, and is only present when there is no error.
hostingDiscount.companynumber(uint64)if no errorUnique identifier of the company.
hostingDiscount.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
hostingDiscount.idnumber(uint64)if no errorUnique identifier of the hosting discount.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeHostingLicense

Deletes an existing Billable Hosting License.

JSON request message structure

removeHostingLicense { "hostingLicense": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingLicenseobjecttrueAn object to contain the "id" key.
hostingLicense.idnumber(uint64)trueUnique identifier of the hosting license.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeHostingLicenseResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingLicense": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingLicenseobjectif no errorAn object which contains only three keys, and is only present when there is no error.
hostingLicense.companynumber(uint64)if no errorUnique identifier of the company.
hostingLicense.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
hostingLicense.idnumber(uint64)if no errorUnique identifier of the hosting license.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeHostingRule

Deletes an existing Billable Hosting Rule.

JSON request message structure

removeHostingRule { "hostingRule": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingRuleobjecttrueAn object to contain the "id" key.
hostingRule.idnumber(uint64)trueUnique identifier of the hosting rule.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeHostingRuleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingRule": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingRuleobjectif no errorAn object which contains only three keys, and is only present when there is no error.
hostingRule.companynumber(uint64)if no errorUnique identifier of the company.
hostingRule.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
hostingRule.idnumber(uint64)if no errorUnique identifier of the hosting rule.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreBillingProfile

Restores the specified Billing Profile to its previous version.

JSON request message structure

restoreBillingProfile { "billingProfile": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingProfileobjecttrueAn object to contain the "id" key.
billingProfile.idnumber(uint64)trueUnique identifier of the billing profile.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreBillingProfileResponse { "billingProfile": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingProfileobjectif no errorAn object which contains only three keys, and is only present when there is no error.
billingProfile.companynumber(uint64)if no errorUnique identifier of the company.
billingProfile.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
billingProfile.idnumber(uint64)if no errorUnique identifier of the billing profile.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreBillingReport

Restores the specified Billing Report to its previous version.

JSON request message structure

restoreBillingReport { "billingReport": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
billingReportobjecttrueAn object to contain the "id" key.
billingReport.idnumber(uint64)trueUnique identifier of the billing report.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreBillingReportResponse { "billingReport": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
billingReportobjectif no errorAn object which contains only three keys, and is only present when there is no error.
billingReport.companynumber(uint64)if no errorUnique identifier of the company.
billingReport.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
billingReport.idnumber(uint64)if no errorUnique identifier of the billing report.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreHostingDiscount

Restores the specified Billable Hosting Discount to its previous version.

JSON request message structure

restoreHostingDiscount { "hostingDiscount": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingDiscountobjecttrueAn object to contain the "id" key.
hostingDiscount.idnumber(uint64)trueUnique identifier of the hosting discount.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreHostingDiscountResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingDiscount": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingDiscountobjectif no errorAn object which contains only three keys, and is only present when there is no error.
hostingDiscount.companynumber(uint64)if no errorUnique identifier of the company.
hostingDiscount.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
hostingDiscount.idnumber(uint64)if no errorUnique identifier of the hosting discount.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreHostingLicense

Restores the specified Billable Hosting License to its previous version.

JSON request message structure

restoreHostingLicense { "hostingLicense": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingLicenseobjecttrueAn object to contain the "id" key.
hostingLicense.idnumber(uint64)trueUnique identifier of the hosting license.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreHostingLicenseResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingLicense": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingLicenseobjectif no errorAn object which contains only three keys, and is only present when there is no error.
hostingLicense.companynumber(uint64)if no errorUnique identifier of the company.
hostingLicense.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
hostingLicense.idnumber(uint64)if no errorUnique identifier of the hosting license.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreHostingRule

Restores the specified Billable Hosting Rule to its previous version.

JSON request message structure

restoreHostingRule { "hostingRule": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hostingRuleobjecttrueAn object to contain the "id" key.
hostingRule.idnumber(uint64)trueUnique identifier of the hosting rule.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreHostingRuleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hostingRule": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hostingRuleobjectif no errorAn object which contains only three keys, and is only present when there is no error.
hostingRule.companynumber(uint64)if no errorUnique identifier of the company.
hostingRule.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
hostingRule.idnumber(uint64)if no errorUnique identifier of the hosting rule.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Companies

getCompaniesList

Gets the list of child Companies for the specified Company.

JSON request message structure

getCompaniesList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getCompaniesListResponse { "companies": [ { /* see CompanyGeneral for details */ } ], "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companiesarray[CompanyGeneral]if no errorThe list of CompanyGenerals.
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getCompany

Gets details of the specified Company.

JSON request message structure

getCompany { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getCompanyResponse { "company": { "id": number, /* uint64 format */ "labels": { string /* LabelStyle format */ : { "code": string, /* codified format */ "fill": string, "graphic": string, /* codified format */ "name": string, "notes": string, "stroke": string } }, "name": string, "notes": string, "parent": number, /* uint64 format, see Company.id */ "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "tags": { string /* LabelStyle format */ : { "code": string, /* codified format */ "fill": string, "graphic": string, /* codified format */ "name": string, "notes": string, "stroke": string } }, "userGroups": [ { "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format */ "name": string, "notes": string, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] } ], "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32, "v[2]": uint32, "v[3]": uint32, "v[4]": uint32, "v[5]": uint32 }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyCompanyif no errorThe requested company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeCompany

Creates a new or updates an existing Company.

JSON request message structure

mergeCompany { "company": { "billing": { "bundles": [ BillingBundle ], "policy": [ BillingRule ] }, "id": number, /* uint64 format */ "labels": [ { "code": string, /* codified format */ "fill": string, "graphic": string, /* codified format */ "name": string, "notes": string, "stroke": string } ], "name": string, "notes": string, "parent": number, /* uint64 format */ "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "tags": [ { "code": string, /* codified format */ "fill": string, "graphic": string, /* codified format */ "name": string, "notes": string, "stroke": string } ], "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjectalwaysA simple object to contain the company parameters.
company.billingobjectoptionalAn object that when present, will overwrite all policy and bunde information.
company.billing.bundlesarray[BillingBundle]optionalA list of bundled rules to provide a discount when a child company orders multiple services.
company.billing.policyarray[BillingRule]optionalThe list of default billing rules used to calculate the monthly invoice.
company.idnumber(uint64)updateThe unique identifier of the company you want to update.
company.labelsarray[LabelStyle]optionalA list of label styles used to categorize/organize this company. The codified names of labels must be unique.
company.namestringcreateName for the company.
company.notesstringoptionalNotes for the company.
company.parentnumber(uint64)createThe unique identifier of the parent-organization's company.
company.passwordPolicyPasswordPolicyoptionalThe password complexity and expiry policy for this company.
company.sessionPolicySessionPolicyoptionalThe session lifetime policy for this company.
company.tagsarray[LabelStyle]optionalA list of tag styles used to create context for assets in the field. The codified names of tags must be unique.
company.varray[number(uint32)]updateThe company version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeCompanyResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeCompany

Deletes an existing Company. Deleting a Company is permanent, and cannot be undone.
After deletion, all data is purged from the system within 24 hours.

JSON request message structure

removeCompany { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjectalwaysA simple object to contain the company parameters.
company.idnumber(uint64)updateThe unique identifier of the company you want to update.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeCompanyResponse { "company": { "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error.
company.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreCompany

Restores a deleted Company. Restoration can only be done within one hour of deletion.
After deletion, all data is purged from the system within 24 hours.

JSON request message structure

restoreCompany { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjectalwaysA simple object to contain the company parameters.
company.idnumber(uint64)updateThe unique identifier of the company you want to update.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreCompanyResponse { "company": { "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error.
company.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Contacts

getContact

Gets details of the specified Contact.

JSON request message structure

getContact { "contact": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
contactobjecttrueAn object to contain the "id" key.
contact.idnumber(uint64)trueUnique identifier of the contact.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getContactResponse { "contact": { "addresses": { string: string /* email format */ }, "company": number, /* uint64 format, see Company.id */ "dates": { string: string /* datetime format */ }, "emails": { string: string /* email format */ }, "id": number, /* uint64 format */ "name": string, "notes": string, "options": { string: string }, "otherNames": { string: string }, "phones": { string: number /* uint64 format */ }, "pictures": [ number /* uint64 format */ ], "roles": [ string /* codified format */ ], "urls": { string: string }, "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
contactContactif no errorThe requested Contact.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getContactsList

Gets the list of Contacts for the specified Company.

JSON request message structure

getContactsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getContactsListResponse { "company": { "id": number /* uint64 format */ }, "contacts": [ { /* see Contact for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
contactsarray[Contact]if no errorThe list of contacts.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeContact

Creates a new or updates an existing Contact.

JSON request message structure

mergeContact { "contact": { "address": string, "company": number, /* uint64 format */ "email": string, /* email format */ "id": number, /* uint64 format */ "mobile": number, /* uint64 format */ "name": string, "notes": string, "phone": number, /* uint64 format */ "pictures": [ number /* uint64 format */ ], "roles": [ string ], "url": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
contactobjectalwaysA simple object to contain the contact parameters.
contact.addressstringoptionalThe street address of this contact.
contact.companynumber(uint64)createThe company to which this contact belongs.
contact.emailstring(email)optionalThe email address of this contact.
contact.idnumber(uint64)updateThe unique identifier of the contact you want to update.
contact.mobilenumber(uint64)optionalThe mobile/cellular phone number for this contact.
contact.namestringcreateName for the contact.
contact.notesstringoptionalNotes for the contact.
contact.phonenumber(uint64)optionalThe work/home phone number for this contact.
contact.picturesarray[number(uint64)]optionalThe identifiers of pictures of this contact.
contact.rolesarray[string]optionalA list of strings describing the types of roles for this contact.
contact.urlstringoptionalThe website for this contact.
contact.varray[number(uint32)]updateThe contact version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeContactResponse { "contact": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
contactobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
contact.companynumber(uint64)if no errorUnique identifier of the company.
contact.idnumber(uint64)if no errorUnique identifier of the contact.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeContact

Deletes an existing Contact.

JSON request message structure

removeContact { "contact": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
contactobjecttrueAn object to contain the "id" key.
contact.idnumber(uint64)trueUnique identifier of the contact.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeContactResponse { "contact": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
contactobjectif no errorAn object which contains only three keys, and is only present when there is no error.
contact.companynumber(uint64)if no errorUnique identifier of the company.
contact.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
contact.idnumber(uint64)if no errorUnique identifier of the contact.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreContact

Restores the specified Contact to its previous version.

JSON request message structure

restoreContact { "contact": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
contactobjecttrueAn object to contain the "id" key.
contact.idnumber(uint64)trueUnique identifier of the contact.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreContactResponse { "contact": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
contactobjectif no errorAn object which contains only three keys, and is only present when there is no error.
contact.companynumber(uint64)if no errorUnique identifier of the company.
contact.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
contact.idnumber(uint64)if no errorUnique identifier of the contact.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Dispatch

getDispatchTask

Gets details of the specified Dispatch Task.

JSON request message structure

getDispatchTask { "dispatchTask": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
dispatchTaskobjecttrueAn object to contain the "id" key.
dispatchTask.idnumber(uint64)trueUnique identifier of the task.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getDispatchTaskResponse { "dispatchTask": { "address": string, "arrived": string, /* datetime format */ "asset": number, /* uint64 format, see Asset.id */ "attachments": [ number /* uint64 format */ ], "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "created": string, /* datetime format */ "duration": string, /* duration format */ "eta": string, /* datetime format */ "id": number, /* uint64 format */ "instructions": string, "latlng": { "lat": number, /* double format */ "lng": number /* double format */ }, "name": string, "notes": string, "place": number, /* uint64 format, see Place.id */ "reference": string, "references": { string: string }, "signatory": string, "signature": boolean, "status": string, /* one of the TaskStatus values */ "updatedBy": string, "updatedUtc": string, /* datetime format */ "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
dispatchTaskDispatchTaskif no errorThe requested task.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getDispatchTasksList

Gets the list of Dispatch Tasks for the specified Asset.

JSON request message structure

getDispatchTasksList { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getDispatchTasksListResponse { "asset": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "dispatchTasks": [ { /* see DispatchTask for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the asset to which the array of objects relate.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorUnique identifier of the asset.
dispatchTasksarray[DispatchTask]if no errorThe list of tasks.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getDispatchTasksListByCompany

Gets the list of Dispatch Tasks for the all the Assets in the specified Company.

JSON request message structure

getDispatchTasksListByCompany { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getDispatchTasksListByCompanyResponse { "company": { "id": number /* uint64 format */ }, "dispatchTasks": [ { /* see DispatchTask for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
dispatchTasksarray[DispatchTask]if no errorThe list of tasks.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getDispatchTasksListByReference

Gets the list of Dispatch Tasks for the specified Asset.

JSON request message structure

getDispatchTasksListByReference { "asset": { "id": number /* uint64 format */ }, "reference": string, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
referencestringtrueCase-insensitive reference used to match assets.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getDispatchTasksListByReferenceResponse { "asset": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "dispatchTasks": [ { /* see DispatchTask for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reference": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorUnique identifier of the asset.
dispatchTasksarray[DispatchTask]if no errorThe list of tasks.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
referencestringif no errorCase-insensitive reference used to match assets.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getDispatchTasksListByReferences

Gets the list of Dispatch Tasks for the specified Asset only if the specified Task reference fields match. If no references are specified, it will match any Task with no references. If a reference value is null, it will match any Task without that reference key.

JSON request message structure

getDispatchTasksListByReferences { "asset": { "id": number /* uint64 format */ }, "reference": string, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
referencestringtrueCase-insensitive reference used to match assets.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getDispatchTasksListByReferencesResponse { "asset": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "dispatchTasks": [ { /* see DispatchTask for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "references": {stringstring,}, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorUnique identifier of the asset.
dispatchTasksarray[DispatchTask]if no errorThe list of tasks.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
referencesobject{string:string}if no errorThe pairs of names/values as interpreted by the system for the search.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeDispatchTask

Creates a new or updates an existing DispatchTask.

JSON request message structure

mergeDispatchTask { "dispatchTask": { "address": string, "asset": number, /* uint64 format */ "attachments": [ number /* uint32 format */ ], "company": number, /* uint64 format */ "duration": string, /* duration format */ "eta": string, /* datetime format */ "id": number, /* uint64 format */ "instructions": string, "latlng": { "lat": number, /* double format */ "lng": number /* double format */ }, "name": string, "notes": string, "place": number, /* uint64 format */ "reference": string, "references": { string /* codified format */ : string, }, "status": string, /* one of the TaskStatus values */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
dispatchTaskobjectalwaysA simple object to contain the dispatchTask parameters.
dispatchTask.addressstringcreate (conditional) The street address of this task.
Condition: You must provide a place, a latlng, or an address.
Note: If you ommit the address, the geocoder attempts to populate the field, but will not return an error if it fails.
dispatchTask.assetnumber(uint64)createThe identifier of the asset assigned for this task.
dispatchTask.attachmentsarray[number(uint32)]optionalA list of Documents to attach to this task for both driver and dispatcher review.
dispatchTask.companynumber(uint64)createThe company to which this task belongs.
dispatchTask.durationstring(duration)optionalThe duration on site, or how much time is expected to complete the task. Used to help calculate other task ETAs when routing is performed.
dispatchTask.etastring(datetime)optionalEstimated time of arrival.
dispatchTask.idnumber(uint64)updateThe unique identifier of the task you want to update.
dispatchTask.instructionsstringoptionalInstructions for the driver to help them complete the task. Such as which door to use, a buzz code to enter the facility, etc...
dispatchTask.latlngLatLngcreate (conditional) The lat/long coordinates of the street address.
Condition: You must provide a place, a latlng, or an address.
Note: If you invoke the geocoder, the address is also replaced with the geocoded value.
dispatchTask.namestringoptionalName for the task.
dispatchTask.notesstringoptionalNotes completed by the driver about the task. Such as service notes, damaged goods upon pick-up, etc...
dispatchTask.placenumber(uint64)create (conditional) An optional identifier of a place for this task. Using a place makes detecting the "arrived" status more reliable.
Condition: You must provide a place, a latlng, or an address.
Note: If you invoke the geocoder, the address is also replaced with the geocoded value.
dispatchTask.reference
Deprecated since v4.12.
stringdeprecated A custom field used to refer this dispatchTask an external system. Examples are a work order, pick-up, waybill, etc... Since v4.13 this value operates as the "Reference" key on the references object.
dispatchTask.referencesobject{string(codified):string}optional A custom field used to refer this dispatchTask an external system. Examples are a work order, pick-up, waybill, etc... If value is null, the field is removed from the DispatchTask.
If a new value or null is not provided for a current attribute, no change is made.
dispatchTask.statusstring(TaskStatus)optionalTasks have a lifetime and each status represents a task's progress through it's life.
dispatchTask.varray[number(uint32)]updateThe task version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeDispatchTaskResponse { "dispatchTask": { "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
dispatchTaskobjectif no errorAn object which contains only one key "id" when there is no error.
dispatchTask.assetnumber(uint64)if no errorUnique identifier of the asset.
dispatchTask.companynumber(uint64)if no errorUnique identifier of the company.
dispatchTask.idnumber(uint64)if no errorUnique identifier of the task.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

multiMergeDispatchTask

A batch operation for creating new, or updating existing DispatchTasks.

JSON request message structure

multiMergeDispatchTask { "dispatchTasks": [ ], "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
dispatchTasksarray[]alwaysThis array contains mergeDispatchTask.dispatchTask objects.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

multiMergeDispatchTaskResponse { "dispatchTasks": [ ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
dispatchTasksarray[]if no errorAn object which contains each mergeDispatchTask command response.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

multiRemoveDispatchTask

A batch operation for deleting DispatchTasks.

JSON request message structure

multiRemoveDispatchTask { "dispatchTasks": [ ], "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
dispatchTasksarray[]alwaysThis array contains removeDispatchTask.dispatchTask objects.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

multiRemoveDispatchTaskResponse { "dispatchTasks": [ ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
dispatchTasksarray[]if no errorAn object which contains each removeDispatchTask command response.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeDispatchTask

Deletes an existing Dispatch Task.

JSON request message structure

removeDispatchTask { "dispatchTask": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
dispatchTaskobjecttrueAn object to contain the "id" key.
dispatchTask.idnumber(uint64)trueUnique identifier of the task.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeDispatchTaskResponse { "dispatchTask": { "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
dispatchTaskobjectif no errorAn object which contains only four keys, and is only present when there is no error.
dispatchTask.assetnumber(uint64)if no errorUnique identifier of the asset.
dispatchTask.companynumber(uint64)if no errorUnique identifier of the company.
dispatchTask.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
dispatchTask.idnumber(uint64)if no errorUnique identifier of the task.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreDispatchTask

Restores an deleted Dispatch Task.

JSON request message structure

restoreDispatchTask { "dispatchTask": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
dispatchTaskobjecttrueAn object to contain the "id" key.
dispatchTask.idnumber(uint64)trueUnique identifier of the task.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreDispatchTaskResponse { "dispatchTask": { "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
dispatchTaskobjectif no errorAn object which contains only four keys, and is only present when there is no error.
dispatchTask.assetnumber(uint64)if no errorUnique identifier of the asset.
dispatchTask.companynumber(uint64)if no errorUnique identifier of the company.
dispatchTask.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
dispatchTask.idnumber(uint64)if no errorUnique identifier of the task.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

File Hosting

getDocument

Gets details of the specified Document.

JSON request message structure

getDocument { "document": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
documentobjecttrueAn object to contain the "id" key.
document.idnumber(uint64)trueUnique identifier of the document.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getDocumentResponse { "document": { "bytes": number, /* uint64 format */ "company": number, /* uint64 format, see Company.id */ "expiry": string, /* datetime format */ "id": number, /* uint64 format */ "mime": string, "name": string, "notes": string, "src": string, "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
documentDocumentif no errorThe requested document.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getDocumentsList

Gets the list of Documents for the specified Asset.

JSON request message structure

getDocumentsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getDocumentsListResponse { "company": { "id": number /* uint64 format */ }, "documents": [ { /* see Document for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
documentsarray[Document]if no errorThe list of documents.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeDocument

Updates an existing Document. You cannot use the WebSocket to create new Documents, for that you need to use the Files API.

JSON request message structure

mergeDocument { "document": { "expiry": string, /* datetime format */ "id": number, /* uint64 format */ "name": string, "notes": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
documentobjectalwaysA simple object to contain the document parameters.
document.expirystring(datetime)optionalThe time at which the document will automatically be purged from the system.
document.idnumber(uint64)updateThe unique identifier of the document you want to update.
document.namestringoptionalName for the document.
document.notesstringoptionalNotes about the document.
document.varray[number(uint32)]updateThe document version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeDocumentResponse { "document": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
documentobjectif no errorAn object which contains only one key "id" when there is no error.
document.companynumber(uint64)if no errorUnique identifier of the company.
document.idnumber(uint64)if no errorUnique identifier of the document.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeDocument

Deletes an existing Document.

JSON request message structure

removeDocument { "document": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
documentobjecttrueAn object to contain the "id" key.
document.idnumber(uint64)trueUnique identifier of the document.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeDocumentResponse { "document": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
documentobjectif no errorAn object which contains only four keys, and is only present when there is no error.
document.companynumber(uint64)if no errorUnique identifier of the company to which the document belonged.
document.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
document.idnumber(uint64)if no errorUnique identifier of the document.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreDocument

Restores an deleted Document.

JSON request message structure

restoreDocument { "document": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
documentobjecttrueAn object to contain the "id" key.
document.idnumber(uint64)trueUnique identifier of the document.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreDocumentResponse { "document": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
documentobjectif no errorAn object which contains only four keys, and is only present when there is no error.
document.companynumber(uint64)if no errorUnique identifier of the company to which the document belonged.
document.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
document.idnumber(uint64)if no errorUnique identifier of the document.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Hours of Service

getHosCarrier

Gets details of the specified Hours of Service Carrier.

JSON request message structure

getHosCarrier { "hosCarrier": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hosCarrierobjecttrueAn object to contain the "id" key.
hosCarrier.idnumber(uint64)trueUnique identifier of the carrier.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHosCarrierResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosCarrier": { "address": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string }, "codes": { string: string }, "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "id": number, /* uint64 format */ "logo": number, /* uint64 format, see Picture.id */ "name": string, "notes": string, "shiftCycle": string, /* one of the HosCycle values */ "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ] }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosCarrierHosCarrierif no errorThe requested Carrier.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHosCarriersList

Gets the list of Hours of Service Carriers for the specified Company.

JSON request message structure

getHosCarriersList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHosCarriersListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosCarriers": [ { /* see HosCarrier for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosCarriersarray[HosCarrier]if no errorThe list of carriers.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHosEvent

Retrieves all the HoS Events from the last 14 days for the given company.

JSON request message structure

getHosEvent { "hosEvent": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hosEventobjecttrueAn object to contain the "id" key.
hosEvent.idnumber(uint64)trueUnique identifier of the HosEvent.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHosEventResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosEvent": { "address": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string }, "carrier": number, /* uint64 format, see HosCarrier.id */ "certificationDate": string, /* datetime format */ "code": number, /* uint8 format */ "company": number, /* uint64 format, see Company.id */ "diagnosticCode": string, /* one of the HosDiagnosticCode values */ "diagnosticStatus": boolean, "distanceSinceGPSFix": number, /* single format */ "dts": string, /* datetime format */ "engineHours": number, /* double format */ "id": number, /* uint64 format */ "isCoDriver": boolean, "latitude": string, "longitude": string, "malfunctionCode": string, "malfunctionStatus": boolean, "notes": string, "odometer": number, /* double format */ "origin": string, /* one of the HosEventOrigin values */ "person": number, /* uint64 format, see Person.id */ "seqNo": number, /* uint16 format */ "shiftCycle": string, /* one of the HosCycle values */ "status": string, /* one of the HosEventStatus values */ "type": number, /* one of the HosEventType values */ "v": [ number /* uint32 format */ ], "vehicle": number, /* uint64 format, see Vehicle.id */ "violationStatus": boolean, "violationType": string /* one of the HosViolationType values */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosEventHosEventif no errorThe requested HoS event.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHosEventsList

Retrieves all the HoS Events from the last 14 days for the given company.

JSON request message structure

getHosEventsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHosEventsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosEvents": [ { /* see HosEvent for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosEventsarray[HosEvent]if no errorA list of the past 14 days of HoS events for the company.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHosEventsListByAsset

Retrieves all the HoS Events from the last 14 days for the given asset.

JSON request message structure

getHosEventsListByAsset { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHosEventsListByAssetResponse { "asset": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosEvents": [ { /* see HosEvent for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the keys "id" when there is no error.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorThe unique identifier of the asset.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosEventsarray[HosEvent]if no errorA list of the past 14 days of HoS Events for the asset.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHosInspection

Gets details of the specified Trip Inspection.

JSON request message structure

getHosInspection { "hosInspection": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hosInspectionobjecttrueAn object to contain the "id" key.
hosInspection.idnumber(uint64)trueUnique identifier of the trip inspection.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHosInspectionResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosInspection": { "address": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string }, "carrier": number, /* uint64 format, see HosCarrier.id */ "company": number, /* uint64 format, see Company.id */ "defects": [ { "area": string, /* one of the HosDefectArea values */ "category": string, "description": string, "major": [ string ], "minor": [ string ] } ], "id": number, /* uint64 format */ "inspectedOn": string, /* datetime format */ "latlng": { "lat": number, /* double format */ "lng": number /* double format */ }, "odometer": number, /* double format */ "person": number, /* uint64 format, see Person.id */ "status": string, /* one of the HosDefectStatus values */ "technician": string, "techSigned": string, /* datetime format */ "trailers": [ string ], "v": [ number /* uint32 format */ ], "vehicle": number /* uint64 format, see Vehicle.id */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosInspectionHosInspectionif no errorThe requested Trip Inspection.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHosInspectionsList

Gets the list of Trip Inspections for the specified Company.

JSON request message structure

getHosInspectionsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHosInspectionsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosInspections": [ { /* see HosInspection for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosInspectionsarray[HosInspection]if no errorThe list of trip inspections.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getHosInspectionsListByAsset

Gets the list of Trip Inspections for the specified Company.

JSON request message structure

getHosInspectionsListByAsset { "asset": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getHosInspectionsListByAssetResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosInspections": [ { /* see HosInspection for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosInspectionsarray[HosInspection]if no errorThe list of trip inspections for the asset.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeHosCarrier

Creates a new or updates an existing Hours of Service Carrier.

JSON request message structure

mergeHosCarrier { "hosCarrier": { "address": { "city": string, "country": string, "number": string, "postal": string, "province": string, "street": string }, "code": string, "company": number, /* uint64 format */ "contact": number, /* uint64 format */ "id": number, /* uint64 format */ "logo": number, /* uint64 format */ "notes": string, "shiftCycle": string, /* one of the HosCycle values */ "timezone": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hosCarrierobjectalwaysA simple object to contain the carrier parameters.
hosCarrier.addressobjectcreateAn object to contain the carrier's home address.
hosCarrier.address.citystringcreateCity name
hosCarrier.address.countrystringcreateCountry name or code
hosCarrier.address.numberstringcreateAddress' street number
hosCarrier.address.postalstringcreatePostal or zip code
hosCarrier.address.provincestringcreateProvince or state name
hosCarrier.address.streetstringcreateStreet name
hosCarrier.codestringoptionalGovernmental or regulatory assigned identifier (DOT ID).
hosCarrier.companynumber(uint64)createThe company to which this carrier belongs.
hosCarrier.contactnumber(uint64)optionalA Contact used as the contact information for the carrier's head office.
hosCarrier.idnumber(uint64)updateThe unique identifier of the carrier you want to update.
hosCarrier.logonumber(uint64)optionalA Picture used as the carrier logo.
hosCarrier.notesstringoptionalNotes.
hosCarrier.shiftCyclestring(HosCycle)optionalDefault shift cycle used by the drivers.
hosCarrier.timezonestringcreateThe carrier's local timezone code used for driving cycles and creating reports.
hosCarrier.varray[number(uint32)]updateThe carrier version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeHosCarrierResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosCarrier": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosCarrierobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
hosCarrier.companynumber(uint64)if no errorUnique identifier of the company.
hosCarrier.idnumber(uint64)if no errorUnique identifier of the carrier.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeHosCarrier

Deletes an existing Hours of Service Carrier.

JSON request message structure

removeHosCarrier { "hosCarrier": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hosCarrierobjecttrueAn object to contain the "id" key.
hosCarrier.idnumber(uint64)trueUnique identifier of the carrier.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeHosCarrierResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosCarrier": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosCarrierobjectif no errorAn object which contains only three keys, and is only present when there is no error.
hosCarrier.companynumber(uint64)if no errorUnique identifier of the company.
hosCarrier.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
hosCarrier.idnumber(uint64)if no errorUnique identifier of the carrier.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreHosCarrier

Restores the specified Hours of Service Carrier to its previous version.

JSON request message structure

restoreHosCarrier { "hosCarrier": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
hosCarrierobjecttrueAn object to contain the "id" key.
hosCarrier.idnumber(uint64)trueUnique identifier of the carrier.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreHosCarrierResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "hosCarrier": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
hosCarrierobjectif no errorAn object which contains only three keys, and is only present when there is no error.
hosCarrier.companynumber(uint64)if no errorUnique identifier of the company.
hosCarrier.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
hosCarrier.idnumber(uint64)if no errorUnique identifier of the carrier.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Icons

getIcon

Gets details of the specified Icon.

JSON request message structure

getIcon { "icon": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
iconobjecttrueAn object to contain the "id" key.
icon.idnumber(uint64)trueUnique identifier of the icon.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getIconResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "icon": { "category": string, "company": number, /* uint64 format, see Company.id */ "global": boolean, "glyphs": [ { "anchor": { "x": number, /* double format */ "y": number /* double format */ }, "layer": string, /* one of the IconLayer values */ "rotates": boolean, "size": { "height": number, /* double format */ "width": number /* double format */ }, "src": string, "tags": [ string ], "zIndex": number /* uint16 format */ } ], "id": number, /* uint64 format */ "label": { "align": string, "anchor": { "x": number, /* double format */ "y": number /* double format */ }, "colour": string }, "name": string, "notes": string, "usage": [ string ], "v": [ number /* uint32 format */ ] }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
iconIconif no errorThe requested Icon.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getIconsList

Gets the list of Icons for the specified Company. (If Company not specified, returns a list of Icons from Master Company)

JSON request message structure

getIconsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getIconsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "icons": [ { /* see Icon for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
iconsarray[Icon]if no errorThe list of icons.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeIcon

Creates a new or updates an existing Icon.

JSON request message structure

mergeIcon { "icon": { "category": string, "company": number, /* uint64 format */ "global": boolean, "glyphs": [ { "anchor": { "x": number, /* double format */ "y": number /* double format */ }, "layer": string, /* one of the IconLayer values */ "rotates": boolean, "size": { "height": number, /* double format */ "width": number /* double format */ }, "src": string, "tags": [ string ], "zIndex": number /* uint16 format */ } ], "id": number, /* uint64 format */ "label": { "align": string, "anchor": { "x": number, /* double format */ "y": number /* double format */ }, "colour": string }, "name": string, "notes": string, "usage": [ string ], "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
iconobjectalwaysA simple object to contain the icon parameters.
icon.categorystringcreateA general name for the icon like Building or Truck. Used in conjunction with icon.name, you get "Office Building" or "Green Truck".
icon.companynumber(uint64)createThe company to which this icon belongs.
icon.globalbooleanoptionalWhen set to true, this company as well as all child companies will be able to use this icon.
icon.glyphsarray[IconGlyph]optionalThe image and defined status tags which need to be applied to an asset in order to show the image.
icon.idnumber(uint64)updateThe unique identifier of the icon you want to update.
icon.labelIconLabeloptionalDefinition for the name bubble above the icon on a map.
icon.namestringcreateA specific detail about the icon such as "Green" or "Office". Used in conjunction with icon.category, you get "Office Building" or "Green Truck".
icon.notesstringoptionalNotes for the icon.
icon.usagearray[string]optionalA list of things that can use this icon.
icon.varray[number(uint32)]updateThe icon version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeIconResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "icon": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
iconobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
icon.companynumber(uint64)if no errorUnique identifier of the company.
icon.idnumber(uint64)if no errorUnique identifier of the icon.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeIcon

Deletes an existing Icon.

JSON request message structure

removeIcon { "icon": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
iconobjecttrueAn object to contain the "id" key.
icon.idnumber(uint64)trueUnique identifier of the icon.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeIconResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "icon": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
iconobjectif no errorAn object which contains only three keys, and is only present when there is no error.
icon.companynumber(uint64)if no errorUnique identifier of the company.
icon.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
icon.idnumber(uint64)if no errorUnique identifier of the icon.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreIcon

Restores the specified Icon to its previous version.

JSON request message structure

restoreIcon { "icon": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
iconobjecttrueAn object to contain the "id" key.
icon.idnumber(uint64)trueUnique identifier of the icon.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreIconResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "icon": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
iconobjectif no errorAn object which contains only three keys, and is only present when there is no error.
icon.companynumber(uint64)if no errorUnique identifier of the company.
icon.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
icon.idnumber(uint64)if no errorUnique identifier of the icon.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Maintenance

getMaintenanceJob

Gets details of the specified Maintenance Job.

JSON request message structure

getMaintenanceJob { "maintenanceJob": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
maintenanceJobobjecttrueAn object to contain the "id" key.
maintenanceJob.idnumber(uint64)trueUnique identifier of the maintenance work.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getMaintenanceJobResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceJob": { "asset": number, /* uint64 format, see Asset.id */ "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "cost": number, /* double format */ "created": string, /* datetime format */ "duration": string, /* duration format */ "engineHours": number, /* double format */ "garage": string, "id": number, /* uint64 format */ "name": string, "notes": string, "odometer": number, /* double format */ "pictures": [ number /* uint64 format, see Picture.id */ ], "reference": string, "schedule": number, /* uint64 format, see MaintenanceSchedule.id */ "status": string, /* one of the MaintenanceJobStatus values */ "technician": string, "v": [ number /* uint32 format */ ] }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceJobMaintenanceJobif no errorThe requested maintenance work.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getMaintenanceJobsList

Gets the list of Maintenance Jobs for the specified Company. You can also optionally limit the results by specifying a before date/time, an after date/time, or a before and after date/time range.

JSON request message structure

getMaintenanceJobsList { "after": string, /* datetime format */ "before": string, /* datetime format */ "company": { "id": number /* uint64 format */ }, "pending": boolean, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
afterstring(datetime)falseWhen specified, will limit the list of jobs to those created/completed on-or-after this given date/time.
beforestring(datetime)falseWhen specified, will limit the list of jobs to those created/completed on-or-before this given date/time.
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
pendingbooleanfalseWhen true, will include any pending or pasdue jobs, overriding the after/before filters.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getMaintenanceJobsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceJobs": [ { /* see MaintenanceJob for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceJobsarray[MaintenanceJob]if no errorThe list of MaintenanceJobs.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getMaintenanceJobsListByAsset

Gets the list of Maintenance Jobs for the specified Asset. You can also optionally limit the results by specifying a before date/time, an after date/time, or a before and after date/time range.

JSON request message structure

getMaintenanceJobsListByAsset { "after": string, /* datetime format */ "asset": { "id": number /* uint64 format */ }, "before": string, /* datetime format */ "pending": boolean, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
afterstring(datetime)falseWhen specified, will limit the list of jobs to those created/completed on-or-after this given date/time.
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the maintenance schedule.
beforestring(datetime)falseWhen specified, will limit the list of jobs to those created/completed on-or-before this given date/time.
pendingbooleanfalseWhen true, will include any pending or pasdue jobs, overriding the after/before filters.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getMaintenanceJobsListByAssetResponse { "asset": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceJobs": [ { /* see MaintenanceJob for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the asset to which the array of objects relate.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorUnique identifier of the maintenance schedule.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceJobsarray[MaintenanceJob]if no errorThe list of MaintenanceJobs.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getMaintenanceJobsListBySchedule

Gets the list of Maintenance Jobs that use the specified Maintenance Schedule. You can also optionally limit the results by specifying a before date/time, an after date/time, or a before and after date/time range.

JSON request message structure

getMaintenanceJobsListBySchedule { "after": string, /* datetime format */ "before": string, /* datetime format */ "maintenanceSchedule": { "id": number /* uint64 format */ }, "pending": boolean, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
afterstring(datetime)falseWhen specified, will limit the list of jobs to those created/completed on-or-after this given date/time.
beforestring(datetime)falseWhen specified, will limit the list of jobs to those created/completed on-or-before this given date/time.
maintenanceScheduleobjecttrueAn object to contain the "id" key.
maintenanceSchedule.idnumber(uint64)trueUnique identifier of the maintenance schedule.
pendingbooleanfalseWhen true, will include any pending or pasdue jobs, overriding the after/before filters.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getMaintenanceJobsListByScheduleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceJobs": [ { /* see MaintenanceJob for details */ } ], "maintenanceSchedule": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceJobsarray[MaintenanceJob]if no errorThe list of MaintenanceJobs.
maintenanceScheduleobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the maintenanceSchedule to which the array of objects relate.
maintenanceSchedule.companynumber(uint64)if no errorUnique identifier of the company.
maintenanceSchedule.idnumber(uint64)if no errorUnique identifier of the maintenance schedule.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getMaintenanceSchedule

Gets details of the specified Maintenance Schedule.

JSON request message structure

getMaintenanceSchedule { "maintenanceSchedule": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
maintenanceScheduleobjecttrueAn object to contain the "id" key.
maintenanceSchedule.idnumber(uint64)trueUnique identifier of the maintenance schedule.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getMaintenanceScheduleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceSchedule": { "company": number, /* uint64 format, see Company.id */ "cost": number, /* double format */ "duration": string, /* duration format */ "fill": string, "garage": string, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "intervals": { string /* uint64 format */ : { "asset": number, /* uint64 format, see Asset.id */ "date": string, /* datetime format */ "engineHours": number, /* double format */ "lastJob": number, /* uint64 format */ "odometer": number /* double format */ } }, "name": string, "notes": string, "notify": [ string /* email format */ ], "predictionDays": number, /* uint32 format */ "recurDays": number, /* uint32 format */ "recurDistance": number, /* double format */ "recurEngineHours": number, /* double format */ "reference": string, "stroke": string, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceScheduleMaintenanceScheduleif no errorThe requested maintenance schedule.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getMaintenanceSchedulesList

Gets the list of Maintenance Schedules for the specified Company.

JSON request message structure

getMaintenanceSchedulesList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getMaintenanceSchedulesListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceSchedules": [ { /* see MaintenanceSchedule for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceSchedulesarray[MaintenanceSchedule]if no errorThe list of MaintenanceSchedules.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeMaintenanceJob

Creates a new or updates an existing Maintenance Job.

JSON request message structure

mergeMaintenanceJob { "maintenanceJob": { "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "completed": string, /* datetime format */ "cost": number, /* single format */ "created": string, /* datetime format */ "duration": string, /* duration format */ "engineHours": number, /* double format */ "garage": string, "id": number, /* uint64 format */ "name": string, "notes": string, "odometer": number, /* double format */ "pictures": [ number /* uint64 format */ ], "reference": string, "schedule": number, /* uint64 format */ "status": string, /* one of the MaintenanceJobStatus values */ "technician": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
maintenanceJobobjectalwaysA simple object to contain the maintenance work parameters.
maintenanceJob.assetnumber(uint64)createThe identifier of the vehicle or trailer for which the work was performed.
maintenanceJob.companynumber(uint64)createThe company under which this maintenance work is filed.
maintenanceJob.completedstring(datetime)optionalThe date/time stamp from when this job was completed or cancelled.
maintenanceJob.costnumber(single)optionalHow much does it cost in whatever currency you want to use.
maintenanceJob.createdstring(datetime)optionalThe date/time stamp from when this job was created.
maintenanceJob.durationstring(duration)optionalHow long it took.
maintenanceJob.engineHoursnumber(double)optionalThe recorded vehicle engine hours.
maintenanceJob.garagestringoptionalThe name of the garage or service centre where the work was performed.
maintenanceJob.idnumber(uint64)updateThe unique identifier of the maintenance work you want to update.
maintenanceJob.namestringcreateName for the maintenance work.
maintenanceJob.notesstringoptionalNotes for the maintenance work.
maintenanceJob.odometernumber(double)optionalThe recorded vehicle or trailer odometer.
maintenanceJob.picturesarray[number(uint64)]optionalThe identifiers of pictures of this maintenance work.
maintenanceJob.referencestringoptionalA custom field used to refer this maintenance work an external system.
maintenanceJob.schedulenumber(uint64)createThe optional schedule identifier inputted when creating ad-hoc maintenance records. After creation, this value is read-only.
maintenanceJob.statusstring(MaintenanceJobStatus)optionalThe lifetime of a maintenance work.
maintenanceJob.technicianstringoptionalThe name of the mechanic that does the work.
maintenanceJob.varray[number(uint32)]updateThe maintenance work version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeMaintenanceJobResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceJob": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceJobobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
maintenanceJob.companynumber(uint64)if no errorUnique identifier of the company.
maintenanceJob.idnumber(uint64)if no errorUnique identifier of the maintenance work.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeMaintenanceSchedule

Creates a new or updates an existing Maintenance Schedule.

JSON request message structure

mergeMaintenanceSchedule { "maintenanceSchedule": { "company": number, /* uint64 format */ "cost": number, /* double format */ "duration": string, /* duration format */ "fill": string, "garage": string, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "intervals": { string /* uint64 format */ : { "asset": number, /* uint64 format, see Asset.id */ "date": string, /* datetime format */ "engineHours": number, /* double format */ "lastJob": number, /* uint64 format */ "odometer": number /* double format */ }, }, "name": string, "notes": string, "notify": [ string /* email format */ ], "predictionDays": number, /* uint16 format */ "recurDays": number, /* uint16 format */ "recurDistance": number, /* double format */ "recurEngineHours": number, /* double format */ "reference": string, "stroke": string, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
maintenanceScheduleobjectalwaysA simple object to contain the maintenanceSchedule parameters.
maintenanceSchedule.companynumber(uint64)createThe company to which this maintenance schedule belongs.
maintenanceSchedule.costnumber(double)optionalHow much does it cost in whatever currency you want to use.
maintenanceSchedule.durationstring(duration)optionalHow long it took.
maintenanceSchedule.fillstringoptionalBackground and fill colour in the UI.
maintenanceSchedule.garagestringoptionalThe name of the garage or service centre where the work was performed.
maintenanceSchedule.graphicstring(codified)optionalThe name of the symbol shown in the UI.
maintenanceSchedule.idnumber(uint64)updateThe unique identifier of the maintenance schedule you want to update.
maintenanceSchedule.intervalsobject{string(uint64):MaintenanceInterval}optional Allows you to add, remove, and replace asset interval details for the schedule.
For each MaintenanceInterval in the intervals object, the value will be replaced in the schedule. However, if the asset is not targetted by the schedule, the interval will be removed.
Bare in mind that the lastJob, odometer, and engineHours will default to zero if not specified, and the date will revert to the current time.
If value is null, the interval is removed for that asset. However, if the asset is still targetted, the interval will be reset using the asset's current state.
If a new value or null is not provided for a currently targetted asset, no change is made.
maintenanceSchedule.namestringcreateName for the maintenance schedule.
maintenanceSchedule.notesstringoptionalNotes for the maintenance schedule.
maintenanceSchedule.notifyarray[string(email)]optionalA list of user logins who will receive an offline notification when the schedule is predicted to come due within 2 weeks, and when it becomes over-due.
maintenanceSchedule.predictionDaysnumber(uint16)optionalA number of days in advance to predict when jobs will become pending for this schedule.
maintenanceSchedule.recurDaysnumber(uint16)optionalThe maximum number of days between service visits.
maintenanceSchedule.recurDistancenumber(double)optionalThe maximum distance (in kilometres) a vehicle or trailer should travel between service visits.
maintenanceSchedule.recurEngineHoursnumber(double)optionalThe maximum engine hours a vehicle can run between service visits.
maintenanceSchedule.referencestringoptionalA custom field used to refer this maintenanceSchedule an external system.
maintenanceSchedule.strokestringoptionalText and outline colour in the UI.
maintenanceSchedule.targetsstring(expression)createAn expression to target the Vehicles and Trailers which require this maintenance work.
maintenanceSchedule.varray[number(uint32)]updateThe maintenance schedule version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeMaintenanceScheduleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceSchedule": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceScheduleobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
maintenanceSchedule.companynumber(uint64)if no errorUnique identifier of the company.
maintenanceSchedule.idnumber(uint64)if no errorUnique identifier of the maintenance schedule.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeMaintenanceJob

Deletes an existing Maintenance Job.

JSON request message structure

removeMaintenanceJob { "maintenanceJob": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
maintenanceJobobjecttrueAn object to contain the "id" key.
maintenanceJob.idnumber(uint64)trueUnique identifier of the maintenance job.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeMaintenanceJobResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceJob": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceJobobjectif no errorAn object which contains only three keys, and is only present when there is no error.
maintenanceJob.companynumber(uint64)if no errorUnique identifier of the company.
maintenanceJob.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
maintenanceJob.idnumber(uint64)if no errorUnique identifier of the maintenance job.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeMaintenanceSchedule

Deletes an existing Maintenance Schedule.

JSON request message structure

removeMaintenanceSchedule { "maintenanceSchedule": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
maintenanceScheduleobjecttrueAn object to contain the "id" key.
maintenanceSchedule.idnumber(uint64)trueUnique identifier of the maintenance schedule.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeMaintenanceScheduleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceSchedule": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceScheduleobjectif no errorAn object which contains only three keys, and is only present when there is no error.
maintenanceSchedule.companynumber(uint64)if no errorUnique identifier of the company.
maintenanceSchedule.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
maintenanceSchedule.idnumber(uint64)if no errorUnique identifier of the maintenance schedule.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreMaintenanceJob

Restores the specified Maintenance Job to its previous version.

JSON request message structure

restoreMaintenanceJob { "maintenanceJob": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
maintenanceJobobjecttrueAn object to contain the "id" key.
maintenanceJob.idnumber(uint64)trueUnique identifier of the maintenance work.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreMaintenanceJobResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceJob": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceJobobjectif no errorAn object which contains only three keys, and is only present when there is no error.
maintenanceJob.companynumber(uint64)if no errorUnique identifier of the company.
maintenanceJob.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
maintenanceJob.idnumber(uint64)if no errorUnique identifier of the maintenance work.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreMaintenanceSchedule

Restores the specified Maintenance Schedule to its previous version.

JSON request message structure

restoreMaintenanceSchedule { "maintenanceSchedule": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
maintenanceScheduleobjecttrueAn object to contain the "id" key.
maintenanceSchedule.idnumber(uint64)trueUnique identifier of the maintenance schedule.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreMaintenanceScheduleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "maintenanceSchedule": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
maintenanceScheduleobjectif no errorAn object which contains only three keys, and is only present when there is no error.
maintenanceSchedule.companynumber(uint64)if no errorUnique identifier of the company.
maintenanceSchedule.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
maintenanceSchedule.idnumber(uint64)if no errorUnique identifier of the maintenance schedule.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Messaging

getAssetMessage

Gets details of the specified Asset Message.

JSON request message structure

getAssetMessage { "assetMessage": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetMessageobjecttrueAn object to contain the "id" key.
assetMessage.idnumber(uint64)trueUnique identifier of the message.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getAssetMessageResponse { "assetMessage": { "asset": number, /* uint64 format, see Asset.id */ "body": string, "company": number, /* uint64 format, see Company.id */ "delivered": string, /* datetime format */ "folder": string, /* one of the MessageFolder values */ "from": string, "id": number, /* uint64 format */ "incoming": boolean, "kind": string, /* one of the MemoType values */ "processed": string, /* datetime format */ "readBy": string, /* email format, see User.login */ "status": string, /* one of the MemoStatus values */ "subject": string, "to": string, "user": string, /* email format, see User.login */ "v": [ number /* uint32 format */ ] }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetMessageMessageif no errorThe requested message.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getAssetMessagesList

Gets the list of Asset Messages for the specified Asset.

JSON request message structure

getAssetMessagesList { "asset": { "id": number /* uint64 format */ }, "folder": string, /* one of the MessageFolder values */ "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetobjecttrueAn object to contain the "id" key.
asset.idnumber(uint64)trueUnique identifier of the asset.
folderstring(MessageFolder)optionalThe folder of messages to retrieve.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getAssetMessagesListResponse { "asset": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "assetMessages": [ { /* see Message for details */ } ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the asset to which the array of objects relate.
asset.companynumber(uint64)if no errorUnique identifier of the company.
asset.idnumber(uint64)if no errorUnique identifier of the asset.
assetMessagesarray[Message]if no errorThe list of messages.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getAssetMessagesListByCompany

Gets the list of Asset Messages for the all the Assets in the specified Company.

JSON request message structure

getAssetMessagesListByCompany { "company": { "id": number /* uint64 format */ }, "folder": string, /* one of the MessageFolder values */ "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
folderstring(MessageFolder)optionalThe folder of messages to retrieve.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getAssetMessagesListByCompanyResponse { "assetMessages": [ { /* see Message for details */ } ], "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetMessagesarray[Message]if no errorThe list of messages.
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeAssetMessage

Creates a new or updates an existing Asset Message.

JSON request message structure

mergeAssetMessage { "assetMessage": { "asset": number, /* uint64 format */ "body": string, "company": number, /* uint64 format */ "folder": string, /* one of the MessageFolder values */ "id": number, /* uint64 format */ "kind": string, /* one of the MemoType values */ "read": boolean, "responses": [ string ], "subject": string, "to": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetMessageobjectalwaysA simple object to contain the assetMessage parameters.
assetMessage.assetnumber(uint64)createThe asset that this message was sent from or to.
assetMessage.bodystringoptionalThe body of the message.
assetMessage.companynumber(uint64)createThe company to which this message belongs.
assetMessage.folderstring(MessageFolder)optionalThe folder where this message is stored.
assetMessage.idnumber(uint64)updateThe unique identifier of the message you want to update.
assetMessage.kindstring(MemoType)optionalThe kind of protocol used for this message. Like SMS, Email, etc...
assetMessage.readbooleanoptionalSet to true to log that the message was received and read by yourself. Once set, the readBy value will be your login.
assetMessage.responsesarray[string]optionalThese responses are used as canned-replies for PND messages.
assetMessage.subjectstringoptionalThe message subject field. This is used almost exclusively with email type messages.
assetMessage.tostringoptionalOptional to address used when creating the message if no messaging address is available. After creation, this value is read-only.
assetMessage.varray[number(uint32)]updateThe message version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeAssetMessageResponse { "assetMessage": { "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetMessageobjectif no errorAn object which contains the "id", "asset", and "company" keys when there is no error.
assetMessage.assetnumber(uint64)if no errorUnique identifier of the asset.
assetMessage.companynumber(uint64)if no errorUnique identifier of the company.
assetMessage.idnumber(uint64)if no errorUnique identifier of the message.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

multiMergeAssetMessage

A batch operation for creating new, or updating existing Asset Messages.

JSON request message structure

multiMergeAssetMessage { "assetMessages": [ ], "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetMessagesarray[]alwaysThis array contains mergeAssetMessage.assetMessage objects.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

multiMergeAssetMessageResponse { "assetMessages": [ ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetMessagesarray[]if no errorAn object which contains each mergeAssetMessage command response.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeAssetMessage

Deletes an existing Asset Message.

JSON request message structure

removeAssetMessage { "assetMessage": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetMessageobjecttrueAn object to contain the "id" key.
assetMessage.idnumber(uint64)trueUnique identifier of the message.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeAssetMessageResponse { "assetMessage": { "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetMessageobjectif no errorAn object which contains only four keys, and is only present when there is no error.
assetMessage.assetnumber(uint64)if no errorUnique identifier of the asset.
assetMessage.companynumber(uint64)if no errorUnique identifier of the company.
assetMessage.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
assetMessage.idnumber(uint64)if no errorUnique identifier of the message.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreAssetMessage

Restores a deleted Asset Message.

JSON request message structure

restoreAssetMessage { "assetMessage": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
assetMessageobjecttrueAn object to contain the "id" key.
assetMessage.idnumber(uint64)trueUnique identifier of the message.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreAssetMessageResponse { "assetMessage": { "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
assetMessageobjectif no errorAn object which contains only four keys, and is only present when there is no error.
assetMessage.assetnumber(uint64)if no errorUnique identifier of the asset.
assetMessage.companynumber(uint64)if no errorUnique identifier of the company.
assetMessage.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
assetMessage.idnumber(uint64)if no errorUnique identifier of the message.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Pictures

getPicture

Gets details of the specified Picture.

JSON request message structure

getPicture { "picture": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
pictureobjecttrueAn object to contain the "id" key.
picture.idnumber(uint64)trueUnique identifier of the picture.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getPictureResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "picture": { "bytes": number, /* uint64 format */ "company": number, /* uint64 format, see Company.id */ "focals": [ { "bottom": number, /* double format */ "left": number, /* double format */ "right": number, /* double format */ "top": number /* double format */ } ], "id": number, /* uint64 format */ "name": string, "notes": string, "size": { "height": number, /* double format */ "width": number /* double format */ }, "src": string, "uses": number, /* uint32 format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
picturePictureif no errorThe requested Picture.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getPicturesList

Gets the list of Pictures for the specified Company.

JSON request message structure

getPicturesList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getPicturesListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "pictures": [ { /* see Picture for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
picturesarray[Picture]if no errorThe list of pictures.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergePicture

Creates a new or updates an existing Picture.

JSON request message structure

mergePicture { "picture": { "focals": [ { "bottom": number, /* double format */ "left": number, /* double format */ "right": number, /* double format */ "top": number /* double format */ } ], "id": number, /* uint64 format */ "name": string, "notes": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
pictureobjectalwaysA simple object to contain the picture parameters.
picture.focalsarray[Square]optionalFocal points of the image like the faces of people or the license plate of a vehicle.
picture.idnumber(uint64)updateThe unique identifier of the picture you want to update.
picture.namestringoptionalName for the picture.
picture.notesstringoptionalNotes for the picture.
picture.varray[number(uint32)]updateThe picture version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergePictureResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "picture": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
pictureobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
picture.companynumber(uint64)if no errorUnique identifier of the company.
picture.idnumber(uint64)if no errorUnique identifier of the picture.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removePicture

Deletes an existing Picture.

JSON request message structure

removePicture { "picture": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
pictureobjecttrueAn object to contain the "id" key.
picture.idnumber(uint64)trueUnique identifier of the picture.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removePictureResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "picture": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
pictureobjectif no errorAn object which contains only three keys, and is only present when there is no error.
picture.companynumber(uint64)if no errorUnique identifier of the company.
picture.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
picture.idnumber(uint64)if no errorUnique identifier of the picture.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restorePicture

Restores the specified Picture to its previous version.

JSON request message structure

restorePicture { "picture": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
pictureobjecttrueAn object to contain the "id" key.
picture.idnumber(uint64)trueUnique identifier of the picture.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restorePictureResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "picture": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
pictureobjectif no errorAn object which contains only three keys, and is only present when there is no error.
picture.companynumber(uint64)if no errorUnique identifier of the company.
picture.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
picture.idnumber(uint64)if no errorUnique identifier of the picture.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Places

getPlace

Gets details of the specified Place.

JSON request message structure

getPlace { "place": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
placeobjecttrueAn object to contain the "id" key.
place.idnumber(uint64)trueUnique identifier of the place.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getPlaceResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "place": { "address": string, "anchor": { "lat": number, /* double format */ "lng": number /* double format */ }, "colour": string, "company": number, /* uint64 format, see Company.id */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format */ "kind": string, /* one of the ShapeType values */ "labels": [ string /* see LabelStyle.code */ ], "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "radius": number, /* double format */ "reference": string, "v": [ number /* uint32 format */ ], "v[0]": uint32 }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
placePlaceGeneralif no errorThe requested PlaceGeneral.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getPlacesList

Gets the list of Places for the specified Company.

JSON request message structure

getPlacesList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getPlacesListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "places": [ { /* see PlaceGeneral for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
placesarray[PlaceGeneral]if no errorThe list of PlaceGenerals.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getPlacesListByReference

Gets the list of Places for the specified Company.

JSON request message structure

getPlacesListByReference { "company": { "id": number /* uint64 format */ }, "reference": string, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
referencestringtrueCase-insensitive reference used to match places.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getPlacesListByReferenceResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "places": [ { /* see PlaceGeneral for details */ } ], "reference": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
placesarray[PlaceGeneral]if no errorThe list of PlaceGenerals.
referencestringif no errorCase-insensitive reference used to match places.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergePlace

Creates a new or updates an existing Place.

JSON request message structure

mergePlace { "place": { "address": string, "anchor": { "lat": number, /* double format */ "lng": number /* double format */ }, "colour": string, "company": number, /* uint64 format */ "icon": number, /* uint64 format */ "id": number, /* uint64 format */ "kind": string, /* one of the ShapeType values */ "labels": [ string /* codified format */ ], "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "radius": number, /* double format */ "reference": string, "shape": [ { "lat": number, /* double format */ "lng": number /* double format */ } ], "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
placeobjectalwaysA simple object to contain the place parameters.
place.addressstringconditional create The street address of this place.
Condition: You must provide an anchor or an address.
Note: If the address is ommitted when creating a place, the geocoder uses the anchor to populate the address, but if no suitable results are found, no error is returned.
place.anchorLatLngconditional create The "centre" point of the place. This anchor isn't necessarily the centre, but it is where the place icon will appear.
Condition: You must provide an anchor or an address.
Note: If you invoke the geocoder by ommitting the anchor, the address is also replaced with the geocoded value.
place.colourstringoptionalThe background and fill colour of this place in the UI.
place.companynumber(uint64)createThe company to which this place belongs.
place.iconnumber(uint64)optionalThe identifier of the icon used to represent this place in the UI.
place.idnumber(uint64)updateThe unique identifier of the place you want to update.
place.kindstring(ShapeType)createThe type of shape of this place.
place.labelsarray[string(codified)]optionalA list of codified label names to categorize/organize this place.
place.namestringcreateName for the place.
place.notesstringoptionalNotes for the place.
place.picturesarray[number(uint64)]optionalThe identifiers of pictures of this place.
place.radiusnumber(double)optionalOnly applicable to radial shape types, this value (in meters) is the radius of the circle around the anchor.
place.referencestringoptionalA custom field used to refer this place an external system.
place.shapearray[LatLng]create rectangle or create polygon For rectangle shapes, this array is only two points representing the corners of the place. If more than two points are provided, the rectangle will be expanded to encompass all the points.
For polygon shape types, this array of at least 3 coordinates delineates the outer boundary of the place.
Coordinates cannot create overlaps when drawing lines, and are automatically re-oriented to counter-clockwise, and reduced in complexity.
When saving a polygon, the first and last point do not need to match, but the saved polygon will have matching first and last points.
For all other shape types the specified points are not used.
place.varray[number(uint32)]updateThe place version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergePlaceResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "place": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
placeobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
place.companynumber(uint64)if no errorUnique identifier of the company.
place.idnumber(uint64)if no errorUnique identifier of the place.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removePlace

Deletes an existing Place.

JSON request message structure

removePlace { "place": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
placeobjecttrueAn object to contain the "id" key.
place.idnumber(uint64)trueUnique identifier of the place.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removePlaceResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "place": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
placeobjectif no errorAn object which contains only three keys, and is only present when there is no error.
place.companynumber(uint64)if no errorUnique identifier of the company.
place.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
place.idnumber(uint64)if no errorUnique identifier of the place.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restorePlace

Restores the specified Place to its previous version.

JSON request message structure

restorePlace { "place": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
placeobjecttrueAn object to contain the "id" key.
place.idnumber(uint64)trueUnique identifier of the place.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restorePlaceResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "place": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
placeobjectif no errorAn object which contains only three keys, and is only present when there is no error.
place.companynumber(uint64)if no errorUnique identifier of the company.
place.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
place.idnumber(uint64)if no errorUnique identifier of the place.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Providers and Configurations

getProvider

Gets details of the specified Provider.

JSON request message structure

getProvider { "provider": { "id": string }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerobjecttrueAn object to contain the "id" key.
provider.idstringtrueUnique identifier of the device.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "provider": { "asset": number, /* uint64 format, see Asset.id */ "attributes": { string /* dictionary format */ : dictionary }, "company": number, /* uint64 format, see Company.id */ "configuration": number, /* uint64 format, see ProviderConfig.id */ "firmware": string, "firmwareStatus": string, /* one of the ProvisioningStatus values */ "geofenceLast": string, /* datetime format */ "geofenceStatus": string, /* one of the ProvisioningStatus values */ "id": string, "information": { string: string }, "kind": string, /* one of the ProviderType values */ "lastCheckIn": string, /* datetime format */ "lastIP": string, /* ipv4 format */ "name": string, "notes": string, "password": string, "phoneNumber": number, /* uint64 format */ "pnd": string, "scriptLast": string, /* datetime format */ "scriptStatus": string, /* one of the ProvisioningStatus values */ "sim": string, "snf": { string: string }, "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32 }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerProviderif no errorThe requested device.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderConfig

Gets details of the specified ProviderConfig.

JSON request message structure

getProviderConfig { "providerConfig": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigobjecttrueAn object to contain the "id" key.
providerConfig.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderConfigResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfig": { "company": number, /* uint64 format, see Company.id */ "geofences": string, /* expression format */ "id": number, /* uint64 format */ "name": string, "notes": string, "parameters": { string: string }, "script": number, /* uint64 format, see ProviderScript.id */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigProviderConfigif no errorThe requested configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderConfigsList

Gets the list of ProviderConfigs for the specified Company.

JSON request message structure

getProviderConfigsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderConfigsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfigs": [ { /* see ProviderConfig for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigsarray[ProviderConfig]if no errorThe list of ProviderConfigs.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderConfiguration

Gets details of the specified Provider Configuration.

JSON request message structure

getProviderConfiguration { "providerConfig": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigobjecttrueAn object to contain the "id" key.
providerConfig.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderConfigurationResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfig": { "company": number, /* uint64 format, see Company.id */ "geofences": [ number /* uint64 format */ ], "id": number, /* uint64 format */ "name": string, "notes": string, "scriptParameters": { string: object }, "type": number, /* uint64 format, see ProviderConfigurationType.id */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigProviderConfigurationif no errorThe requested configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderConfigurationsList

Gets the list of Provider Configurations for the specified Company.

JSON request message structure

getProviderConfigurationsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderConfigurationsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfigs": [ { /* see ProviderConfiguration for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigsarray[ProviderConfiguration]if no errorThe list of ProviderConfigurations.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderRegistration

Gets details of the specified Provider Registration.

JSON request message structure

getProviderRegistration { "providerRegistration": { "code": string /* uint32 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerRegistrationobjecttrueAn object to contain the "code" key.
providerRegistration.codestring(uint32)trueKey code of the registration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderRegistrationResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerRegistration": { "asset": number, /* uint64 format, see Asset.id */ "code": string, "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "config": number, /* uint64 format, see ProviderConfig.id */ "expires": string, /* datetime format */ "identifier": string, /* see Provider.id */ "kind": string, /* one of the ProviderType values */ "name": string, "notes": string, "password": string, "phoneNumber": number, /* uint64 format */ "since": string, /* datetime format */ "user": string /* email format, see User.login */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerRegistrationProviderRegistrationif no errorThe requested Provider Registration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderRegistrationsList

Gets the list of Provider Registrations for the specified Company.

JSON request message structure

getProviderRegistrationsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderRegistrationsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerRegistrations": [ { /* see ProviderRegistration for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerRegistrationsarray[ProviderRegistration]if no errorThe list of pending device registrations.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderRegistrationsListByKind

Gets the list of Provider Registrations for the specified Company, filtered by the given ProviderType.

JSON request message structure

getProviderRegistrationsListByKind { "company": { "id": number /* uint64 format */ }, "kind": string, /* one of the ProviderType values */ "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
kindstring(ProviderType)trueThe type of device.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderRegistrationsListByKindResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "kind": string, /* one of the ProviderType values */ "message": string, "providerRegistrations": [ { /* see ProviderRegistration for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
kindstring(ProviderType)if no errorThe type of device.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerRegistrationsarray[ProviderRegistration]if no errorThe list of pending device registrations.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderScript

Gets details of the specified ProviderScript.

JSON request message structure

getProviderScript { "providerScript": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerScriptobjecttrueAn object to contain the "id" key.
providerScript.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderScriptResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerScript": { "blocks": [ { "condition": string, "content": string, "replace": string, "validate": string } ], "company": number, /* uint64 format, see Company.id */ "fill": string, "global": boolean, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "kind": string, /* one of the ProviderType values */ "name": string, "notes": string, "parameters": { string: { "advanced": boolean, "context": string, "notes": string, "order": number, /* uint32 format */ "type": string, /* one of the ProviderScriptParameterType values */ "value": string } }, "stroke": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerScriptProviderScriptif no errorThe requested configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProviderScriptsList

Gets the list of ProviderScripts for the specified Company.

JSON request message structure

getProviderScriptsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProviderScriptsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerScripts": [ { /* see ProviderScript for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerScriptsarray[ProviderScript]if no errorThe list of ProviderScripts.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProvidersList

Gets the list of Providers for the specified Company.

JSON request message structure

getProvidersList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProvidersListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providers": [ { /* see Provider for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providersarray[Provider]if no errorThe list of general device information.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getProvidersListByConfiguration

Gets the list of Providers that use the specified Provider Configuration.

JSON request message structure

getProvidersListByConfiguration { "providerConfig": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigobjecttrueAn object to contain the "id" key.
providerConfig.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getProvidersListByConfigurationResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfig": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "providers": [ { /* see Provider for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
providerConfig.companynumber(uint64)if no errorUnique identifier of the company.
providerConfig.idnumber(uint64)if no errorUnique identifier of the configuration.
providersarray[Provider]if no errorThe list of devices.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeProvider

A shortcut around the Provisioning Service so that adding multiple providers to the system is easier to automate.

JSON request message structure

mergeProvider { "provider": { "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "configuration": number, /* uint64 format */ "id": string, "kind": string, /* one of the ProviderType values */ "name": string, "notes": string, "password": string, "phoneNumber": number, /* uint64 format */ "pnd": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerobjectalwaysA simple object to contain the device parameters.
provider.assetnumber(uint64)optionalThe asset for which this device provides data.
provider.companynumber(uint64)createThe company to which this device belongs.
provider.configurationnumber(uint64)optionalThe identifier of the configuration loaded onto this device.
provider.idstringcreate or updateUnique identifier of the device.
provider.kindstring(ProviderType)createThe type of device.
provider.namestringoptionalName for the device.
provider.notesstringoptionalNotes for the device.
provider.passwordstringoptionalSecurity password for some devices. The password is set automagically by the system and shouldn't be changed unless an error has occurred or the device was re-programmed in the field.
provider.phoneNumbernumber(uint64)optionalThe device's phone number.
provider.pndstringoptionalSingle-word name of the type of Portable Navigation Device connected ie: "Garmin" or "Magellan".
provider.varray[number(uint32)]updateThe device version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeProviderResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "provider": { "company": number, /* uint64 format */ "id": string }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
provider.companynumber(uint64)if no errorUnique identifier of the company.
provider.idstringif no errorUnique identifier of the device.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeProviderConfig

Creates a new or updates an existing ProviderConfig.

JSON request message structure

mergeProviderConfig { "providerConfig": { "company": number, /* uint64 format */ "geofences": [ number /* uint64 format */ ], "id": number, /* uint64 format */ "name": string, "notes": string, "scriptParameters": { string: object, }, "type": number, /* uint64 format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigobjectalwaysA simple object to contain the configuration parameters.
providerConfig.companynumber(uint64)createThe company to which this configuration belongs.
providerConfig.geofencesarray[number(uint64)]optionalA list of place identifiers. These places are sent over-the-air to the provider for geofence boundary event raising.
providerConfig.idnumber(uint64)updateUnique identifier of the configuration.
providerConfig.namestringcreateName for the configuration.
providerConfig.notesstringoptionalNotes for the configuration.
providerConfig.scriptParametersobject{string:object}optionalThe values required to implement the chosen type.
providerConfig.typenumber(uint64)createThe identifier of the type this configuration implements.
providerConfig.varray[number(uint32)]updateThe configuration version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeProviderConfigResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfig": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
providerConfig.companynumber(uint64)if no errorUnique identifier of the company.
providerConfig.idnumber(uint64)if no errorUnique identifier of the configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeProviderConfiguration

Creates a new or updates an existing Provider Configuration.

JSON request message structure

mergeProviderConfiguration { "providerConfig": { "company": number, /* uint64 format */ "geofences": [ number /* uint64 format */ ], "id": number, /* uint64 format */ "name": string, "notes": string, "scriptParameters": { string: object, }, "type": number, /* uint64 format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigobjectalwaysA simple object to contain the configuration parameters.
providerConfig.companynumber(uint64)createThe company to which this configuration belongs.
providerConfig.geofencesarray[number(uint64)]optionalA list of place identifiers. These places are sent over-the-air to the provider for geofence boundary event raising.
providerConfig.idnumber(uint64)updateUnique identifier of the configuration.
providerConfig.namestringcreateName for the configuration.
providerConfig.notesstringoptionalNotes for the configuration.
providerConfig.scriptParametersobject{string:object}optionalThe values required to implement the chosen type.
providerConfig.typenumber(uint64)createThe identifier of the type this configuration implements.
providerConfig.varray[number(uint32)]updateThe configuration version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeProviderConfigurationResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfig": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
providerConfig.companynumber(uint64)if no errorUnique identifier of the company.
providerConfig.idnumber(uint64)if no errorUnique identifier of the configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeProviderRegistration

A shortcut around the Provisioning Service so that adding multiple providers to the system is easier to automate.

JSON request message structure

mergeProviderRegistration { "providerRegistration": { "asset": number, /* uint64 format */ "config": number, /* uint64 format */ "identifier": string, "lifetime": string, /* duration format */ "name": string, "notes": string, "password": string, "phoneNumber": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerRegistrationobjecttrueA simple object to contain the registration parameters.
providerRegistration.assetnumber(uint64)optionalThe asset for which the device provides data.
providerRegistration.confignumber(uint64)trueThe identifier of the configuration loaded onto the device.
providerRegistration.identifierstringoptionalThe unique identifier of the device that will complete this registration.
providerRegistration.lifetimestring(duration)optionalDefault is 10 minutes. Can be specified as up to 2 months to allow for long term deployments.
providerRegistration.namestringoptionalA name to assign to the provider once it's been programmed.
providerRegistration.notesstringoptionalNotes about the provider once it's been programmed.
providerRegistration.passwordstringoptionalThe password programmed on the device used to ensure the system is the only client authorized to make changes.
providerRegistration.phoneNumbernumber(uint64)optionalThe device's phone number if known before provisioning.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeProviderRegistrationResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerRegistration": { "asset": number, /* uint64 format, see Asset.id */ "code": string, "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "config": number, /* uint64 format, see ProviderConfig.id */ "expires": string, /* datetime format */ "identifier": string, /* see Provider.id */ "kind": string, /* one of the ProviderType values */ "name": string, "notes": string, "password": string, "phoneNumber": number, /* uint64 format */ "since": string, /* datetime format */ "user": string /* email format, see User.login */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerRegistrationProviderRegistrationif no errorThe pending device registration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeProviderScript

Creates a new or updates an existing ProviderScript.

JSON request message structure

mergeProviderScript { "providerScript": { "company": number, /* uint64 format */ "geofences": [ number /* uint64 format */ ], "id": number, /* uint64 format */ "name": string, "notes": string, "scriptParameters": { string: object, }, "type": number, /* uint64 format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerScriptobjectalwaysA simple object to contain the configuration parameters.
providerScript.companynumber(uint64)createThe company to which this configuration belongs.
providerScript.geofencesarray[number(uint64)]optionalA list of place identifiers. These places are sent over-the-air to the provider for geofence boundary event raising.
providerScript.idnumber(uint64)updateUnique identifier of the configuration.
providerScript.namestringcreateName for the configuration.
providerScript.notesstringoptionalNotes for the configuration.
providerScript.scriptParametersobject{string:object}optionalThe values required to implement the chosen type.
providerScript.typenumber(uint64)createThe identifier of the type this configuration implements.
providerScript.varray[number(uint32)]updateThe configuration version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeProviderScriptResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerScript": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerScriptobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
providerScript.companynumber(uint64)if no errorUnique identifier of the company.
providerScript.idnumber(uint64)if no errorUnique identifier of the configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeProvider

Deletes an existing device.

JSON request message structure

removeProvider { "provider": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerobjecttrueAn object to contain the "id" key.
provider.idnumber(uint64)trueUnique identifier of the device.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeProviderResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "provider": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerobjectif no errorAn object which contains only three keys, and is only present when there is no error.
provider.companynumber(uint64)if no errorUnique identifier of the company.
provider.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
provider.idnumber(uint64)if no errorUnique identifier of the device.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeProviderConfig

Deletes an existing ProviderConfig.

JSON request message structure

removeProviderConfig { "providerConfig": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigobjecttrueAn object to contain the "id" key.
providerConfig.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeProviderConfigResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfig": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigobjectif no errorAn object which contains only three keys, and is only present when there is no error.
providerConfig.companynumber(uint64)if no errorUnique identifier of the company.
providerConfig.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
providerConfig.idnumber(uint64)if no errorUnique identifier of the configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeProviderConfiguration

Deletes an existing Provider Configuration.

JSON request message structure

removeProviderConfiguration { "providerConfig": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigobjecttrueAn object to contain the "id" key.
providerConfig.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeProviderConfigurationResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfig": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigobjectif no errorAn object which contains only three keys, and is only present when there is no error.
providerConfig.companynumber(uint64)if no errorUnique identifier of the company.
providerConfig.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
providerConfig.idnumber(uint64)if no errorUnique identifier of the configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeProviderRegistration

Deletes an existing device.

JSON request message structure

removeProviderRegistration { "providerRegistration": { "code": string /* uint32 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerRegistrationobjecttrueAn object to contain the "code" key.
providerRegistration.codestring(uint32)trueKey code of the registration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeProviderRegistrationResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerRegistration": { "code": string, /* uint32 format */ "company": number, /* uint64 format */ "deleted": boolean }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerRegistrationobjectif no errorAn object which contains only three keys, and is only present when there is no error.
providerRegistration.codestring(uint32)if no errorKey code of the registration.
providerRegistration.companynumber(uint64)if no errorUnique identifier of the company.
providerRegistration.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeProviderScript

Deletes an existing ProviderScript.

JSON request message structure

removeProviderScript { "providerScript": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerScriptobjecttrueAn object to contain the "id" key.
providerScript.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeProviderScriptResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerScript": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerScriptobjectif no errorAn object which contains only three keys, and is only present when there is no error.
providerScript.companynumber(uint64)if no errorUnique identifier of the company.
providerScript.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
providerScript.idnumber(uint64)if no errorUnique identifier of the configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreProvider

Restores the specified device to its previous version.

JSON request message structure

restoreProvider { "provider": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerobjecttrueAn object to contain the "id" key.
provider.idnumber(uint64)trueUnique identifier of the device.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreProviderResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "provider": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerobjectif no errorAn object which contains only three keys, and is only present when there is no error.
provider.companynumber(uint64)if no errorUnique identifier of the company.
provider.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
provider.idnumber(uint64)if no errorUnique identifier of the device.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreProviderConfig

Restores the specified ProviderConfig to its previous version.

JSON request message structure

restoreProviderConfig { "providerConfig": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigobjecttrueAn object to contain the "id" key.
providerConfig.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreProviderConfigResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfig": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigobjectif no errorAn object which contains only three keys, and is only present when there is no error.
providerConfig.companynumber(uint64)if no errorUnique identifier of the company.
providerConfig.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
providerConfig.idnumber(uint64)if no errorUnique identifier of the configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreProviderConfiguration

Restores the specified Provider Configuration to its previous version.

JSON request message structure

restoreProviderConfiguration { "providerConfig": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerConfigobjecttrueAn object to contain the "id" key.
providerConfig.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreProviderConfigurationResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerConfig": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerConfigobjectif no errorAn object which contains only three keys, and is only present when there is no error.
providerConfig.companynumber(uint64)if no errorUnique identifier of the company.
providerConfig.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
providerConfig.idnumber(uint64)if no errorUnique identifier of the configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreProviderScript

Restores the specified ProviderScript to its previous version.

JSON request message structure

restoreProviderScript { "providerScript": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerScriptobjecttrueAn object to contain the "id" key.
providerScript.idnumber(uint64)trueUnique identifier of the configuration.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreProviderScriptResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "providerScript": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerScriptobjectif no errorAn object which contains only three keys, and is only present when there is no error.
providerScript.companynumber(uint64)if no errorUnique identifier of the company.
providerScript.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
providerScript.idnumber(uint64)if no errorUnique identifier of the configuration.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

reviveProvider

Revives an Provider from suspended state so that new events are processed (data sent while suspended is ignored).

JSON request message structure

reviveProvider { "provider": { "id": string }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerobjecttrueAn object to contain the "id" key.
provider.idstringtrueUnique identifier of the device.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

reviveProviderResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "provider": { "company": number, /* uint64 format */ "id": string, "suspended": boolean, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerobjectif no errorAn object which contains the keys "id" and "suspended" when there is no error.
provider.companynumber(uint64)if no errorUnique identifier of the company.
provider.idstringif no errorThe unique identifier of the device.
provider.suspendedbooleanif no errorIndicates whether the object is suspended.
Value is always false
provider.varray[number(uint32)]if no errorThe device version keys at the time of suspension.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

suspendProvider

Suspends an Provider so that no further events are processed for it, but it remains available for historical reports.

JSON request message structure

suspendProvider { "provider": { "id": string }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
providerobjecttrueAn object to contain the "id" key.
provider.idstringtrueUnique identifier of the device.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

suspendProviderResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "provider": { "company": number, /* uint64 format */ "id": string, "suspended": boolean, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
providerobjectif no errorAn object which contains the keys "id" and "suspended" when there is no error.
provider.companynumber(uint64)if no errorUnique identifier of the company.
provider.idstringif no errorThe unique identifier of the device.
provider.suspendedbooleanif no errorIndicates whether the object is suspended.
Value is always true
provider.varray[number(uint32)]if no errorThe device version keys at the time of suspension.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Reports

getReportResult

Gets details of the specified Report Result.

JSON request message structure

getReportResult { "reportResult": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportResultobjecttrueAn object to contain the "id" key.
reportResult.idnumber(uint64)trueUnique identifier of the report results.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getReportResultResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportResult": { "archive": boolean, "bounds": { "east": number, /* double format */ "north": number, /* double format */ "south": number, /* double format */ "west": number /* double format */ }, "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "created": string, /* datetime format */ "error": string, /* see ReportResult.status */ "filtered": [ number /* uint64 format */ ], "id": number, /* uint64 format */ "name": string, "notes": string, "options": { "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }, "progress": number, /* uint8 format */ "runBy": string, /* email format, see User.login */ "schedule": number, /* uint64 format, see ReportSchedule.id */ "scorecards": [ ReportDataScorecard ], "status": string, /* one of the ReportStatus values */ "targeted": [ number /* uint64 format */ ], "template": number, /* uint64 format, see ReportTemplate.id */ "timezone": string, /* codified format, see Timezone.code */ "totals": [ ReportDataTotal ], "type": string, /* one of the ReportType values */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportResultReportResultif no errorThe requested report results.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getReportResultsList

Gets the list of Report Results for the specified Company.

JSON request message structure

getReportResultsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getReportResultsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportResults": [ { /* see ReportResult for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportResultsarray[ReportResult]if no errorThe list of report results.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getReportResultsListByTemplate

Gets the list of Report Results for the specified Report Template.

JSON request message structure

getReportResultsListByTemplate { "reportTemplate": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportTemplateobjecttrueAn object to contain the "id" key.
reportTemplate.idnumber(uint64)trueUnique identifier of the report template.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getReportResultsListByTemplateResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportResult": [ { /* see ReportResult for details */ } ], "reportTemplate": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportResultarray[ReportResult]if no errorThe list of report results.
reportTemplateobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the report template to which the array of objects relate.
reportTemplate.companynumber(uint64)if no errorUnique identifier of the company.
reportTemplate.idnumber(uint64)if no errorUnique identifier of the report template.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getReportSchedule

Gets details of the specified Report Schedule.

JSON request message structure

getReportSchedule { "reportSchedule": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportScheduleobjecttrueAn object to contain the "id" key.
reportSchedule.idnumber(uint64)trueUnique identifier of the report schedule.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getReportScheduleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportSchedule": { "company": number, /* uint64 format, see Company.id */ "enabled": boolean, "id": number, /* uint64 format */ "name": string, "notes": string, "notify": { "assets": string, /* expression format */ "users": [ string /* email format */ ] }, "options": { "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }, "owner": string, /* email format, see User.login */ "repetition": { "end": string, /* datetime format */ "iterations": number, /* uint16 format */ "kind": string, /* one of the ReportRecurrenceType values */ "lastEndDate": string, /* datetime format */ "lastResult": number, /* uint64 format */ "lastStartDate": string, /* datetime format */ "nextEndDate": string, /* datetime format */ "nextStartDate": string, /* datetime format */ "start": string, /* datetime format */ "timezone": string, /* codified format, see Timezone.code */ "weekday": number, /* uint8 format */ "weekdays": [ boolean ] }, "template": number, /* uint64 format, see ReportTemplate.id */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportScheduleReportScheduleif no errorThe requested report schedule.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getReportSchedulesList

Gets the list of Report Schedules for the specified Company.

JSON request message structure

getReportSchedulesList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getReportSchedulesListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportSchedules": [ { /* see ReportSchedule for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportSchedulesarray[ReportSchedule]if no errorThe list of report schedules.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getReportSchedulesListByTemplate

Gets the list of Report Schedules for the specified Report Template.

JSON request message structure

getReportSchedulesListByTemplate { "reportTemplate": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportTemplateobjecttrueAn object to contain the "id" key.
reportTemplate.idnumber(uint64)trueUnique identifier of the report template.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getReportSchedulesListByTemplateResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportSchedule": [ { /* see ReportSchedule for details */ } ], "reportTemplate": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportSchedulearray[ReportSchedule]if no errorThe list of report schedules.
reportTemplateobjectif no errorAn object which contains the "id" and "company" keys when there is no error. The "id" key is the unique identifier of the report template to which the array of objects relate.
reportTemplate.companynumber(uint64)if no errorUnique identifier of the company.
reportTemplate.idnumber(uint64)if no errorUnique identifier of the report template.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getReportTemplate

Gets details of the specified Report Template.

JSON request message structure

getReportTemplate { "reportTemplate": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportTemplateobjecttrueAn object to contain the "id" key.
reportTemplate.idnumber(uint64)trueUnique identifier of the report template.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getReportTemplateResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportTemplate": { "company": number, /* uint64 format, see Company.id */ "fill": string, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "name": string, "notes": string, "options": { "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }, "stroke": string, "type": string, /* one of the ReportType values */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportTemplateReportTemplateif no errorThe requested report template.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getReportTemplatesList

Gets the list of Report Templates for the specified Company.

JSON request message structure

getReportTemplatesList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getReportTemplatesListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportTemplates": [ { /* see ReportTemplate for details */ } ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportTemplatesarray[ReportTemplate]if no errorThe list of report templates.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeReportResult

Creates a new or updates an existing Report Result.

JSON request message structure

mergeReportResult { "reportResult": { "archive": boolean, "bounds": { "east": number, /* double format */ "north": number, /* double format */ "south": number, /* double format */ "west": number /* double format */ }, "company": number, /* uint64 format */ "id": number, /* uint64 format */ "name": string, "notes": string, "options": { "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }, "template": number, /* uint64 format */ "timezone": string, "type": string, /* one of the ReportType values */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportResultobjectalwaysA simple object to contain the reportResult parameters.
reportResult.archivebooleanoptionalIndicates whether this report should be archived. Archived report results are stored for six months. Non-archive reports are purged after 24 hours.
reportResult.boundsLatLngBoundsoptionalThe geographic boundary of all the data in these results. This property can be used to quickly centre the map around your results.
reportResult.companynumber(uint64)createThe company to which these report results belongs.
reportResult.idnumber(uint64)updateThe unique identifier of the report results you want to update.
reportResult.namestringcreateName for the report results.
reportResult.notesstringoptionalNotes for these report results.
reportResult.optionsReportOptionscreateOptions used to configure the report logic.
reportResult.options.filteringstring(ReportFilterMode)optionalThe mechanism to use for filtering based on places and regions.
reportResult.options.placesstring(expression)optionalA targeting expression for limiting results which only include data from Assets interacting with the targeted Places.
reportResult.options.regionsarray[string(codified)]optionalA list of provinces and states, where only assets within those regions will be included in the results.
reportResult.options.targetsstring(expression)createThe search pattern used to target assets for inclusion in the report results.
reportResult.templatenumber(uint64)optionalIdentifier of the template used to help create these results.
reportResult.timezonestringoptionalThe code of the local timezone used to calculate times.
reportResult.typestring(ReportType)createThe kind of logic used to build the report results.
reportResult.varray[number(uint32)]updateThe reportResult version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeReportResultResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportResult": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportResultobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
reportResult.companynumber(uint64)if no errorUnique identifier of the company.
reportResult.idnumber(uint64)if no errorUnique identifier of these report results.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeReportSchedule

Creates a new or updates an existing Report Schedule.

JSON request message structure

mergeReportSchedule { "reportSchedule": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "name": string, "notes": string, "notify": [ string /* codified format */ ], "options": { "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }, "repetition": { "end": string, /* datetime format */ "kind": string, /* one of the ReportRecurrenceType values */ "start": string, /* datetime format */ "timezone": string, /* codified format, see Timezone.code */ "weekday": number, /* uint8 format */ "weekdays": [ boolean ] }, "template": number, /* uint64 format */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportScheduleobjectalwaysA simple object to contain the reportSchedule parameters.
reportSchedule.companynumber(uint64)createThe company to which this report schedule belongs.
reportSchedule.idnumber(uint64)updateThe unique identifier of the report results you want to update.
reportSchedule.namestringcreateName for the report schedule.
reportSchedule.notesstringoptionalNotes for these report schedule.
reportSchedule.notifyarray[string(codified)]optionalSettings for sending notifications of results to users and report targets.
reportSchedule.notify.assetsstring(expression)optionalA targeting expression for sending report results to targeted assets (only about themselves).
reportSchedule.notify.usersarray[string(email)]optionalList of users from the target company who will receive report results (via email only) for scheduled reports.
reportSchedule.optionsReportOptionscreateOptions used to configure the report logic.
reportSchedule.options.filteringstring(ReportFilterMode)optionalThe mechanism to use for filtering based on places and regions.
reportSchedule.options.placesstring(expression)optionalA targeting expression for limiting schedule which only include data from Assets interacting with the targeted Places.
reportSchedule.options.regionsarray[string(codified)]optionalA list of provinces and states, where only assets within those regions will be included in the schedule.
reportSchedule.options.targetsstring(expression)createThe search pattern used to target assets for inclusion in the report schedule.
reportSchedule.repetitionReportRecurrenceoptionalThe pattern used to automatically run the report when new data is available.
reportSchedule.templatenumber(uint64)optionalIdentifier of the template used to help create these schedule.
reportSchedule.varray[number(uint32)]updateThe reportSchedule version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeReportScheduleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportSchedule": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "template": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportScheduleobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
reportSchedule.companynumber(uint64)if no errorUnique identifier of the company.
reportSchedule.idnumber(uint64)if no errorUnique identifier of these report schedule.
reportSchedule.templatenumber(uint64)if no errorUnique identifier of the report template to which this schedule belongs.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeReportTemplate

Creates a new or updates an existing Report Template.

JSON request message structure

mergeReportTemplate { "reportTemplate": { "company": number, /* uint64 format */ "fill": string, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "name": string, "notifyAssets": string, /* expression format */ "notifyUsers": [ string /* email format */ ], "options": { "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }, "schedule": { "end": string, /* datetime format */ "kind": string, /* one of the ReportRecurrenceType values */ "start": string, /* datetime format */ "timezone": string, /* codified format, see Timezone.code */ "weekday": number, /* uint8 format */ "weekdays": [ boolean ] }, "stroke": string, "timezone": string, "type": string, /* one of the ReportType values */ "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportTemplateobjectalwaysA simple object to contain the report template parameters.
reportTemplate.companynumber(uint64)createThe company to which this report template belongs.
reportTemplate.fillstringoptionalBackground and fill colour in the UI.
reportTemplate.graphicstring(codified)optionalThe name of the symbol shown in the UI.
reportTemplate.idnumber(uint64)updateThe unique identifier of the report template you want to update.
reportTemplate.namestringcreateName for the report template.
reportTemplate.notifyAssetsstring(expression)optionalA targeting expression for sending report results to targeted assets (only about themselves).
reportTemplate.notifyUsersarray[string(email)]optionalList of users from the target company who will receive report results (via email only) for scheduled reports.
reportTemplate.optionsReportOptionsoptionalOptions used to configure the report logic.
reportTemplate.options.filteringstring(ReportFilterMode)optionalThe mechanism to use for filtering based on places and regions.
reportTemplate.options.placesstring(expression)optionalA targeting expression for limiting results which only include data from Assets interacting with the targeted Places.
reportTemplate.options.regionsarray[string(codified)]optionalA list of provinces and states, where only assets within those regions will be included in the results.
reportTemplate.options.targetsstring(expression)createThe search pattern used to target assets for inclusion in the report results.
reportTemplate.scheduleReportRecurrenceoptionalAn optional schedule used to automatically run the report when new data is available.
reportTemplate.strokestringoptionalText and outline colour in the UI.
reportTemplate.timezonestringoptionalThe code of the local timezone used to calculate times.
reportTemplate.typestring(ReportType)createThe kind of logic used to build the report results.
reportTemplate.varray[number(uint32)]updateThe report template version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeReportTemplateResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportTemplate": { "company": number, /* uint64 format */ "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportTemplateobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
reportTemplate.companynumber(uint64)if no errorUnique identifier of the company.
reportTemplate.idnumber(uint64)if no errorUnique identifier of the report template.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeReportResult

Deletes an existing Report Result.

JSON request message structure

removeReportResult { "reportResult": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportResultobjecttrueAn object to contain the "id" key.
reportResult.idnumber(uint64)trueUnique identifier of the report results.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeReportResultResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportResult": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportResultobjectif no errorAn object which contains only three keys, and is only present when there is no error.
reportResult.companynumber(uint64)if no errorUnique identifier of the company.
reportResult.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
reportResult.idnumber(uint64)if no errorUnique identifier of the report results.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeReportSchedule

Deletes an existing Report Schedule.

JSON request message structure

removeReportSchedule { "reportSchedule": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportScheduleobjecttrueAn object to contain the "id" key.
reportSchedule.idnumber(uint64)trueUnique identifier of the report schedule.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeReportScheduleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportSchedule": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportScheduleobjectif no errorAn object which contains only three keys, and is only present when there is no error.
reportSchedule.companynumber(uint64)if no errorUnique identifier of the company.
reportSchedule.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
reportSchedule.idnumber(uint64)if no errorUnique identifier of the report schedule.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeReportTemplate

Deletes an existing Report Template.

JSON request message structure

removeReportTemplate { "reportTemplate": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportTemplateobjecttrueAn object to contain the "id" key.
reportTemplate.idnumber(uint64)trueUnique identifier of the report template.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeReportTemplateResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportTemplate": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportTemplateobjectif no errorAn object which contains only three keys, and is only present when there is no error.
reportTemplate.companynumber(uint64)if no errorUnique identifier of the company.
reportTemplate.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
reportTemplate.idnumber(uint64)if no errorUnique identifier of the report template.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreReportResult

Restores the specified ReportResult to its previous version.

JSON request message structure

restoreReportResult { "reportResult": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportResultobjecttrueAn object to contain the "id" key.
reportResult.idnumber(uint64)trueUnique identifier of the group.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreReportResultResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportResult": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportResultobjectif no errorAn object which contains only three keys, and is only present when there is no error.
reportResult.companynumber(uint64)if no errorUnique identifier of the company.
reportResult.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
reportResult.idnumber(uint64)if no errorUnique identifier of the group.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreReportSchedule

Restores the specified ReportSchedule to its previous version.

JSON request message structure

restoreReportSchedule { "reportSchedule": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportScheduleobjecttrueAn object to contain the "id" key.
reportSchedule.idnumber(uint64)trueUnique identifier of the group.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreReportScheduleResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportSchedule": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportScheduleobjectif no errorAn object which contains only three keys, and is only present when there is no error.
reportSchedule.companynumber(uint64)if no errorUnique identifier of the company.
reportSchedule.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
reportSchedule.idnumber(uint64)if no errorUnique identifier of the group.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreReportTemplate

Restores the specified Report Template to its previous version.

JSON request message structure

restoreReportTemplate { "reportTemplate": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reportTemplateobjecttrueAn object to contain the "id" key.
reportTemplate.idnumber(uint64)trueUnique identifier of the report template.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreReportTemplateResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reportTemplate": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reportTemplateobjectif no errorAn object which contains only three keys, and is only present when there is no error.
reportTemplate.companynumber(uint64)if no errorUnique identifier of the company.
reportTemplate.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
reportTemplate.idnumber(uint64)if no errorUnique identifier of the report template.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Self

getSessionDetails

Gets details of the current Session (yourself) and User.

JSON request message structure

getSessionDetails { "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getSessionDetailsResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "ghostId": string, "message": string, "reqId": number, /* uint32 format */ "serverTime": string, /* datetime format */ "user": { "company": number, /* uint64 format, see Company.id */ "contact": { "addresses": { string: string /* email format */ }, "company": number, /* uint64 format, see Company.id */ "dates": { string: string /* datetime format */ }, "emails": { string: string /* email format */ }, "id": number, /* uint64 format */ "name": string, "notes": string, "options": { string: string }, "otherNames": { string: string }, "phones": { string: number /* uint64 format */ }, "pictures": [ number /* uint64 format */ ], "roles": [ string /* codified format */ ], "urls": { string: string }, "v": [ number /* uint32 format */ ] }, "enabled": boolean, "formats": { string /* codified format */ : string }, "groups": [ { "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format */ "name": string, "notes": string, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] } ], "language": string, "login": string, /* email format, see User.login */ "measurements": { string /* codified format */ : string /* one of the SystemsOfUnits values */ }, "nickname": string, "notify": [ { "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] } ], "options": { string /* codified format */ : string }, "passwordExpired": boolean, "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ] } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
ghostIdstringif no errorYour session identifier.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
serverTimestring(datetime)if no errorThe UTC date/time of the server hosting the connection.
userSessionif no errorAll the details about your user.

login

Creates a new session and allows access to authorized services.

JSON request message structure

login { "password": string, "reqId": number, /* uint32 format */ "userAgent": string, "username": string /* email format */ }
Request
PropertyTypeRequiredDescription
passwordstringtrueUser's password.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userAgentstringoptionalApplication name. This should match the allowed applications from user's company's SessionPolicy.applications.
usernamestring(email)trueUser's email address.

JSON response message structure

loginResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "expiry": string, /* datetime format */ "ghostId": string, "message": string, "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "reqId": number, /* uint32 format */ "serverTime": string, /* datetime format */ "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "user": { "company": number, /* uint64 format, see Company.id */ "contact": { "addresses": { string: string /* email format */ }, "company": number, /* uint64 format, see Company.id */ "dates": { string: string /* datetime format */ }, "emails": { string: string /* email format */ }, "id": number, /* uint64 format */ "name": string, "notes": string, "options": { string: string }, "otherNames": { string: string }, "phones": { string: number /* uint64 format */ }, "pictures": [ number /* uint64 format */ ], "roles": [ string /* codified format */ ], "urls": { string: string }, "v": [ number /* uint32 format */ ] }, "enabled": boolean, "formats": { string /* codified format */ : string }, "groups": [ { "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format */ "name": string, "notes": string, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] } ], "language": string, "login": string, /* email format, see User.login */ "measurements": { string /* codified format */ : string /* one of the SystemsOfUnits values */ }, "nickname": string, "notify": [ { "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] } ], "options": { string /* codified format */ : string }, "passwordExpired": boolean, "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ] } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
expirystring(datetime)if no errorThe date/time when this UserSession expires.
ghostIdstringif no errorYour session identifier.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
passwordPolicyPasswordPolicyif no errorThe company's password policy. Needed if the user's password is expired.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
serverTimestring(datetime)if no errorThe UTC date/time of the server hosting the connection.
sessionPolicySessionPolicyif no errorThe company's session policy.
userSessionif no errorAll the details about your user.

logout

Ends your session.

JSON request message structure

logout { "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

logoutResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

updateOwnContact

Allows a Session User to update their own contact. If your user has no associated contact, you will receive a Contact not found error.

JSON request message structure

updateOwnContact { "contact": { "address": string, "email": string, /* email format */ "fax": number, /* uint64 format */ "mobile": number, /* uint64 format */ "name": string, "notes": string, "office": number, /* uint64 format */ "pictures": [ number /* uint64 format */ ], "url": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
contactobjecttrueAn object similar to a Contact, but without the id or company properties.
contact.addressstringoptionalFull street address including city, province/state, country, and postal code.
contact.emailstring(email)optionalYour preferred email address.
contact.faxnumber(uint64)optionalYour office's fax number.
contact.mobilenumber(uint64)optionalYour mobile phone number.
contact.namestringtrueYour full name.
contact.notesstringoptionalNotes about yourself.
contact.officenumber(uint64)optionalYour office phone number.
contact.picturesarray[number(uint64)]optionalList of pictures of yourself.
contact.urlstringoptionalYour website address.
contact.varray[number(uint32)]trueThe contact version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

updateOwnContactResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

updateOwnPassword

Allows a Session User to change their own password.

JSON request message structure

updateOwnPassword { "current": string, "password": string, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
currentstringtrueYour current/old password is required to confirm account ownership.
passwordstringtrueYour new password must conform to your company's password policy.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

updateOwnPasswordResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

updateOwnPreferences

Allows a Session User to change their own preferences.

JSON request message structure

updateOwnPreferences { "formats": { string: string, }, "language": string, "measurements": { string: string, /* one of the SystemsOfUnits values */ }, "notify": [ { "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] } ], "options": { string: string, }, "reqId": number, /* uint32 format */ "timezone": string }
Request
PropertyTypeRequiredDescription
formatsobject{string:string}optionalFormatting help for dates, times, numbers.
languagestringoptional Preferred region/language for the UI and notifications. Valid formats use <ISO 639-1><dash><ISO 3166-2> such as "fr-CA" or "en-US".
measurementsobject{string:string(SystemsOfUnits)}optionalPreferred way of displaying ambiguous numbers in the context of measurements.
notifyarray[UserNotifications]optionalList of notification preferences. Please note that active times cannot overlap.
optionsobject{string:string}optional Additional options which do not fit in with the formats or measurements preferences. If a value of null is given, the option is removed. To keep the option, you can use a blank string. For convenience, if the value of an option is given as JSON (instead of a string), they are automatically serialized with no white-space.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
timezonestringoptionalYour local timezone code used to calculate times.

JSON response message structure

updateOwnPreferencesResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Socket

getSubscriptionsList

Gets the list of current subscriptions for this WebSocket

JSON request message structure

getSubscriptionsList { "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getSubscriptionsListResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "subscriptions": [ { /* see Subscription for details */ } ] }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
subscriptionsarray[Subscription]if no errorThe list of your current notification types.

subscribe

Subscribes the user to receive notifications for add/update.

JSON request message structure

subscribe { "company": { "id": number /* uint64 format */ }, "reqId": number, /* uint32 format */ "subscriptionTypes": [ string /* one of the SubscriptionType values */ ] }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
subscriptionTypesarray[string(SubscriptionType)]trueThe list of notification types you want to receive.

JSON response message structure

subscribeResponse { "company": { "id": number /* uint64 format */ }, "denied": [ string /* one of the SubscriptionType values */ ], "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "invalid": [ string ], "merged": [ string /* one of the SubscriptionType values */ ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
deniedarray[string(SubscriptionType)]error or partial successNotification types not added to your socket due to insufficient permissions.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
invalidarray[string]error or partial successA returned list of non-sense you sent to my beuatiful server.
mergedarray[string(SubscriptionType)]if no errorThe list of notification types added (or re-added) to your socket's subscriptions.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

unsubscribe

Unsubscribes the user from receiving notifications for add/update.

JSON request message structure

unsubscribe { "company": { "id": number /* uint64 format */ }, "reqId": number, /* uint32 format */ "subscriptionTypes": [ string /* one of the SubscriptionType values */ ] }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
subscriptionTypesarray[string(SubscriptionType)]trueThe list of notification types you no longer want to receive.

JSON response message structure

unsubscribeResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "invalid": [ string ], "message": string, "removed": [ string /* one of the SubscriptionType values */ ], "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
invalidarray[string]error or partial successA returned list of non-sense you sent to my beuatiful server.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
removedarray[string(SubscriptionType)]if no errorThe list of notification types added (or re-added) to your socket's subscriptions.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

Users and Groups

getMachine

Gets details of the specified Service Account.

JSON request message structure

getMachine { "machine": { "key": string }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
machineobjecttrueAn object to contain the "key" key.
machine.keystringtrueThe unique identifier of the Service Account.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getMachineResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "machine": { "company": number, /* uint64 format, see Company.id */ "enabled": boolean, "formats": { string /* codified format */ : string }, "groups": [ number /* uint64 format, see UserGroup.id */ ], "insecure": boolean, "ipRanges": [ string /* ipv4 format */ ], "key": string, "language": string, "measurements": { string /* codified format */ : string /* one of the SystemsOfUnits values */ }, "nickname": string, "notAfter": string, /* datetime format */ "notBefore": string, /* datetime format */ "notes": string, "options": { string /* codified format */ : string }, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "referrers": [ string ], "secret": string, "services": [ string ], "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ] }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
machineMachineif no errorThe requested Service Account.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getMachinesList

Gets the list of Service Accounts for the specified Company.

JSON request message structure

getMachinesList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getMachinesListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "machines": [ { /* see Machine for details */ } ], "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
machinesarray[Machine]if no errorThe list of Service Accounts.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

getSessionsList

Gets the list of UserSessions for the specified Company.

JSON request message structure

getSessionsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getSessionsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "sessions": [ { /* see SessionHandle for details */ } ] }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
sessionsarray[SessionHandle]if no errorThe list of sessions.

getSessionsListByUser

Gets the list of UserSessions for the specified Company.

JSON request message structure

getSessionsListByUser { "reqId": number, /* uint32 format */ "user": { "login": string /* email format */ } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userobjecttrueAn object to contain the "login" key.
user.loginstring(email)trueUsername of the user.

JSON response message structure

getSessionsListByUserResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "sessions": [ { /* see SessionHandle for details */ } ], "user": { "company": number, /* uint64 format */ "login": string /* email format */ } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
sessionsarray[SessionHandle]if no errorThe list of sessions.
userobjectif no errorAn object which contains the "login" and "company" keys when there is no error. The "login" key is the username of the user to which the array of objects relate.
user.companynumber(uint64)if no errorUnique identifier of the company.
user.loginstring(email)if no errorUser's email address.

getUser

Gets details of the specified User.

JSON request message structure

getUser { "reqId": number, /* uint32 format */ "user": { "login": string /* email format */ } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userobjecttrueAn object to contain the "login" key.
user.loginstring(email)trueThe unique identifier of the user.

JSON response message structure

getUserResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "user": { "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "enabled": boolean, "formats": { string /* codified format */ : string }, "groups": [ number /* uint64 format, see UserGroup.id */ ], "language": string, "login": string, /* email format */ "measurements": { string /* codified format */ : string /* one of the SystemsOfUnits values */ }, "nickname": string, "notify": [ { "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] } ], "options": { string /* codified format */ : string }, "passwordExpired": boolean, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32 } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
userUserif no errorThe requested user.

getUserGroup

Gets details of the specified User Group.

JSON request message structure

getUserGroup { "reqId": number, /* uint32 format */ "userGroup": { "id": number, /* uint64 format */ "v": [ number /* uint32 format */ ] } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userGroupobjecttrueAn object to contain the "id" key.
userGroup.idnumber(uint64)trueUnique identifier of the group.
userGroup.varray[number(uint32)]falseThe group version keys used to validate synchronization.

JSON response message structure

getUserGroupResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "userGroup": { "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format */ "name": string, "notes": string, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
userGroupUserGroupif no errorThe requested UserGroup.

getUserGroupsList

Gets the list of UserGroups for the specified Company.

JSON request message structure

getUserGroupsList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getUserGroupsListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "userGroups": [ { /* see UserGroup for details */ } ] }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
userGroupsarray[UserGroup]if no errorThe list of UserGroups.

getUsersList

Gets the list of Users for the specified Company.

JSON request message structure

getUsersList { "company": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyobjecttrueAn object to contain the "id" key.
company.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getUsersListResponse { "company": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "users": [ { /* see User for details */ } ] }
Response
PropertyTypePresenceDescription
companyobjectif no errorAn object which contains only one key "id" when there is no error. The "id" key is the unique identifier of the company to which the array of objects relate.
company.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
usersarray[User]if no errorThe list of users.

killSession

Forcibly ends a user's existing session. This also has the effect of closing all active WebSocket connections.

JSON request message structure

killSession { "reqId": number, /* uint32 format */ "session": { "handle": string } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
sessionobjecttrueAn object to contain the "id" key.
session.handlestringtrueThe handle of the session you want to kill.

JSON response message structure

killSessionResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "session": { "company": number, /* uint64 format */ "handle": string, "user": string /* email format */ } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
sessionobjectif no errorAn object which contains only one key "handle" when there is no error.
session.companynumber(uint64)if no errorUnique identifier of the company to which the user belonged.
session.handlestringif no errorThe identifier of the session which was killed.
session.userstring(email)if no errorThe unique identifier of the user to whom the session belonged.

mergeMachine

Creates a new or updates an existing Service Account.

JSON request message structure

mergeMachine { "machine": { "company": number, /* uint64 format */ "enabled": boolean, "formats": { string: string, }, "groups": [ number /* uint64 format */ ], "ipRanges": [ string /* ipv4 format */ ], "key": string, "language": string, "measurements": { string: string, /* one of the SystemsOfUnits values */ }, "nickname": string, "notes": string, "options": { string: string, }, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "referrers": [ string /* url format */ ], "secret": bool, "services": [ string /* url format */ ], "timezone": string, "v": [ number /* uint32 format */ ] }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
machineobjectalwaysA simple object to contain the Service Account parameters.
machine.companynumber(uint64)createThe company to which this Service Account belongs.
machine.enabledbooleanoptionalIndicates that the Service Account can make requests of the system.
machine.formatsobject{string:string}optionalFormatting help for dates, times, numbers.
machine.groupsarray[number(uint64)]optionalList of groups of which this Service Account is a member.
machine.ipRangesarray[string(ipv4)]optionalRestrict service access to only the provided IPv4 ranges (using CIDR slash-notation).
machine.keystringupdateThe unique identifier of the Service Account you want to update.
machine.languagestringoptional Preferred region/language for the UI and notifications. Valid formats use <ISO 639-1><dash><ISO 3166-2> such as "fr-CA" or "en-US".
machine.measurementsobject{string:string(SystemsOfUnits)}optionalPreferred way of displaying ambiguous numbers in the context of measurements.
machine.nicknamestringoptionalAn optional nickname for this Service Account.
machine.notesstringoptionalOptional notes for this Service Account.
machine.optionsobject{string:string}optional Additional options which do not fit in with the formats or measurements preferences. If a value of null is given, the option is removed. To keep the option, you can use a blank string. For convenience, if the value of an option is given as JSON (instead of a string), they are automatically serialized with no white-space.
machine.permissionsarray[UserPermission]optionalA list of permissions assigned specifically to this Service Account. These permissions override any group permissions.
machine.referrersarray[string(url)]optionalOptional list of your managed domains from which this service account can be used.
machine.secretbooloptionalWhen true, the system will generate a new API secret used to hash requests. When false, will remove the API secret so that hashing is disabled.
machine.servicesarray[string(url)]optionalList of Fleet Freedom service URIs that this service account is permitted to access.
machine.timezonestringoptionalThe Service Account's local timezone code used to calculate times.
machine.varray[number(uint32)]updateThe Service Account version keys used to validate synchronization.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeMachineResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "machine": { "company": number, /* uint64 format */ "key": string }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
machineobjectif no errorAn object which contains the "key" and "company" keys when there is no error.
machine.companynumber(uint64)if no errorUnique identifier of the company.
machine.keystringif no errorThe unique identifier of the Service Account.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeUser

Creates a new or updates an existing User.

JSON request message structure

mergeUser { "reqId": number, /* uint32 format */ "user": { "company": number, /* uint64 format */ "contact": number, /* uint64 format */ "enabled": boolean, "formats": { string: string, }, "groups": [ number /* uint64 format */ ], "language": string, "login": string, /* email format */ "measurements": { string: string, /* one of the SystemsOfUnits values */ }, "nickname": string, "notify": { "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] }, "options": { string: string, }, "password": string, "passwordExpired": boolean, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "timezone": string, "v": [ number /* uint32 format */ ] } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userobjectalwaysA simple object to contain the user parameters.
user.companynumber(uint64)createThe company to which this user belongs.
user.contactnumber(uint64)optionalThe contact card for this user.
user.enabledbooleanoptionalIndicates that the user can login to the system. If set to false, all sessions belonging to this user are automatically killed.
user.formatsobject{string:string}optionalFormatting help for dates, times, numbers.
user.groupsarray[number(uint64)]optionalList of groups of which this user is a member.
user.languagestringoptional Preferred region/language for the UI and notifications. Valid formats use <ISO 639-1><dash><ISO 3166-2> such as "fr-CA" or "en-US".
user.loginstring(email)create or updateThe unique identifier of the user you want to update.
user.measurementsobject{string:string(SystemsOfUnits)}optionalPreferred way of displaying ambiguous numbers in the context of measurements.
user.nicknamestringoptionalIn case no contact is chosen for this user, a nickname can be used for reference.
user.notifyUserNotificationsoptionalNotification preferences.
user.optionsobject{string:string}optional Additional options which do not fit in with the formats or measurements preferences. If a value of null is given, the option is removed. To keep the option, you can use a blank string. For convenience, if the value of an option is given as JSON (instead of a string), they are automatically serialized with no white-space.
user.passwordstringcreateThe password must conform to the company's password policy.
user.passwordExpiredbooleanoptionalIndicates that the user must change their password on their next connection to the socket. If set to true, it cannot be set to false.
user.permissionsarray[UserPermission]optionalA list of permissions assigned specifically to this user. These permissions override any group permissions.
user.timezonestringoptionalThe user's local timezone code used to calculate times.
user.varray[number(uint32)]updateThe user version keys used to validate synchronization.

JSON response message structure

mergeUserResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "user": { "company": number, /* uint64 format */ "login": string /* email format */ } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
userobjectif no errorAn object which contains the "login" and "company" keys when there is no error.
user.companynumber(uint64)if no errorUnique identifier of the company.
user.loginstring(email)if no errorThe unique identifier of the user.

mergeUserGroup

Creates a new or updates an existing User Group.

JSON request message structure

mergeUserGroup { "reqId": number, /* uint32 format */ "userGroup": { "company": number, /* uint64 format */ "id": number, /* uint64 format */ "name": string, "notes": string, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userGroupobjectalwaysA simple object to contain the group parameters.
userGroup.companynumber(uint64)createThe company to which this group belongs.
userGroup.idnumber(uint64)updateThe unique identifier of the group you want to update.
userGroup.namestringcreateName for the group.
userGroup.notesstringoptionalNotes for the group.
userGroup.permissionsarray[UserPermission]optionalList of permissions assigned to members of this group.
userGroup.varray[number(uint32)]updateThe group version keys used to validate synchronization.

JSON response message structure

mergeUserGroupResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "userGroup": { "company": number, /* uint64 format */ "id": number /* uint64 format */ } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
userGroupobjectif no errorAn object which contains the "id" and "company" keys when there is no error.
userGroup.companynumber(uint64)if no errorUnique identifier of the company.
userGroup.idnumber(uint64)if no errorUnique identifier of the group.

removeMachine

Deletes an existing Service Account.

JSON request message structure

removeMachine { "machine": { "key": string }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
machineobjecttrueAn object to contain the "key" key.
machine.keystringtrueUnique identifier of the Service Account.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeMachineResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "machine": { "company": number, /* uint64 format */ "deleted": boolean, "key": string }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
machineobjectif no errorAn object which contains only three keys, and is only present when there is no error.
machine.companynumber(uint64)if no errorUnique identifier of the company.
machine.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
machine.keystringif no errorThe unique identifier of the Service Account.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeUser

Deletes an existing User.

JSON request message structure

removeUser { "reqId": number, /* uint32 format */ "user": { "login": string /* email format */ } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userobjecttrueAn object to contain the "login" key.
user.loginstring(email)trueUnique identifier of the user.

JSON response message structure

removeUserResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "user": { "company": number, /* uint64 format */ "deleted": boolean, "login": string /* email format */ } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
userobjectif no errorAn object which contains only three keys, and is only present when there is no error.
user.companynumber(uint64)if no errorUnique identifier of the company.
user.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
user.loginstring(email)if no errorThe unique identifier of the user.

removeUserGroup

Deletes an existing User Group.

JSON request message structure

removeUserGroup { "reqId": number, /* uint32 format */ "userGroup": { "id": number /* uint64 format */ } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userGroupobjecttrueAn object to contain the "id" key.
userGroup.idnumber(uint64)trueUnique identifier of the group.

JSON response message structure

removeUserGroupResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "userGroup": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
userGroupobjectif no errorAn object which contains only three keys, and is only present when there is no error.
userGroup.companynumber(uint64)if no errorUnique identifier of the company.
userGroup.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
userGroup.idnumber(uint64)if no errorUnique identifier of the group.

restoreMachine

Restores the specified Service Account to its previous version.

JSON request message structure

restoreMachine { "machine": { "key": string }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
machineobjecttrueAn object to contain the "key" key.
machine.keystringtrueUnique identifier of the Service Account.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreMachineResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "machine": { "company": number, /* uint64 format */ "deleted": boolean, "key": string }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
machineobjectif no errorAn object which contains only three keys, and is only present when there is no error.
machine.companynumber(uint64)if no errorUnique identifier of the company.
machine.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
machine.keystringif no errorThe unique identifier of the Service Account.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreUser

Restores the specified User to its previous version.

JSON request message structure

restoreUser { "reqId": number, /* uint32 format */ "user": { "login": string /* email format */ } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userobjecttrueAn object to contain the "login" key.
user.loginstring(email)trueUnique identifier of the user.

JSON response message structure

restoreUserResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "user": { "company": number, /* uint64 format */ "deleted": boolean, "login": string /* email format */ } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
userobjectif no errorAn object which contains only three keys, and is only present when there is no error.
user.companynumber(uint64)if no errorUnique identifier of the company.
user.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
user.loginstring(email)if no errorThe unique identifier of the user.

restoreUserGroup

Restores the specified UserGroup to its previous version.

JSON request message structure

restoreUserGroup { "reqId": number, /* uint32 format */ "userGroup": { "id": number /* uint64 format */ } }
Request
PropertyTypeRequiredDescription
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.
userGroupobjecttrueAn object to contain the "id" key.
userGroup.idnumber(uint64)trueUnique identifier of the group.

JSON response message structure

restoreUserGroupResponse { "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number, /* uint32 format */ "userGroup": { "company": number, /* uint64 format */ "deleted": boolean, "id": number /* uint64 format */ } }
Response
PropertyTypePresenceDescription
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).
userGroupobjectif no errorAn object which contains only three keys, and is only present when there is no error.
userGroup.companynumber(uint64)if no errorUnique identifier of the company.
userGroup.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
userGroup.idnumber(uint64)if no errorUnique identifier of the group.

White-labelling

getCompanyReseller

Gets details of the specified White-labelling profile.

JSON request message structure

getCompanyReseller { "companyReseller": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyResellerobjecttrueAn object to contain the "id" key.
companyReseller.idnumber(uint64)trueUnique identifier of the company.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

getCompanyResellerResponse { "companyReseller": { "contactInfo": { string: number /* uint64 format, see Contact.id */ }, "domain": string, "favourite": string, "gamut": { string: { "fill": string, "stroke": string } }, "graphics": { string: string }, "icon": string, "id": number, /* uint64 format, see Company.id */ "languages": [ string ], "logo": string, "notifyEmail": { "incomingAddress": string, "incomingLogin": string, "incomingMessageNumber": number, /* uint32 format */ "incomingPort": number, /* uint16 format */ "incomingSecure": boolean, "incomingType": string, "outgoingAddress": string, "outgoingLogin": string, "outgoingPort": number, /* uint16 format */ "outgoingReplyTo": string, /* email format */ "outgoingSecure": boolean, "outgoingType": string }, "notifySms": { "notifyLimit": number, /* uint16 format */ "phoneNumbers": { string: array /* uint64 format */ } }, "parent": number, /* uint64 format, see Company.id */ "recoverBody": string, "recoverIsHtml": boolean, "recoverSubject": string, "serviceName": string, "termsPreamble": string, "termsUpdated": string, /* datetime format */ "v": [ number /* uint32 format */ ], "website": { string: string } }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyResellerCompanyResellerif no errorThe requested white-labeller.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

mergeCompanyReseller

Creates a new or updates an existing White-labelling profile for the given Company.

JSON request message structure

mergeCompanyReseller { "companyReseller": { "contactInfo": Dictionary, /* uint64 format */ "email": { "incomingAddress": string, "incomingLogin": string, "incomingMessageNumber": number, /* uint32 format */ "incomingPort": number, /* uint16 format */ "incomingSecure": boolean, "incomingType": string, "outgoingAddress": string, "outgoingLogin": string, "outgoingPort": number, /* uint16 format */ "outgoingReplyTo": string, /* email format */ "outgoingSecure": boolean, "outgoingType": string }, "gamut": Dictionary, "graphics": Dictionary, "icon": string, "id": number, /* uint64 format */ "languages": Array, "logo": string, "serviceName": string, "sms": { "notifyLimit": number, /* uint16 format */ "phoneNumbers": { string: array /* uint64 format */ } }, "termsPreamble": string, "urn": string, "v": [ number /* uint32 format */ ], "website": Dictionary }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyResellerobjectalwaysA simple object to contain the company parameters.
companyReseller.contactInfoDictionary(uint64)createA list roles/Contact identifiers given to users of the service for things like billing inquiries, technical support, etc.
companyReseller.emailNotificationServerEmailcreateIncoming and outgoing email server used to send notifications and user generated messages.
companyReseller.gamutDictionarycreateA list of variables/colours given to users of the service to colour labels and places.
companyReseller.graphicsDictionarycreateA list of graphics given to users of the service to add to status tags, report templates, etc.
companyReseller.iconstringcreateIcon for the service.
companyReseller.idnumber(uint64)updateThe unique identifier of the company you want to update.
companyReseller.languagesArraycreateA list languages supported by the service site(s).
companyReseller.logostringcreateLogo for the service.
companyReseller.serviceNamestringcreateName for the White-label service.
companyReseller.smsNotificationServerSmscreateIncoming and outgoing SMS numbers used to send notifications and user generated messages.
companyReseller.termsPreamblestringcreateA pre-amble to the regular terms of service written by Trak iT Wireless Inc.
companyReseller.urnstringcreateDomain name for the service.
companyReseller.varray[number(uint32)]updateThe company version keys used to validate synchronization.
companyReseller.websiteDictionarycreateA list of variables/colours used to skin the service site(s).
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

mergeCompanyResellerResponse { "companyReseller": { "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyResellerobjectif no errorAn object which contains only one key "id" when there is no error.
companyReseller.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

removeCompanyReseller

Deletes an existing White-labelling profile.

JSON request message structure

removeCompanyReseller { "companyReseller": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyResellerobjectalwaysA simple object to contain the company parameters.
companyReseller.idnumber(uint64)updateThe unique identifier of the company you want to update.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

removeCompanyResellerResponse { "companyReseller": { "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyResellerobjectif no errorAn object which contains only one key "id" when there is no error.
companyReseller.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always true
companyReseller.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

restoreCompanyReseller

Restores a deleted White-labeller profile from the given company. White-Labellers can only be restored within the first 24 hours after deletion.

JSON request message structure

restoreCompanyReseller { "companyReseller": { "id": number /* uint64 format */ }, "reqId": number /* uint32 format */ }
Request
PropertyTypeRequiredDescription
companyResellerobjectalwaysA simple object to contain the company parameters.
companyReseller.idnumber(uint64)updateThe unique identifier of the company you want to update.
reqIdnumber(uint32)optionalAn optional integer used to correlate requests with responses.

JSON response message structure

restoreCompanyResellerResponse { "companyReseller": { "deleted": boolean, "id": number /* uint64 format */ }, "errorCode": number, /* one of the ErrorCode values */ "errorDetails": { }, "message": string, "reqId": number /* uint32 format */ }
Response
PropertyTypePresenceDescription
companyResellerobjectif no errorAn object which contains only one key "id" when there is no error.
companyReseller.deletedbooleanif no errorIndicates whether the object is deleted.
Value is always false
companyReseller.idnumber(uint64)if no errorUnique identifier of the company.
errorCodenumber(ErrorCode)alwaysThe type of error encountered (if any).
errorDetailsobjectsome errorsAn object to provide developers with a hint about the nature of the error.
messagestringalwaysUsing the errorCode as a guide, the message property is a human readable field that can be used to debug.
reqIdnumber(uint32)if givenThe request identifier sent by the client. (only returned if given).

JSON Structures

API Definitions

LatLng

A coordinate on the globe

JSON data structure

{ "lat": number, /* double format */ "lng": number /* double format */ }

Data structure description

Properties
PropertyTypeDescription
latnumber(double)Latitude
lngnumber(double)Longitude

LatLngBounds

A boundary on the globe

JSON data structure

{ "east": number, /* double format */ "north": number, /* double format */ "south": number, /* double format */ "west": number /* double format */ }

Data structure description

Properties
PropertyTypeDescription
eastnumber(double)Eastern longitude
northnumber(double)Northern latitude
southnumber(double)Southern latitude
westnumber(double)Western longitude

Point

A coordinate on a flat surface

JSON data structure

{ "x": number, /* double format */ "y": number /* double format */ }

Data structure description

Properties
PropertyTypeDescription
xnumber(double)Horizontal coordinate
ynumber(double)Vertical coordinate

Size

Dimensions on a flat surface

JSON data structure

{ "height": number, /* double format */ "width": number /* double format */ }

Data structure description

Properties
PropertyTypeDescription
heightnumber(double)Height
widthnumber(double)Width

Square

A boundary on a flat surface

JSON data structure

{ "bottom": number, /* double format */ "left": number, /* double format */ "right": number, /* double format */ "top": number /* double format */ }

Data structure description

Properties
PropertyTypeDescription
bottomnumber(double)Lowest vertical coordinate
leftnumber(double)Left-most horizontal coordinate
rightnumber(double)Right-most horizontal coordinate
topnumber(double)Highest vertical coordinate

Timezone

Timezone definition

JSON data structure

{ "code": string, "dst": boolean, "name": string, "offset": number /* uint16 format */ }

Data structure description

Properties
PropertyTypeDescription
codestringUnique timezone code
dstbooleanIndicates whether this timezone abides by daylight savings
namestringCommon timezone name
offsetnumber(uint16)Minutes offset from GMT

Assets

Asset

The full details of a Person, Vehicle, Trailer, or Asset. Not all properties are present for all asset types. Depending on the kind, the asset will contain properties from the PersonGeneral, VehicleGeneral, TrailerGeneral, or AssetGeneral object. For vehicle type assets, the asset will contain properties from the VehicleAdvanced object, but all other asset types will contain properties from the AssetAdvanced object.

JSON data structure

{ "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "colour": string, "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "engineHours": number, /* double format */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "make": string, "messagingAddress": string, "model": string, "name": string, "notes": string, "odometer": number, /* double format */ "pictures": [ number /* uint64 format */ ], "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "plate": string, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "reference": string, "references": { string: string }, "relationships": [ number /* uint64 format */ ], "serial": string, "tags": [ string ], "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32, "vin": string, "year": number /* uint16 format */ }

Data structure description

Properties
PropertyTypeDescription
attributesobject{string(codified):AssetAttribute}A list of attributes given to this asset by the connection device such as wiring state, VBus, etc.
colourstring
max-length: 22
Primary colour of the vehicle (given in 24bit hex; #RRGGBB)
companynumber(uint64)The company to which this asset belongs.
See: Company.id
contactnumber(uint64)A reference to their Company's Contact information.
See: Contact.id
engineHoursnumber(double)The cumulative duration that the vehicle's engine has been running (in decimal hours).
iconnumber(uint64)The icon that represents this asset on the map and in lists.
See: Icon.id
idnumber(uint64)Unique identifier of this asset.
kindstring(AssetType)Type of asset.
labelsarray[string]Codified label names.
makestring
max-length: 50
Manufacturer's name.
messagingAddressstring
max-length: 254
The fall-back address which is used to send Messages if the asset is a Person and has no Contact phone or email.
modelstring
max-length: 50
Manufacturer's model name/number.
namestring
max-length: 100
This thing's name.
notesstringNotes about it.
odometernumber(double)The cumulative distance travelled in kilometres.
picturesarray[number(uint64)]A list of photos of this thing.
placesobject{string(uint64):AssetPlaceStatus}The current state of this asset's interaction with known Places.
platestring
max-length: 50
The license plate.
positionPositionThe things GPS coordinates including speed, bearing, and street information.
providersarray[string]The list of devices providing events for this asset.
reference
Deprecated since v4.12.
Use asset.references["Reference"] instead.
string
max-length: 100
A custom field used to refer to an external system.
referencesobject{string:string}
max number of values: 10
max-length of keys: 20
max-length of values: 100
Name/value collections of custom fields used to refer to external systems.
relationshipsarray[number(uint64)]A list of assets related to this one; like a Person for a Vehicle (driver).
serialstring
max-length: 50
Manufacturer's unique identification number for this trailer.
tagsarray[string]The codified status tag names.
varray[number(uint32)]
fixed length: 2
Object version keys used to validate synchronization for different properties.
v[0]uint32Properties found in the AssetGeneral object.
v[1]uint32Properties found in the AssetAdvanced object.
vinstring
max-length: 50
Manufacturer's unique identification number (Vehicle Identification Number).
yearnumber(uint16)Year of manufacturing.

AssetAdvanced

Often changing details about a thing.

JSON data structure

{ "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format, see Asset.id */ "odometer": number, /* double format */ "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "relationships": [ number /* uint64 format */ ], "tags": [ string ], "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
attributesobject{string(codified):AssetAttribute}A list of attributes given to this asset by the connection device such as wiring state, VBus, etc.
companynumber(uint64)The company to which this asset belongs.
See: Company.id
idnumber(uint64)Unique identifier of this asset.
See: Asset.id
odometernumber(double)The cumulative distance travelled in kilometres.
placesobject{string(uint64):AssetPlaceStatus}The current state of this asset's interaction with known Places.
positionPositionThe things GPS coordinates including speed, bearing, and street information.
providersarray[string]The list of devices providing events for this asset.
relationshipsarray[number(uint64)]A list of assets related to this one; like a Person for a Vehicle (driver).
tagsarray[string]The codified status tag names.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

AssetAttribute

An attribute given to an asset by a behaviour script.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The related asset which provided this attribute.
See: Asset.id
complexstringParse-able/formatted string for complex display. May contain HTML.
dtsstring(datetime)Date/time stamp from when this attribute was recorded (or reported) by the device.
globalbooleanWhen false, indicates that this attribute is used by an internal system and should be left untouched.
namestring
max-length: 100
Display name of the attribute.
providerstringThe device which provided this attribute.
See: Provider.id
rawobjectRaw value like 3.76 (volts) or true (on).
simplestringComputed/contextual value from the behaviour. Like "3.76 volts" or "on".
unitstringText representation of unit like "°C" or "Km".
See: Units

AssetDeleted

Relevant details of an asset which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this asset belonged.
idnumber(uint64)Unique identifier of this asset.

AssetGeneral

Seldom changing details about a thing.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format, see Asset.id */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "messagingAddress": string, "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "reference": string, "references": { string: string }, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this asset belongs.
See: Company.id
iconnumber(uint64)The icon that represents this asset on the map and in lists.
See: Icon.id
idnumber(uint64)Unique identifier of this asset.
See: Asset.id
kindstring(AssetType)Type of asset.
labelsarray[string]Codified label names.
messagingAddressstring
max-length: 254
The fall-back address which is used to send Messages if the asset is a Person and has no Contact phone or email.
namestring
max-length: 100
This thing's name.
notesstringNotes about it.
picturesarray[number(uint64)]A list of photos of this thing.
reference
Deprecated since v4.12.
Use asset.references["Reference"] instead.
string
max-length: 100
A custom field used to refer to an external system.
referencesobject{string:string}
max number of values: 10
max-length of keys: 20
max-length of values: 100
Name/value collections of custom fields used to refer to external systems.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

AssetPlaceStatus

A simple status for each place an Asset visits.

JSON data structure

{ "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ }

Data structure description

Properties
PropertyTypeDescription
enterstring(datetime)The date/time stamp for when the Asset first began interacting with the Place.
kindstring(AssetPlaceStatusType)The kind of interaction.
lateststring(datetime)The most recent date/time stamp for the interaction.

AssetSuspended

Relevant details of an asset which was suspended.

JSON data structure

{ "company": number, /* uint64 format */ "icon": number, /* uint64 format */ "id": number, /* uint64 format */ "kind": string, /* one of the AssetType values */ "labels": [ string /* codified format */ ], "name": number, /* uint64 format */ "since": string, /* datetime format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this asset belonged.
iconnumber(uint64)The identifier of the icon used to represent this asset in the UI.
idnumber(uint64)Unique identifier of this asset.
kindstring(AssetType)The type of Asset.
labelsarray[string(codified)]A list of codified label names to categorize/organize this asset.
namenumber(uint64)Name for the asset.
sincestring(datetime)Timestamp from when the asset was suspended.
varray[number(uint32)]The asset version keys at the time of suspension.

PersonGeneral

Seldom changing details about a person.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format, see Asset.id */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "messagingAddress": string, "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "reference": string, "references": { string: string }, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this asset belongs.
See: Company.id
contactnumber(uint64)A reference to their Company's Contact information.
See: Contact.id
iconnumber(uint64)The icon that represents this asset on the map and in lists.
See: Icon.id
idnumber(uint64)Unique identifier of this asset.
See: Asset.id
kindstring(AssetType)Type of asset.
labelsarray[string]Codified label names.
messagingAddressstring
max-length: 254
The fall-back address which is used to send Messages if the asset is a Person and has no Contact phone or email.
namestring
max-length: 100
This thing's name.
notesstringNotes about it.
picturesarray[number(uint64)]A list of photos of this thing.
reference
Deprecated since v4.12.
Use asset.references["Reference"] instead.
string
max-length: 100
A custom field used to refer to an external system.
referencesobject{string:string}
max number of values: 10
max-length of keys: 20
max-length of values: 100
Name/value collections of custom fields used to refer to external systems.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

Position

GPS position information

JSON data structure

{ "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }

Data structure description

Properties
PropertyTypeDescription
accuracynumber(uint32)Threshold in meters for the accuracy of a position
addressstringThe road segment description
altitudenumber(double)Distance in meters from the sea level
bearingnumber(uint16)Direction of travel
dtsstring(datetime)The Date/Time of the GPS reading
latnumber(double)Latitude
lngnumber(double)Longitude
originstringProvider Identifier
speednumber(double)Speed
speedLimitnumber(double)The posted speed limit for the road segment
streetAddressStreetAddressA better description of the current road-segment

StreetAddress

A road segment description

JSON data structure

{ "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string }

Data structure description

Properties
PropertyTypeDescription
citystringCity name.
countrystringCountry code. Codes should be a value from ISO 3166-1 alpha-2.
isTollbooleanIndicates that there is a toll for the current road segment.
numberstringHouse number.
postalstringPostal or zip code.
provincestringProvince or state code. Codes should be a value from ISO 3166-2.
regionstringRegion name.
streetstringFull street name.

TrailerGeneral

Seldom changing details about a trailer.

JSON data structure

{ "colour": string, "company": number, /* uint64 format, see Company.id */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format, see Asset.id */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "make": string, "messagingAddress": string, "model": string, "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "plate": string, "reference": string, "references": { string: string }, "serial": string, "v": [ number /* uint32 format */ ], "year": number /* uint16 format */ }

Data structure description

Properties
PropertyTypeDescription
colourstring
max-length: 22
Primary colour of the trailer (given in 24bit hex; #RRGGBB)
companynumber(uint64)The company to which this asset belongs.
See: Company.id
iconnumber(uint64)The icon that represents this asset on the map and in lists.
See: Icon.id
idnumber(uint64)Unique identifier of this asset.
See: Asset.id
kindstring(AssetType)Type of asset.
labelsarray[string]Codified label names.
makestring
max-length: 50
Manufacturer's name.
messagingAddressstring
max-length: 254
The fall-back address which is used to send Messages if the asset is a Person and has no Contact phone or email.
modelstring
max-length: 50
Manufacturer's model name/number.
namestring
max-length: 100
This thing's name.
notesstringNotes about it.
picturesarray[number(uint64)]A list of photos of this thing.
platestring
max-length: 50
The license plate.
reference
Deprecated since v4.12.
Use asset.references["Reference"] instead.
string
max-length: 100
A custom field used to refer to an external system.
referencesobject{string:string}
max number of values: 10
max-length of keys: 20
max-length of values: 100
Name/value collections of custom fields used to refer to external systems.
serialstring
max-length: 50
Manufacturer's unique identification number for this trailer.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.
yearnumber(uint16)Year of manufacturing.

VehicleAdvanced

Often changing details about a vehicle.

JSON data structure

{ "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "company": number, /* uint64 format, see Company.id */ "engineHours": number, /* double format */ "id": number, /* uint64 format, see Asset.id */ "odometer": number, /* double format */ "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "relationships": [ number /* uint64 format */ ], "tags": [ string ], "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
attributesobject{string(codified):AssetAttribute}A list of attributes given to this asset by the connection device such as wiring state, VBus, etc.
companynumber(uint64)The company to which this asset belongs.
See: Company.id
engineHoursnumber(double)The cumulative duration that the vehicle's engine has been running (in decimal hours).
idnumber(uint64)Unique identifier of this asset.
See: Asset.id
odometernumber(double)The cumulative distance travelled in kilometres.
placesobject{string(uint64):AssetPlaceStatus}The current state of this asset's interaction with known Places.
positionPositionThe things GPS coordinates including speed, bearing, and street information.
providersarray[string]The list of devices providing events for this asset.
relationshipsarray[number(uint64)]A list of assets related to this one; like a Person for a Vehicle (driver).
tagsarray[string]The codified status tag names.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

VehicleGeneral

Seldom changing details about a vehicle.

JSON data structure

{ "colour": string, "company": number, /* uint64 format, see Company.id */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format, see Asset.id */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "make": string, "messagingAddress": string, "model": string, "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "plate": string, "reference": string, "references": { string: string }, "v": [ number /* uint32 format */ ], "vin": string, "year": number /* uint16 format */ }

Data structure description

Properties
PropertyTypeDescription
colourstring
max-length: 22
Primary colour of the vehicle (given in 24bit hex; #RRGGBB)
companynumber(uint64)The company to which this asset belongs.
See: Company.id
iconnumber(uint64)The icon that represents this asset on the map and in lists.
See: Icon.id
idnumber(uint64)Unique identifier of this asset.
See: Asset.id
kindstring(AssetType)Type of asset.
labelsarray[string]Codified label names.
makestring
max-length: 50
Manufacturer's name.
messagingAddressstring
max-length: 254
The fall-back address which is used to send Messages if the asset is a Person and has no Contact phone or email.
modelstring
max-length: 50
Manufacturer's model name/number.
namestring
max-length: 100
This thing's name.
notesstringNotes about it.
picturesarray[number(uint64)]A list of photos of this thing.
platestring
max-length: 50
The license plate.
reference
Deprecated since v4.12.
Use asset.references["Reference"] instead.
string
max-length: 100
A custom field used to refer to an external system.
referencesobject{string:string}
max number of values: 10
max-length of keys: 20
max-length of values: 100
Name/value collections of custom fields used to refer to external systems.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.
vinstring
max-length: 50
Manufacturer's unique identification number (Vehicle Identification Number).
yearnumber(uint16)Year of manufacturing.

Behaviours

Behaviour

The applied behaviour which includes all parameters and targets specific assets.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "filters": string, /* expression format */ "id": number, /* uint64 format */ "name": string, "notes": string, "parameters": { string: { "context": string, "notes": string, "type": string, /* one of the BehaviourParameterType values */ "value": string } }, "priority": number, /* uint8 format */ "script": number, /* uint64 format, see BehaviourScript.id */ "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this behaviour belongs.
See: Company.id
filtersstring(expression)A search pattern used to filter the providers which can implement this behaviour.
idnumber(uint64)Unique identifier of this behaviour.
namestring
max-length: 100
The name of this behaviour.
notesstringNotes.
parametersobject{string:BehaviourParameter}The list of defined variable name/value pairs for the script requires.
prioritynumber(uint8)The priority flag allows you to define an execution order for all behaviours for a provider.
scriptnumber(uint64)The script which this behaviour implements.
See: BehaviourScript.id
targetsstring(expression)The search pattern used to target the assets which will embed this behaviour in their execution context.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

BehaviourDeleted

Relevant details of a behaviour which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number, /* uint64 format */ "script": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this behaviour belonged.
idnumber(uint64)Unique identifier of this behaviour.
scriptnumber(uint64)The script this behaviour implemented.

BehaviourLog

A debug message available to script writers to help debug and trace output from a BehaviourScript.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "behaviour": number, /* uint64 format, see Behaviour.id */ "character": number, /* uint32 format */ "company": number, /* uint64 format, see Company.id */ "dts": string, /* datetime format */ "id": number, /* uint64 format */ "kind": string, /* one of the BehaviourLogType values */ "line": number, /* uint32 format */ "message": string, "script": number, /* uint64 format, see BehaviourScript.id */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset which whose behaviours created this log entry.
See: Asset.id
behaviournumber(uint64)The behaviour to which this log message belongs.
See: Behaviour.id
characternumber(uint32)The character column where the error was generated.
companynumber(uint64)The company to which this log message belongs.
See: Company.id
dtsstring(datetime)When the log entry was generated by the script.
idnumber(uint64)Unique identifier of this log message.
kindstring(BehaviourLogType)The category of message.
linenumber(uint32)The line number of the script which generated this message.
messagestringThe body of the message.
scriptnumber(uint64)The script which generated this log message.
See: BehaviourScript.id
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

BehaviourLogDeleted

Relevant details of a log message which was deleted.

JSON data structure

{ "behaviour": number, /* uint64 format */ "company": number, /* uint64 format */ "id": number, /* uint64 format */ "script": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
behaviournumber(uint64)The behaviour to which this log message belonged.
companynumber(uint64)The company to which the behaviour belonged.
idnumber(uint64)Unique identifier of this log message.
scriptnumber(uint64)The script to which this log message belonged.

BehaviourParameter

Definition of an argument passed to a Behaviour Script.

JSON data structure

{ "context": string, "notes": string, "type": string, /* one of the BehaviourParameterType values */ "value": string }

Data structure description

Properties
PropertyTypeDescription
contextstringGives a hint to the client on the best UI to use for editing. For example, "checkbox" is a good UI hint for boolean parameter types.
notesstringUsage notes.
typestring(BehaviourParameterType)Simple type information for the compiler.
valuestringThe value is given as a string, but parsed into native type when compiled.

BehaviourScript

Business logic run by the system to react to GPS events and device information.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "compiles": boolean, "fill": string, "filters": string, /* expression format */ "global": boolean, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "name": string, "notes": string, "parameters": { string: { "context": string, "notes": string, "type": string, /* one of the BehaviourParameterType values */ "value": string } }, "source": string, "stroke": string, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this script belongs.
See: Company.id
compilesbooleanFlag set by the compiler if this code compiles
fillstring
max-length: 22
The background colour given to this script for easy visual identification (given in 24bit hex; #RRGGBB)
filtersstring(expression)A list of targeting expressions. These expressions are defaults for derived Behaviours.
globalbooleanIndicates whether this script is available to child companies.
graphicstring(codified)
max-length: 22
The codified graphic name given to this script for easy visual identification.
idnumber(uint64)Unique identifier of this script.
namestring
max-length: 100
The nickname given to this script.
notesstringUsage notes and instructions for users on how best to setup this script.
parametersobject{string:BehaviourParameter}Listed parameters for the Behaviour function.
sourcestring
max-length: 8060
The source code.
strokestring
max-length: 22
The text/graphic colour given to this script for easy visual identification (given in 24bit hex; #RRGGBB)
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

BehaviourScriptDeleted

Relevant details of a script which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this script belonged.
idnumber(uint64)Unique identifier of this script.

Billing

BillableHostingDiscount

A discount rule for assets

JSON data structure

{ "amount": number, /* double format */ "company": number, /* uint64 format, see Company.id */ "end": string, /* datetime format */ "id": number, /* uint64 format */ "limit": number, /* uint32 format */ "name": string, "notes": string, "percentage": boolean, "profile": number, /* uint64 format, see BillingProfile.id */ "reference": string, "services": [ string /* one of the BillableHostingType values */ ], "start": string, /* datetime format */ "suspended": boolean, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
amountnumber(double)Cost per cycle for this plan
companynumber(uint64)Unique identifier of the Company that owns this hosting rule.
See: Company.id
endstring(datetime)Date this billing rule is applied until; null means it never ends. These dates are used to determine how much of the cycle is billed.
idnumber(uint64)Unique identifier of this hosting rule.
limitnumber(uint32)The number of units to which this billing rule applies. Should be a non-zero value; null means unlimited
namestring
max-length: 254
The name of this billing rule.
notesstringNotes about billing this rule.
percentagebooleanWhen true, the amount is used as a percentage value instead of a currency values.
profilenumber(uint64)Unique identifier of this rule's billing profile.
See: BillingProfile.id
referencestring
max-length: 100
A custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
servicesarray[string(BillableHostingType)]The type of services being discounted.
startstring(datetime)Date this billing rule takes effect. These dates are used to determine how much of the cycle is billed.
suspendedbooleanDoes this hosting rule apply to suspended resources
targetsstring(expression)Which assets are targetted by this hosting rule
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

BillableHostingDiscountDeleted

Relevant details of a hosting Discount which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this hosting discount belonged.
idnumber(uint64)Unique identifier of this hosting discount.

BillableHostingLicense

A hardware license for providers

JSON data structure

{ "amount": number, /* double format */ "company": number, /* uint64 format, see Company.id */ "end": string, /* datetime format */ "id": number, /* uint64 format */ "kind": string, /* one of the BillableLicenseType values */ "limit": number, /* uint32 format */ "name": string, "notes": string, "profile": number, /* uint64 format, see BillingProfile.id */ "reference": string, "start": string, /* datetime format */ "suspended": boolean, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
amountnumber(double)Cost per cycle for this plan
companynumber(uint64)Unique identifier of the Company that owns this hosting rule.
See: Company.id
endstring(datetime)Date this billing rule is applied until; null means it never ends. These dates are used to determine how much of the cycle is billed.
idnumber(uint64)Unique identifier of this hosting rule.
kindstring(BillableLicenseType)The type of hardware license
limitnumber(uint32)The number of units to which this billing rule applies. Should be a non-zero value; null means unlimited
namestring
max-length: 254
The name of this billing rule.
notesstringNotes about billing this rule.
profilenumber(uint64)Unique identifier of this rule's billing profile.
See: BillingProfile.id
referencestring
max-length: 100
A custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
startstring(datetime)Date this billing rule takes effect. These dates are used to determine how much of the cycle is billed.
suspendedbooleanDoes this hosting rule apply to suspended resources
targetsstring(expression)Which assets are targetted by this hosting rule
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

BillableHostingLicenseDeleted

Relevant details of a hosting license which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this hosting license belonged.
idnumber(uint64)Unique identifier of this hosting license.

BillableHostingRule

A billing rule for assets

JSON data structure

{ "amount": number, /* double format */ "company": number, /* uint64 format, see Company.id */ "end": string, /* datetime format */ "id": number, /* uint64 format */ "limit": number, /* uint32 format */ "name": string, "notes": string, "profile": number, /* uint64 format, see BillingProfile.id */ "reference": string, "service": string, /* one of the BillableHostingType values */ "start": string, /* datetime format */ "suspended": boolean, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
amountnumber(double)Cost per cycle for this plan
companynumber(uint64)Unique identifier of the Company that owns this hosting rule.
See: Company.id
endstring(datetime)Date this billing rule is applied until; null means it never ends. These dates are used to determine how much of the cycle is billed.
idnumber(uint64)Unique identifier of this hosting rule.
limitnumber(uint32)The number of units to which this billing rule applies. Should be a non-zero value; null means unlimited
namestring
max-length: 254
The name of this billing rule.
notesstringNotes about billing this rule.
profilenumber(uint64)Unique identifier of this rule's billing profile.
See: BillingProfile.id
referencestring
max-length: 100
A custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
servicestring(BillableHostingType)The type of service being billed.
startstring(datetime)Date this billing rule takes effect. These dates are used to determine how much of the cycle is billed.
suspendedbooleanDoes this hosting rule apply to suspended resources
targetsstring(expression)Which assets are targetted by this hosting rule
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

BillableHostingRuleDeleted

Relevant details of a hosting rule which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this hosting rule belonged.
idnumber(uint64)Unique identifier of this hosting rule.

BillableSmsProfile

Description of a tiered SMS messaging limit

JSON data structure

{ "amount": number, /* double format */ "limit": number /* uint32 format */ }

Data structure description

Properties
PropertyTypeDescription
amountnumber(double)Cost per SMS message sent. Received messages are free.
limitnumber(uint32)The maximum number of messages sent per cycle

BillingProfile

A profile used to generate billable orders for a customer.

JSON data structure

{ "billee": number, /* uint64 format, see Company.id */ "company": number, /* uint64 format, see Company.id */ "currency": string, /* one of the BillingCurrency values */ "cycle": string, /* one of the BillingCycle values */ "cycleEnd": string, /* datetime format */ "cyclePostDated": boolean, "cycleStart": string, /* datetime format */ "googleServicesEnabled": boolean, "id": number, /* uint64 format */ "messages": [ { "amount": number, /* double format */ "limit": number /* uint32 format */ } ], "name": string, "notes": string, "target": number, /* uint64 format, see Company.id */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
billeenumber(uint64)Unique identifier of the Company receiving the bill. Most of the time, this value is the same as the target.
See: Company.id
companynumber(uint64)Unique identifier of the Company that owns this profile and is sending the bill.
See: Company.id
currencystring(BillingCurrency)kind of money
cyclestring(BillingCycle)Repeating cycle used for generating bills
cycleEndstring(datetime)When should the cycle end (customer cancelled)
cyclePostDatedbooleanPro-rated, or post-dated.
cycleStartstring(datetime)When is the first day of the billing cycle
googleServicesEnabledbooleanAre the Google services available to be proxied by the service?
idnumber(uint64)Unique identifier of this billing profile
messagesarray[BillableSmsProfile]SMS messaging tiers
namestring
max-length: 254
The name for this profile
notesstring
max-length: 1000
Notes about the billing profile for the billee or target.
targetnumber(uint64)Unique identifier of the Company to which this rule pertains.
See: Company.id
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

BillingProfileDeleted

Relevant details of a billing profile which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this billing profile belonged.
idnumber(uint64)Unique identifier of this billing profile.

BillingReport

Report generated per billee company.

JSON data structure

{ "billee": number, /* uint64 format, see Company.id */ "company": number, /* uint64 format, see Company.id */ "currency": string, /* one of the BillingCurrency values */ "endDate": string, /* datetime format */ "hostingBreakdown": { string: array }, "id": number, /* uint64 format */ "name": string, "notes": string, "profile": number, /* uint64 format, see BillingProfile.id */ "startDate": string, /* datetime format */ "status": ErrorCodes, "summary": [ { "hostingSummary": [ { "count": number, /* double format */ "kind": string, /* one of the BillableHostingType values */ "total": number /* double format */ } ], "name": string, "notes": string, "parent": number, /* uint64 format, see Company.id */ "target": number /* uint64 format, see Company.id */ } ], "total": number, /* double format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
billeenumber(uint64)Unique identifier of the Company receiving the bill.
See: Company.id
companynumber(uint64)The company to which this report belongs and is sending the bill.
See: Company.id
currencystring(BillingCurrency)Currency being billed in
endDatestring(datetime)Last day of the billing cycle
hostingBreakdownobject{string:array[]}Individual amounts per targeted assets used to calculate the results of the report.
idnumber(uint64)Unique identifier
namestring
max-length: 100
Name of this report.
notesstringNotes about this report.
profilenumber(uint64)The profile to which this report belongs
See: BillingProfile.id
startDatestring(datetime)First day of the billing cycle
statusErrorCodesThe processing status of this report. (Queued, Running, Completed or Failed)
summaryarray[BillingReportSummary]Summary contains totals per target for this billee
totalnumber(double)Total amount being billed.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

BillingReportDeleted

Relevant details of a billing report which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this billing report belonged.
idnumber(uint64)Unique identifier of this billing report.

BillingReportHostingBreakdown

Full breakdown of billable details per targeted asset.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "billableDays": number, /* double format */ "cost": number, /* double format */ "created": string, /* datetime format */ "deleted": string, /* datetime format */ "discount": number, /* double format */ "labels": [ string /* see LabelStyle.code */ ], "name": string, "notes": string, "phoneNumbers": [ number /* uint64 format */ ], "providers": [ string /* see Provider.id */ ], "suspended": string, /* datetime format */ "suspendedCost": number, /* double format */ "suspendedDays": number, /* double format */ "suspendedDiscount": number, /* double format */ "total": number, /* double format */ "updatedDts": string /* datetime format */ }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this breakdown instance belongs.
See: Asset.id
billableDaysnumber(double)Number of days this Asset is being billed for.
costnumber(double)Cost per billing cycle for this asset.
createdstring(datetime)Indicates when this Asset was created.
deletedstring(datetime)Indicates when this Asset was deleted.
discountnumber(double)Discount applied per billing cycle for this asset.
labelsarray[string]Codified label names.
See: LabelStyle.code
namestring
max-length: 100
Asset's name.
notesstringNotes about the asset.
phoneNumbersarray[number(uint64)]The list of phone numbers for this asset.
providersarray[string]The list of devices providing events for this asset.
See: Provider.id
suspendedstring(datetime)Indicates when this Asset wass suspended from event processing.
suspendedCostnumber(double)Cost per billing cycle for suspended asset.
suspendedDaysnumber(double)Number of days this Asset was suspended.
suspendedDiscountnumber(double)Discount applied per billing cycle for suspended asset.
totalnumber(double)Total amount being billed for this asset.
updatedDtsstring(datetime)Indicates when this Asset was last updated.

BillingReportHostingSummary

Summarized bill per targeted asset.

JSON data structure

{ "count": number, /* double format */ "kind": string, /* one of the BillableHostingType values */ "total": number /* double format */ }

Data structure description

Properties
PropertyTypeDescription
countnumber(double)Number of items for this service.
kindstring(BillableHostingType)Service being billed
totalnumber(double)Total amount being billed for this service.

BillingReportSummary

Summarized bill per target.

JSON data structure

{ "hostingSummary": [ { "count": number, /* double format */ "kind": string, /* one of the BillableHostingType values */ "total": number /* double format */ } ], "name": string, "notes": string, "parent": number, /* uint64 format, see Company.id */ "target": number /* uint64 format, see Company.id */ }

Data structure description

Properties
PropertyTypeDescription
hostingSummaryarray[BillingReportHostingSummary]Summary contains totals per type of hosting for this target
namestring
max-length: 100
Target's name.
notesstringNotes about the target.
parentnumber(uint64)The target company's parent.
See: Company.id
targetnumber(uint64)The target company to which this summary instance belongs.
See: Company.id

Companies

Company

The organization to which everything else belongs. All other objects are either a child of a company, or a child of an object which belongs to a company.

JSON data structure

{ "id": number, /* uint64 format */ "labels": { string /* LabelStyle format */ : { "code": string, /* codified format */ "fill": string, "graphic": string, /* codified format */ "name": string, "notes": string, "stroke": string } }, "name": string, "notes": string, "parent": number, /* uint64 format, see Company.id */ "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "tags": { string /* LabelStyle format */ : { "code": string, /* codified format */ "fill": string, "graphic": string, /* codified format */ "name": string, "notes": string, "stroke": string } }, "userGroups": [ { "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format */ "name": string, "notes": string, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] } ], "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32, "v[2]": uint32, "v[3]": uint32, "v[4]": uint32, "v[5]": uint32 }

Data structure description

Properties
PropertyTypeDescription
idnumber(uint64)Unique identifier of the Company.
labelsobject{string(LabelStyle):LabelStyle}The styles for labels added to Assets, Places, and other things.
namestring
max-length: 100
The organizational name.
notesstringNotes.
parentnumber(uint64)The unique identifier of this company's parent organization.
See: Company.id
passwordPolicyPasswordPolicyThe password complexity and expiry policy.
sessionPolicySessionPolicyThe session lifetime policy.
tagsobject{string(LabelStyle):LabelStyle}The styles for status tags added to Assets.
userGroupsarray[UserGroup]List of groups available for users of this company.
varray[number(uint32)]
fixed length: 6
Object version keys used to validate synchronization for different properties.
v[0]uint32Properties found in the CompanyGeneral object.
v[1]uint32Is not yet in use.
v[2]uint32Is not yet in use.
v[3]uint32Properties found in the CompanyLabels object.
v[4]uint32Properties found in the CompanyPolicies object.
v[5]uint32Properties found in the CompanyReseller object.

CompanyDeleted

Relevant details of a company which was deleted.

JSON data structure

{ "id": number, /* uint64 format */ "id": number, /* uint64 format */ "parent": number, /* uint64 format */ "parent": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
idnumber(uint64)Unique identifier of this company.
parentnumber(uint64)Unique identifier of this parent-organization's company.

CompanyDeleted

Relevant details of a company which was restored.

JSON data structure

{ "id": number, /* uint64 format */ "id": number, /* uint64 format */ "parent": number, /* uint64 format */ "parent": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
idnumber(uint64)Unique identifier of this company.
parentnumber(uint64)Unique identifier of this parent-organization's company.

CompanyGeneral

General details about a company.

JSON data structure

{ "id": number, /* uint64 format, see Company.id */ "name": string, "notes": string, "parent": number, /* uint64 format, see Company.id */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
idnumber(uint64)Unique identifier of the Company.
See: Company.id
namestring
max-length: 100
The organizational name.
notesstringNotes.
parentnumber(uint64)The unique identifier of this company's parent organization.
See: Company.id
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

CompanyLabels

The colours and styles used by this company to tag and label Assets, Places, and other things.

JSON data structure

{ "id": number, /* uint64 format, see Company.id */ "labels": { string /* LabelStyle format */ : { "code": string, /* codified format */ "fill": string, "graphic": string, /* codified format */ "name": string, "notes": string, "stroke": string } }, "parent": number, /* uint64 format, see Company.id */ "tags": { string /* LabelStyle format */ : { "code": string, /* codified format */ "fill": string, "graphic": string, /* codified format */ "name": string, "notes": string, "stroke": string } }, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
idnumber(uint64)Unique identifier of the Company.
See: Company.id
labelsobject{string(LabelStyle):LabelStyle}The styles for labels added to Assets, Places, and other things.
parentnumber(uint64)The unique identifier of this company's parent organization.
See: Company.id
tagsobject{string(LabelStyle):LabelStyle}The styles for status tags added to Assets.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

CompanyPolicies

The password and session lifetime policies for this Company.

JSON data structure

{ "id": number, /* uint64 format, see Company.id */ "parent": number, /* uint64 format, see Company.id */ "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
idnumber(uint64)Unique identifier of the Company.
See: Company.id
parentnumber(uint64)The unique identifier of this company's parent organization.
See: Company.id
passwordPolicyPasswordPolicyThe password complexity and expiry policy.
sessionPolicySessionPolicyThe session lifetime policy.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

LabelStyle

Visual style identification helper.

JSON data structure

{ "code": string, /* codified format */ "fill": string, "graphic": string, /* codified format */ "name": string, "notes": string, "stroke": string }

Data structure description

Properties
PropertyTypeDescription
codestring(codified)The codified name of this style
fillstring
max-length: 22
The background colour given to this style for easy visual identification (given in 24bit hex; #RRGGBB)
graphicstring(codified)
max-length: 22
The codified graphic name given to this script for easy visual identification.
namestring
max-length: 100
The name of this visual style.
notesstringNotes!
strokestring
max-length: 22
The text/graphic colour given to this style for easy visual identification (given in 24bit hex; #RRGGBB)

PasswordPolicy

The password complexity and expiry policy.

JSON data structure

{ "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }

Data structure description

Properties
PropertyTypeDescription
DEFAULT_MINIMUM_LENGTHnumber(uint8)Default minimum length of a password.
expireModestring(ExpiryModePolicy)Defines how passwords expire.
expireThresholdnumber(uint8)The threshold for expiry.
includeLettersbooleanDo passwords require alphabetical characters.
includeNumbersbooleanDo passwords require numeric characters.
includeSpecialbooleanDo passwords require non-alphanumeric characters.
includeUpperLowerbooleanDo passwords require upper-case and lower-case letters.
MINIMUM_LENGTHnumber(uint8)Minimum length of a password; no policy can be set lower than this.
minimumLengthnumber(uint8)The minimum number of characters required.

SessionPolicy

The session lifetime policy.

JSON data structure

{ "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }

Data structure description

Properties
PropertyTypeDescription
applicationsarray[string]The list of applications users are allowed to use to create sessions.
DEFAULT_LIFETIME_MINUTESnumber(int32)Default lifetime of a session.
DEFAULT_MAX_SESSIONSnumber(uint8)Default for the maximum sessions per user.
expireTimeoutnumber(uint16)The lifetime duration of a session in minutes.
idleAllowedbooleanDefines whether a session should be automatically killed when the connection breaks.
ipv4Rangesarray[string(ipv4)]Restrict session creation to only the provided IPv4 ranges (using CIDR slash-notation). Leave blank for Internet access.
maxSessionsnumber(uint8)The maximum number of sessions allowed per user.
multiUserstring(MultiUserPolicy)Defines the behaviour of the system when a user creates multiple sessions.

Contacts

Contact

Contact information

JSON data structure

{ "addresses": { string: string /* email format */ }, "company": number, /* uint64 format, see Company.id */ "dates": { string: string /* datetime format */ }, "emails": { string: string /* email format */ }, "id": number, /* uint64 format */ "name": string, "notes": string, "options": { string: string }, "otherNames": { string: string }, "phones": { string: number /* uint64 format */ }, "pictures": [ number /* uint64 format */ ], "roles": [ string /* codified format */ ], "urls": { string: string }, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
addressesobject{string:string(email)}
max-length of values: 254
Mailing addresses. Use the object key like a name of the address. Example keys: Home, Work, Park, etc.
companynumber(uint64)The company to which this contact belongs
See: Company.id
datesobject{string:string(datetime)}Date information. Use the object key like a name of the date. Example keys: Birthday, Started Date, Retired On, etc.
emailsobject{string:string(email)}
max-length of values: 254
Email addresses. Use the object key like a name of the address. Example keys: Home, Work, Support, Old, etc.
idnumber(uint64)Unique identifier of this contact.
namestring
max-length: 100
The person's name
notesstringNotes about this person.
optionsobject{string:string}
max-length of values: 254
Uncategorized information. Use the object keys and values however you'd like.
otherNamesobject{string:string}
max-length of values: 254
A collection of other names this person might go by. Use the object key like a name identifier. Example keys: Initials, Nickname, Maiden Name, etc.
phonesobject{string:number(uint64)}Phone numbers. Use the object key like a name of the phone number. Example keys: Mobile, Fax, Home, Office, etc.
picturesarray[number(uint64)]Pictures of this Contact.
rolesarray[string(codified)]A list of roles they play in the Company.
urlsobject{string:string}
max-length of values: 254
Websites and other online resources. Use the object key like a name of the address. Example keys: Downloads, Support, FTP, etc.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ContactDeleted

Relevant details of a contact which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this contact belonged.
idnumber(uint64)Unique identifier of this contact.

Dispatch

AssetDispatch

The current state of an asset's dispatch tasks, route, and progress.

JSON data structure

{ "tasks": [ { "address": string, "arrived": string, /* datetime format */ "asset": number, /* uint64 format, see Asset.id */ "attachments": [ number /* uint64 format */ ], "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "created": string, /* datetime format */ "duration": string, /* duration format */ "eta": string, /* datetime format */ "id": number, /* uint64 format */ "instructions": string, "latlng": { "lat": number, /* double format */ "lng": number /* double format */ }, "name": string, "notes": string, "place": number, /* uint64 format, see Place.id */ "reference": string, "references": { string: string }, "signatory": string, "signature": boolean, "status": string, /* one of the TaskStatus values */ "updatedBy": string, "updatedUtc": string, /* datetime format */ "v": [ number /* uint32 format */ ] } ] }

Data structure description

Properties
PropertyTypeDescription
tasksarray[DispatchTask]The current list of tasks assigned to the asset.

DispatchTask

A task assigned to an asset which represents a coordinate on the map which must be visited.

JSON data structure

{ "address": string, "arrived": string, /* datetime format */ "asset": number, /* uint64 format, see Asset.id */ "attachments": [ number /* uint64 format */ ], "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "created": string, /* datetime format */ "duration": string, /* duration format */ "eta": string, /* datetime format */ "id": number, /* uint64 format */ "instructions": string, "latlng": { "lat": number, /* double format */ "lng": number /* double format */ }, "name": string, "notes": string, "place": number, /* uint64 format, see Place.id */ "reference": string, "references": { string: string }, "signatory": string, "signature": boolean, "status": string, /* one of the TaskStatus values */ "updatedBy": string, "updatedUtc": string, /* datetime format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
addressstring
max-length: 500
The street address of where the task must be completed.
arrivedstring(datetime)The date/time stamp of when the asset arrived at this task.
assetnumber(uint64)The asset to which this task belongs.
See: Asset.id
attachmentsarray[number(uint64)]A list of hosted Document identifiers attached to this task.
companynumber(uint64)The company to which this task belongs.
See: Company.id
completedstring(datetime)The date/time stamp of when this task was completed.
createdstring(datetime)When this task was created.
durationstring(duration)The optional expected duration of the work for this task.
etastring(datetime)The optional estimated time of arrival for the asset.
idnumber(uint64)Unique identifier of this task.
instructionsstringInstructions (filled out by dispatcher) for the field-employee to help them completed the task.
latlngLatLngThe lat/long coordinates of where the task must be completed.
namestring
max-length: 100
The name of this task or the work needed to be performed.
notesstringNotes about the status of the work filled in by field-employee.
placenumber(uint64)An optional place which can be used as a template instead of providing lat/long coordinates and a street address.
See: Place.id
reference
Deprecated since v4.12.
Use dispatchTask.references["Reference"] instead.
string
max-length: 100
A custom field used to refer to an external system. Examples are a work order, pick-up, waybill, etc...
referencesobject{string:string}
max number of values: 10
max-length of keys: 20
max-length of values: 100
Name/value collections of custom fields used to refer to external systems.
signatorystring
max-length: 100
The name of the person who signed the task's completion.
signaturebooleanIndicates whether the task has a signature.
statusstring(TaskStatus)The progress of this task.
updatedBystringEither the user's login, or provider's identifier that changed this task
updatedUtcstring(datetime)Timestamp from the last change made to this task
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

DispatchTaskDeleted

Relevant details of a task which was deleted.

JSON data structure

{ "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this task belonged.
companynumber(uint64)The company to which the asset belonged.
idnumber(uint64)Unique identifier of this task.

File Hosting

DashcamData

An image or video received from a dashcam-enabled provider or asset.

JSON data structure

{ "altitude": number, /* double format */ "asset": number, /* uint64 format, see Asset.id */ "camera": number, /* uint8 format */ "company": number, /* uint64 format, see Company.id */ "end": string, /* datetime format */ "guid": string, "heading": number, /* double format */ "kind": string, /* one of the DashcamDataType values */ "latitude": number, /* double format */ "longitude": number, /* double format */ "provider": string, /* see Provider.id */ "speed": number, /* double format */ "start": string /* datetime format */ }

Data structure description

Properties
PropertyTypeDescription
altitudenumber(double)Altitude of the start of the resource.
assetnumber(uint64)Unique identifier of the asset tied to the provider at the time.
See: Asset.id
cameranumber(uint8)Number assigned to the camera that took the image/video.
companynumber(uint64)Unique identifier of the company of the provider.
See: Company.id
endstring(datetime)Timestamp of when this resource ended. For images, the start and end and the same.
guidstringUnique identifier of this resource.
headingnumber(double)Heading of the start of the resource.
kindstring(DashcamDataType)The type of data being stored.
latitudenumber(double)Latitude of the start of the resource.
longitudenumber(double)Longitude of the start of the resource.
providerstringUnique identifier of the provider that sent the data.
See: Provider.id
speednumber(double)Speed of the start of the resource.
startstring(datetime)Timestamp of when this resource started. For images, the start and end and the same.

Document

A file stored temporarily by the system.

JSON data structure

{ "bytes": number, /* uint64 format */ "company": number, /* uint64 format, see Company.id */ "expiry": string, /* datetime format */ "id": number, /* uint64 format */ "mime": string, "name": string, "notes": string, "src": string, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
bytesnumber(uint64)The file-size on the disk.
companynumber(uint64)The company to which this file belongs.
See: Company.id
expirystring(datetime)The date and time this fill will be automatically purged from our system.
idnumber(uint64)Unique identifier of this file.
mimestring
max-length: 50
The MIME type of the file.
namestring
max-length: 100
The file name of this file.
notesstringNotes about this file.
srcstring
max-length: 200
The URL/path to find this file.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

DocumentDeleted

Relevant details of a document which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which the document belonged.
idnumber(uint64)Unique identifier of this document.

Icon

A visual representation of a thing on a map or in a list.

JSON data structure

{ "category": string, "company": number, /* uint64 format, see Company.id */ "global": boolean, "glyphs": [ { "anchor": { "x": number, /* double format */ "y": number /* double format */ }, "layer": string, /* one of the IconLayer values */ "rotates": boolean, "size": { "height": number, /* double format */ "width": number /* double format */ }, "src": string, "tags": [ string ], "zIndex": number /* uint16 format */ } ], "id": number, /* uint64 format */ "label": { "align": string, "anchor": { "x": number, /* double format */ "y": number /* double format */ }, "colour": string }, "name": string, "notes": string, "usage": [ string ], "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
categorystring
max-length: 100
A noun to describe the type of thing represented. Like Truck, Car, Trailer, Hot-Air Balloon, etc...
companynumber(uint64)The company to which this icon belongs.
See: Company.id
globalbooleanIndicates whether this icon is available to child companies.
glyphsarray[IconGlyph]The images used to show the detail of this icon.
idnumber(uint64)Unique identifier of this icon.
labelIconLabelDefinition for the name bubble above the icon on a map.
namestring
max-length: 100
A specific adjective to describe the thing. Like Blue, Red, Empty, Full, etc...
notesstringNotes.
usagearray[string]A list of things that this icon can be used to represent. Like asset, place, user, etc...
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

IconGlyph

The image source and defined status tags which need to be applied to an asset in order to show the image.

JSON data structure

{ "anchor": { "x": number, /* double format */ "y": number /* double format */ }, "layer": string, /* one of the IconLayer values */ "rotates": boolean, "size": { "height": number, /* double format */ "width": number /* double format */ }, "src": string, "tags": [ string ], "zIndex": number /* uint16 format */ }

Data structure description

Properties
PropertyTypeDescription
anchorPointThe offset from the lat/long in pixels.
layerstring(IconLayer)The layer on which this glyph is displayed.
rotatesbooleanIndicates that this glyph rotate based on GPS bearing.
sizeSizeSize of the glyph in pixels.
srcstringPath to the image.
tagsarray[string]A list of codified status tag names. Any of the tags must be applied to the asset for the image to appear.
zIndexnumber(uint16)The z-order of this glyph compared to other glyphs on the same layer.

IconLabel

Definition for the name bubble above the icon on a map.

JSON data structure

{ "align": string, "anchor": { "x": number, /* double format */ "y": number /* double format */ }, "colour": string }

Data structure description

Properties
PropertyTypeDescription
alignstringDetermines which corner of the label is attached to the anchor.
anchorPointThe offset from the lat/long in pixels.
colourstringBackground colour of the label.

Picture

An image stored by the system.

JSON data structure

{ "bytes": number, /* uint64 format */ "company": number, /* uint64 format, see Company.id */ "focals": [ { "bottom": number, /* double format */ "left": number, /* double format */ "right": number, /* double format */ "top": number /* double format */ } ], "id": number, /* uint64 format */ "name": string, "notes": string, "size": { "height": number, /* double format */ "width": number /* double format */ }, "src": string, "uses": number, /* uint32 format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
bytesnumber(uint64)The file-size on the disk.
companynumber(uint64)The company to which this image belongs.
See: Company.id
focalsarray[Square]A list of focal points in the images like faces.
idnumber(uint64)Unique identifier of this image.
namestring
max-length: 100
The file name of this image.
notesstringNotes about this image.
sizeSizeSize defined in pixels.
srcstring
max-length: 200
The URL/path to find this image.
usesnumber(uint32)A count of the times this image was used for something (asset, contact, task, etc).
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

Hours of Service

HosCarrier

An operator registered to transport goods or people.

JSON data structure

{ "address": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string }, "codes": { string: string }, "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "id": number, /* uint64 format */ "logo": number, /* uint64 format, see Picture.id */ "name": string, "notes": string, "shiftCycle": string, /* one of the HosCycle values */ "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
addressStreetAddressThe carrier's physical or incorporated address.
codesobject{string:string}Identity code supplied by a regulatory/government body (DOT ID).
companynumber(uint64)The company to which this carrier information belongs.
See: Company.id
contactnumber(uint64)Contact information for the carrier.
See: Contact.id
idnumber(uint64)Unique identifier of the Carrier.
logonumber(uint64)A Picture of the carrier's logo.
See: Picture.id
namestring
max-length: 100
The carrier's registered name.
notesstringNotes.
shiftCyclestring(HosCycle)Default shift cycle used by the drivers
timezonestring(codified)The local timezone of the carrier's address.
See: Timezone.code
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

HosCarrierDeleted

Relevant details of a carrier which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this carrier belonged.
idnumber(uint64)Unique identifier of this carrier.

HosEvent

An ELD event record

JSON data structure

{ "address": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string }, "carrier": number, /* uint64 format, see HosCarrier.id */ "certificationDate": string, /* datetime format */ "code": number, /* uint8 format */ "company": number, /* uint64 format, see Company.id */ "diagnosticCode": string, /* one of the HosDiagnosticCode values */ "diagnosticStatus": boolean, "distanceSinceGPSFix": number, /* single format */ "dts": string, /* datetime format */ "engineHours": number, /* double format */ "id": number, /* uint64 format */ "isCoDriver": boolean, "latitude": string, "longitude": string, "malfunctionCode": string, "malfunctionStatus": boolean, "notes": string, "odometer": number, /* double format */ "origin": string, /* one of the HosEventOrigin values */ "person": number, /* uint64 format, see Person.id */ "seqNo": number, /* uint16 format */ "shiftCycle": string, /* one of the HosCycle values */ "status": string, /* one of the HosEventStatus values */ "type": number, /* one of the HosEventType values */ "v": [ number /* uint32 format */ ], "vehicle": number, /* uint64 format, see Vehicle.id */ "violationStatus": boolean, "violationType": string /* one of the HosViolationType values */ }

Data structure description

Properties
PropertyTypeDescription
addressStreetAddressGeolocation/Written address by driver of where the event took place
carriernumber(uint64)The carrier information to which this event belongs.
See: HosCarrier.id
certificationDatestring(datetime)Date of the records being certified or re-certified by the driver
codenumber(uint8)Event code
companynumber(uint64)The company to which this event belongs.
See: Company.id
diagnosticCodestring(HosDiagnosticCode)Data Diagnostic Event Code
diagnosticStatusbooleanData Diagnostic Event Indicator Status
distanceSinceGPSFixnumber(single)Distance since last valid coordinates. An integer value between 0 and 6
dtsstring(datetime)When the event took place
engineHoursnumber(double)Odometer reading of the tractor at the time of the event
idnumber(uint64)Unique identifier of the event.
isCoDriverbooleanDriver status - Primary/Co-driver
latitudestringSingle character 'X', single character 'M', single character 'E', or 2-decimal point precision value between -90.00 and 90.00
longitudestringSingle character 'X', single character 'M', single character 'E', or 2-decimal point precision value between -179.99 and 180.00
malfunctionCodestringMalfunction Indicator Code
malfunctionStatusbooleanMalfunction Indicator Status
notesstringComments/Annotations entered by the driver/user
odometernumber(double)Odometer reading of the tractor at the time of the event
originstring(HosEventOrigin)Event Record origin
personnumber(uint64)Driver associated with this event
See: Person.id
seqNonumber(uint16)Event Sequence Id Number
shiftCyclestring(HosCycle)Driver's shift cycle
statusstring(HosEventStatus)Event Record status
typenumber(HosEventType)Event type
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.
vehiclenumber(uint64)Vehicle associated with this event
See: Vehicle.id
violationStatusbooleanViolation Status
violationTypestring(HosViolationType)Violation Type

HosInspection

A pre- or post-Trip inspection report.

JSON data structure

{ "address": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string }, "carrier": number, /* uint64 format, see HosCarrier.id */ "company": number, /* uint64 format, see Company.id */ "defects": [ { "area": string, /* one of the HosDefectArea values */ "category": string, "description": string, "major": [ string ], "minor": [ string ] } ], "id": number, /* uint64 format */ "inspectedOn": string, /* datetime format */ "latlng": { "lat": number, /* double format */ "lng": number /* double format */ }, "odometer": number, /* double format */ "person": number, /* uint64 format, see Person.id */ "status": string, /* one of the HosDefectStatus values */ "technician": string, "techSigned": string, /* datetime format */ "trailers": [ string ], "v": [ number /* uint32 format */ ], "vehicle": number /* uint64 format, see Vehicle.id */ }

Data structure description

Properties
PropertyTypeDescription
addressStreetAddressWritten address by driver of where the inspection took place
carriernumber(uint64)The carrier information to which this inspection report belongs.
See: HosCarrier.id
companynumber(uint64)The company to which this inspection report belongs.
See: Company.id
defectsarray[HosInspectionDefect]List of all defects
idnumber(uint64)Unique identifier of the inspection reports.
inspectedOnstring(datetime)When the inspection took place
latlngLatLngCoordinates where the inspection took place
odometernumber(double)Odometer reading of the tractor at the time of the inspection
personnumber(uint64)Driver who conducted the inspection
See: Person.id
statusstring(HosDefectStatus)Status of all defects
technicianstring
max-length: 100
Name of the (optional) technician/mechanic doing work or inspection.
techSignedstring(datetime)If the defects needed to be addressed by a technician/mechanic, his signature will happen at a different time.
trailersarray[string]Between 0 and 2 trailers being inspected
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.
vehiclenumber(uint64)Tractor being inspected
See: Vehicle.id

HosInspectionDefect

Details of a defect found during a trip inspection

JSON data structure

{ "area": string, /* one of the HosDefectArea values */ "category": string, "description": string, "major": [ string ], "minor": [ string ] }

Data structure description

Properties
PropertyTypeDescription
areastring(HosDefectArea)Shows where a defect was located on the rig.
categorystringThe kind of defect
descriptionstringA text description of the defect.
majorarray[string]A list of major flaws as noted for Canadian standards.
minorarray[string]A list of minor flaws as noted for Canadian standards.

Icons

IconDeleted

Relevant details of an icon which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this icon belonged.
idnumber(uint64)Unique identifier of this icon.

Maintenance

MaintenanceInterval

The detail for calculating Maintenance Schedule recurrence.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "date": string, /* datetime format */ "engineHours": number, /* double format */ "lastJob": number, /* uint64 format */ "odometer": number /* double format */ }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The Vehicle or Trailer to which this recurrence detail belongs.
See: Asset.id
datestring(datetime)The date of the last calculation.
engineHoursnumber(double)The operating time at the time of the last calculation.
lastJobnumber(uint64)The last "completed" job related to this schedule interval.
odometernumber(double)The odometer at the time of the last calculation.

MaintenanceJob

Historical service work performed on a Vehicle or Trailer

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "cost": number, /* double format */ "created": string, /* datetime format */ "duration": string, /* duration format */ "engineHours": number, /* double format */ "garage": string, "id": number, /* uint64 format */ "name": string, "notes": string, "odometer": number, /* double format */ "pictures": [ number /* uint64 format, see Picture.id */ ], "reference": string, "schedule": number, /* uint64 format, see MaintenanceSchedule.id */ "status": string, /* one of the MaintenanceJobStatus values */ "technician": string, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The Vehicle or Trailer to which this job belongs
See: Asset.id
companynumber(uint64)The company to which this Vehicle or Trailer belongs
See: Company.id
completedstring(datetime)When was this job created.
costnumber(double)How much the job cost in dollars.
createdstring(datetime)When was this job created.
durationstring(duration)Time it took to complete the job.
engineHoursnumber(double)The operating time at the time of the service.
garagestring
max-length: 100
The name of the garage or service facility where the work is done.
idnumber(uint64)Unique identifier
namestring
max-length: 100
The work being done. Like "oil change".
notesstringNotes about the job. Like "changed the oil and filter".
odometernumber(double)The odometer at the time of the service.
picturesarray[number(uint64)]Images taken while performing the work for reference.
See: Picture.id
referencestring
max-length: 100
A reference code used to track this job
schedulenumber(uint64)The Maintenance Schedule from which this job was created
See: MaintenanceSchedule.id
statusstring(MaintenanceJobStatus)The status of this job.
technicianstring
max-length: 100
The mechanic who performed the work.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

MaintenanceJobDeleted

Relevant details of a maintenance job which was deleted.

JSON data structure

{ "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "id": number, /* uint64 format */ "schedule": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this maintenance job belonged.
companynumber(uint64)The company to which this maintenance job belonged.
idnumber(uint64)Unique identifier of this maintenance job.
schedulenumber(uint64)The maintenance schedule of this maintenance job.

MaintenanceSchedule

Recurring service work

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "cost": number, /* double format */ "duration": string, /* duration format */ "fill": string, "garage": string, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "intervals": { string /* uint64 format */ : { "asset": number, /* uint64 format, see Asset.id */ "date": string, /* datetime format */ "engineHours": number, /* double format */ "lastJob": number, /* uint64 format */ "odometer": number /* double format */ } }, "name": string, "notes": string, "notify": [ string /* email format */ ], "predictionDays": number, /* uint32 format */ "recurDays": number, /* uint32 format */ "recurDistance": number, /* double format */ "recurEngineHours": number, /* double format */ "reference": string, "stroke": string, "targets": string, /* expression format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this schedule belongs
See: Company.id
costnumber(double)The estimated cost for the job cost in dollars.
durationstring(duration)The estimated time for the job.
fillstring
max-length: 22
The fill/background colour of the icon. Should be a hex colour in the format #RRGGBB.
garagestring
max-length: 100
The name of the garage or service facility where the work is done.
graphicstring(codified)
max-length: 22
The name of the symbol for this report.
idnumber(uint64)Unique identifier
intervalsobject{string(uint64):MaintenanceInterval}The per-asset details calculated by the system to help predict the creation of Maintenance Jobs.
namestring
max-length: 100
The name of the work to be done. Like "oil change".
notesstringNotes about the work to be done. Like "change the oil and oil filter".
notifyarray[string(email)]List of Users to send notifications.
predictionDaysnumber(uint32)
min-value: 5
max-value: 180
The number of days in advance to predict a job will become pending.
recurDaysnumber(uint32)The number of days between service visits.
recurDistancenumber(double)The amount of mileage between service visits.
recurEngineHoursnumber(double)The number of operating hours between service visits.
referencestring
max-length: 100
A reference code used to track this job
strokestring
max-length: 22
Outline and graphic colour. Should be a hex colour in the format #RRGGBB.
targetsstring(expression)The targeting expression to select which Vehicles and Trailers require this maintenance work.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

MaintenanceScheduleDeleted

Relevant details of a maintenance schedule which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this maintenance schedule belonged.
idnumber(uint64)Unique identifier of this maintenance schedule.

Messaging

AssetAlert

An automatically generated notification sent to a user by the system.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "body": string, "company": number, /* uint64 format, see Company.id */ "delivered": string, /* datetime format */ "from": string, "id": number, /* uint64 format */ "kind": string, /* one of the MemoType values */ "priority": string, /* one of the AlertPriority values */ "processed": string, /* datetime format */ "status": string, /* one of the MemoStatus values */ "subject": string, "to": string, "user": string, /* email format, see User.login */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this message relates.
See: Asset.id
bodystringThe main contents of the memo.
companynumber(uint64)The company to which this memo belongs.
See: Company.id
deliveredstring(datetime)Date/time stamp of when the memo was delivered (or sent if delivery information unavailable).
fromstring
min-length: 6
max-length: 254
Sender address
idnumber(uint64)Unique identifier of this memo.
kindstring(MemoType)Protocol type
prioritystring(AlertPriority)The priority for which this message must send.
processedstring(datetime)Date/time stamp of when the memo was processed.
statusstring(MemoStatus)Lifetime status
subjectstring
max-length: 100
The subject of this message.
tostring
min-length: 6
max-length: 254
Recipient address
userstring(email)
max-length: 254
The user who sent/received this message.
See: User.login
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

Message

A conversational message between users and assets.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "body": string, "company": number, /* uint64 format, see Company.id */ "delivered": string, /* datetime format */ "folder": string, /* one of the MessageFolder values */ "from": string, "id": number, /* uint64 format */ "incoming": boolean, "kind": string, /* one of the MemoType values */ "processed": string, /* datetime format */ "readBy": string, /* email format, see User.login */ "status": string, /* one of the MemoStatus values */ "subject": string, "to": string, "user": string, /* email format, see User.login */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this message relates.
See: Asset.id
bodystringThe main contents of the memo.
companynumber(uint64)The company to which this memo belongs.
See: Company.id
deliveredstring(datetime)Date/time stamp of when the memo was delivered (or sent if delivery information unavailable).
folderstring(MessageFolder)The folder under which this message is stored.
fromstring
min-length: 6
max-length: 254
Sender address
idnumber(uint64)Unique identifier of this memo.
incomingbooleanIndicates that this is a received message instead of a sent message.
kindstring(MemoType)Protocol type
processedstring(datetime)Date/time stamp of when the memo was processed.
readBystring(email)
max-length: 254
The user that read this message. This field is blank/null when unread.
See: User.login
statusstring(MemoStatus)Lifetime status
subjectstring
max-length: 100
The subject of this message.
tostring
min-length: 6
max-length: 254
Recipient address
userstring(email)
max-length: 254
The user who sent/received this message.
See: User.login
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

MessageDeleted

Relevant details of a message which was deleted.

JSON data structure

{ "asset": number, /* uint64 format */ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this message belonged.
companynumber(uint64)The company to which the asset belonged.
idnumber(uint64)Unique identifier of this message.

PndMessage

A conversational message between a user and an asset's PND.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "body": string, "company": number, /* uint64 format, see Company.id */ "delivered": string, /* datetime format */ "folder": string, /* one of the MessageFolder values */ "from": string, "id": number, /* uint64 format */ "incoming": boolean, "kind": string, /* one of the MemoType values */ "processed": string, /* datetime format */ "readBy": string, /* email format, see User.login */ "responses": [ string ], "status": string, /* one of the MemoStatus values */ "subject": string, "to": string, "user": string, /* email format, see User.login */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this message relates.
See: Asset.id
bodystringThe main contents of the memo.
companynumber(uint64)The company to which this memo belongs.
See: Company.id
deliveredstring(datetime)Date/time stamp of when the memo was delivered (or sent if delivery information unavailable).
folderstring(MessageFolder)The folder under which this message is stored.
fromstring
min-length: 6
max-length: 254
Sender address
idnumber(uint64)Unique identifier of this memo.
incomingbooleanIndicates that this is a received message instead of a sent message.
kindstring(MemoType)Protocol type
processedstring(datetime)Date/time stamp of when the memo was processed.
readBystring(email)
max-length: 254
The user that read this message. This field is blank/null when unread.
See: User.login
responsesarray[string]A list of predefined responses a driver can easily read and click without distraction from the road.
statusstring(MemoStatus)Lifetime status
subjectstring
max-length: 100
The subject of this message.
tostring
min-length: 6
max-length: 254
Recipient address
userstring(email)
max-length: 254
The user who sent/received this message.
See: User.login
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ProviderCommand

A command sent to a device or GPS modem.

JSON data structure

{ "body": string, "company": number, /* uint64 format, see Company.id */ "delivered": string, /* datetime format */ "from": string, "id": number, /* uint64 format */ "kind": string, /* one of the MemoType values */ "processed": string, /* datetime format */ "provider": string, /* see Provider.id */ "status": string, /* one of the MemoStatus values */ "to": string, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
bodystringThe main contents of the memo.
companynumber(uint64)The company to which this memo belongs.
See: Company.id
deliveredstring(datetime)Date/time stamp of when the memo was delivered (or sent if delivery information unavailable).
fromstring
min-length: 6
max-length: 254
Sender address
idnumber(uint64)Unique identifier of this memo.
kindstring(MemoType)Protocol type
processedstring(datetime)Date/time stamp of when the memo was processed.
providerstring
max-length: 50
The device to which this command was sent.
See: Provider.id
statusstring(MemoStatus)Lifetime status
tostring
min-length: 6
max-length: 254
Recipient address
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

Pictures

PictureDeleted

Relevant details of a picture which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this picture belonged.
idnumber(uint64)Unique identifier of this picture.

Places

PlaceDeleted

Relevant details of a place which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this place belonged.
idnumber(uint64)Unique identifier of this place.

PlaceGeneral

A POI (point-of-interest) saved to the system to help determine an asset's real-world position. Depending on the kind, the place will contain different properties. Only radial type places will contain the radius property, and only polygon and rectangle type places will contain the shape array.

JSON data structure

{ "address": string, "anchor": { "lat": number, /* double format */ "lng": number /* double format */ }, "colour": string, "company": number, /* uint64 format, see Company.id */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format */ "kind": string, /* one of the ShapeType values */ "labels": [ string /* see LabelStyle.code */ ], "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "radius": number, /* double format */ "reference": string, "v": [ number /* uint32 format */ ], "v[0]": uint32 }

Data structure description

Properties
PropertyTypeDescription
addressstring
max-length: 200
Full street address including province/state, country, and postal/zip code.
anchorLatLngGeneral coordinates. Used to place a marker on a map, or a specific door or loading bay for dispatch.
colourstring
max-length: 22
The fill colour given to this place for easy visual identification on the map (given in 24bit hex; #RRGGBB)
companynumber(uint64)The company to which this POI belongs.
See: Company.id
iconnumber(uint64)The icon used to display this POI in lists and on the map.
See: Icon.id
idnumber(uint64)Unique identifier of this POI.
kindstring(ShapeType)The kind of geography represented by this POI.
labelsarray[string]The codified names of labels
See: LabelStyle.code
namestring
max-length: 100
POI's common name instead of street address.
notesstringNotes!
picturesarray[number(uint64)]Images of this POI.
radiusnumber(double)Boundary threshold (in meters). This key is only present for radial shape types.
referencestring
max-length: 100
A custom field used to refer to an external system.
varray[number(uint32)]
fixed length: 1
Object version keys used to validate synchronization for different properties.
v[0]uint32Properties found in the PlaceGeneral object.

Providers and Configurations

CircularGeofence

A geofence defined by a centre coordinate and a threshold value to indicate the boundary around that point.

JSON data structure

{ "maxGeofenceCount": number, /* uint32 format */ "maxRadius": number, /* uint32 format */ "minRadius": number, /* uint32 format */ "type": string /* one of the ShapeType values */ }

Data structure description

Properties
PropertyTypeDescription
maxGeofenceCountnumber(uint32)The maximum number of unique geofences supported by the device.
maxRadiusnumber(uint32)The largest possible radius for this geofence.
minRadiusnumber(uint32)The smallest possible radius for this geofence.
typestring(ShapeType)The supported shape of geofence.

GeofenceType

An abstract class used as a base for all Geofence type classes.

JSON data structure

{ "maxGeofenceCount": number, /* uint32 format */ "type": string /* one of the ShapeType values */ }

Data structure description

Properties
PropertyTypeDescription
maxGeofenceCountnumber(uint32)The maximum number of unique geofences supported by the device.
typestring(ShapeType)The supported shape of geofence.

PointGeofence

This is a point and not a geofence, so I don't know why this is defined.

JSON data structure

{ "maxGeofenceCount": number, /* uint32 format */ "type": string /* one of the ShapeType values */ }

Data structure description

Properties
PropertyTypeDescription
maxGeofenceCountnumber(uint32)The maximum number of unique geofences supported by the device.
typestring(ShapeType)The supported shape of geofence.

PolygonGeofence

A geofence whose boundary is defined by a non-overlapping series of coordinates.

JSON data structure

{ "maxGeofenceCount": number, /* uint32 format */ "maxVertices": number, /* uint32 format */ "type": string /* one of the ShapeType values */ }

Data structure description

Properties
PropertyTypeDescription
maxGeofenceCountnumber(uint32)The maximum number of unique geofences supported by the device.
maxVerticesnumber(uint32)The maximum number of vertices supported by the device.
typestring(ShapeType)The supported shape of geofence.

Provider

A device or service which provides data to the system from the field.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "attributes": { string /* dictionary format */ : dictionary }, "company": number, /* uint64 format, see Company.id */ "configuration": number, /* uint64 format, see ProviderConfig.id */ "firmware": string, "firmwareStatus": string, /* one of the ProvisioningStatus values */ "geofenceLast": string, /* datetime format */ "geofenceStatus": string, /* one of the ProvisioningStatus values */ "id": string, "information": { string: string }, "kind": string, /* one of the ProviderType values */ "lastCheckIn": string, /* datetime format */ "lastIP": string, /* ipv4 format */ "name": string, "notes": string, "password": string, "phoneNumber": number, /* uint64 format */ "pnd": string, "scriptLast": string, /* datetime format */ "scriptStatus": string, /* one of the ProvisioningStatus values */ "sim": string, "snf": { string: string }, "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32 }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset for which this device provides field data.
See: Asset.id
attributesobject{string(dictionary):object{string:}}Often changing values like latitude, longitude, speed, wiring state, VBus information, etc...
companynumber(uint64)The company to which this device belongs.
See: Company.id
configurationnumber(uint64)The provider's current (or pending) configuration profile.
See: ProviderConfig.id
firmwarestring
max-length: 100
The firmware/application version number.
firmwareStatusstring(ProvisioningStatus)The system's progress of updating the device's firmware/application.
geofenceLaststring(datetime)A timestamp from when the geofence list was successfully updated on the provider.
geofenceStatusstring(ProvisioningStatus)The system's progress of updating the device's on-board geofence definitions.
idstring
max-length: 50
Unique identifier of this device.
informationobject{string:string}A list of read-only values about the device like IMEI, ESN, firmware version, hardware revision, etc...
kindstring(ProviderType)The kind of communication protocol this device uses.
lastCheckInstring(datetime)A timestamp from when the provider last checked for a new script or new geofences.
lastIPstring(ipv4)The last IP address of the device.
namestring
max-length: 100
A nickname given to the device/hardware.
notesstringNotes!
passwordstring
max-length: 50
The password programmed on the device used to ensure the system is the only client authorized to make changes.
phoneNumbernumber(uint64)The phone number of this device.
pndstring
max-length: 50
The short-name of the kind of PND attached to this device. Leave blank if none.
scriptLaststring(datetime)A timestamp from when the script successfully updated on the provider.
scriptStatusstring(ProvisioningStatus)The system's progress of updating the device's programming.
simstringICCID of the SIM card installed in this provider
snfobject{string:string}Store-and-forward information like last sequence number of SnF window
varray[number(uint32)]
fixed length: 2
Object version keys used to validate synchronization for different properties.
v[0]uint32Properties found in the ProviderGeneral object.
v[1]uint32Properties found in the ProviderAdvanced object.

ProviderAdvanced

Device/hardware information reported from the field.

JSON data structure

{ "attributes": { string /* dictionary format */ : dictionary }, "company": number, /* uint64 format, see Company.id */ "id": string, /* see Provider.id */ "lastIP": string, /* ipv4 format */ "snf": { string: string }, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
attributesobject{string(dictionary):object{string:}}Often changing values like latitude, longitude, speed, wiring state, VBus information, etc...
companynumber(uint64)The company to which this device belongs.
See: Company.id
idstring
max-length: 50
Unique identifier of this device.
See: Provider.id
lastIPstring(ipv4)The last IP address of the device.
snfobject{string:string}Store-and-forward information like last sequence number of SnF window
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ProviderConfig

The configured script loaded onto the provider over-the-air to control it's reporting schedule and behaviour.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "geofences": string, /* expression format */ "id": number, /* uint64 format */ "name": string, "notes": string, "parameters": { string: string }, "script": number, /* uint64 format, see ProviderScript.id */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this configuration belongs.
See: Company.id
geofencesstring(expression)A search pattern used to filter which Places' geometry are used as geofences. Use null to disable. Use "*" to match all the Places the Provider's Asset can match. Or use "#123456" or "label:term" like other Place search patterns.
idnumber(uint64)Unique identifier of this configuration.
namestring
max-length: 100
The nickname given to this configuration
notesstringSimple details about how the providers are expected to behave.
parametersobject{string:string}The list of defined variable name/value pairs that the script requires.
scriptnumber(uint64)The script which this configuration implements.
See: ProviderScript.id
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ProviderConfigDeleted

Relevant details of a configuration which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this configuration belonged.
idnumber(uint64)Unique identifier of this configuration.

ProviderConfiguration

The configured logic loaded onto the provider over-the-air to control it's reporting schedule and behaviour.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "geofences": [ number /* uint64 format */ ], "id": number, /* uint64 format */ "name": string, "notes": string, "scriptParameters": { string: object }, "type": number, /* uint64 format, see ProviderConfigurationType.id */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this configuration belongs.
See: Company.id
geofencesarray[number(uint64)]List of Places loaded directly onto the provider.
idnumber(uint64)Unique identifier of this configuration.
namestring
max-length: 100
The nickname given to this configuration
notesstringSimple details about how the providers are expected to behave.
scriptParametersobject{string:object}The list of defined variables given to the logic type's options pairs for the logic type requires.
typenumber(uint64)The logic type which this configuration implements.
See: ProviderConfigurationType.id
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ProviderConfigurationDeleted

Relevant details of a configuration which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this configuration belonged.
idnumber(uint64)Unique identifier of this configuration.

ProviderConfigurationNode

This tree-like structure is given to the script processor for the device type so that the device can follow a program.

JSON data structure

{ "id": string, "isAdvanced": boolean, "max": object, "min": object, "nodes": { string: { /* recursive ProviderConfigurationNode objects */ } }, "notes": string, "type": string, "unit": ProviderDataUnits, "value": object }

Data structure description

Properties
PropertyTypeDescription
idstringUnique identifier of the value being mapped.
isAdvancedbooleanIndicates that this configuration is an advanced property and should only be set by someone who knows what they're doing.
maxobjectThe maximum possible value for this confugration node.
minobjectThe minimum possible value for this confugration node.
nodesobject{string:ProviderConfigurationNode}Child configuration nodes.
notesstringDescription of what this configuration does when mapped to a device.
typestringType hint used by the script processor to help format the value.
unitProviderDataUnitsUnit hint used to help the script processor format the value.
valueobjectThe value being set.

ProviderConfigurationType

This read-only class describes a type of logic applied to a provider. ProviderConfigurationTypes are used to help define a ProviderConfiguration.

JSON data structure

{ "geofenceTypes": [ ], "id": number, /* uint64 format */ "maxGeofenceCount": number, /* uint32 format */ "minGeofenceCount": number, /* uint32 format */ "name": string, "notes": string, "providerType": string, /* one of the ProviderType values */ "scriptOptions": { string: { "id": string, "isAdvanced": boolean, "max": object, "min": object, "nodes": { string: { /* recursive ProviderConfigurationNode objects */ } }, "notes": string, "type": string, "unit": ProviderDataUnits, "value": object } }, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
geofenceTypesarray[]A list of supported types of geofences which can be programmed directly onto the device.
idnumber(uint64)Unique identifier.
maxGeofenceCountnumber(uint32)The maximum number of geofences that can be programmed onto a device. This number changes based on device make and model, and can also change based on the supported geofence types.
minGeofenceCountnumber(uint32)The minimum number of geofences that need to be programmed onto the device. This value is almost always zero.
namestring
max-length: 100
Name of the configuration type.
notesstringNotes regarding the use of this configuration.
providerTypestring(ProviderType)The applicable type of provider for which this configuration type can be created.
scriptOptionsobject{string:ProviderConfigurationNode}A tree-structure of configurations required (or optionally available) for programming a device.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ProviderData

A fragment of data given by a device.

JSON data structure

{ "dts": string, /* datetime format */ "unit": string, "value": object }

Data structure description

Properties
PropertyTypeDescription
dtsstring(datetime)Date/time stamp from when the device recorded (or reported) the data.
unitstringThe relevant unit for the data provided like Km/h, degrees, volts, RPM, etc...
valueobjectThe value of the data given like true, 17.3, "asdf", etc...

ProviderDeleted

Relevant details of a device which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this device belonged.
idnumber(uint64)Unique identifier of this device.

ProviderGeneral

Device/hardware information and configuration.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "company": number, /* uint64 format, see Company.id */ "configuration": number, /* uint64 format, see ProviderConfig.id */ "firmware": string, "firmwareStatus": string, /* one of the ProvisioningStatus values */ "geofenceLast": string, /* datetime format */ "geofenceStatus": string, /* one of the ProvisioningStatus values */ "id": string, /* see Provider.id */ "information": { string: string }, "kind": string, /* one of the ProviderType values */ "lastCheckIn": string, /* datetime format */ "name": string, "notes": string, "password": string, "phoneNumber": number, /* uint64 format */ "pnd": string, "scriptLast": string, /* datetime format */ "scriptStatus": string, /* one of the ProvisioningStatus values */ "sim": string, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset for which this device provides field data.
See: Asset.id
companynumber(uint64)The company to which this device belongs.
See: Company.id
configurationnumber(uint64)The provider's current (or pending) configuration profile.
See: ProviderConfig.id
firmwarestring
max-length: 100
The firmware/application version number.
firmwareStatusstring(ProvisioningStatus)The system's progress of updating the device's firmware/application.
geofenceLaststring(datetime)A timestamp from when the geofence list was successfully updated on the provider.
geofenceStatusstring(ProvisioningStatus)The system's progress of updating the device's on-board geofence definitions.
idstring
max-length: 50
Unique identifier of this device.
See: Provider.id
informationobject{string:string}A list of read-only values about the device like IMEI, ESN, firmware version, hardware revision, etc...
kindstring(ProviderType)The kind of communication protocol this device uses.
lastCheckInstring(datetime)A timestamp from when the provider last checked for a new script or new geofences.
namestring
max-length: 100
A nickname given to the device/hardware.
notesstringNotes!
passwordstring
max-length: 50
The password programmed on the device used to ensure the system is the only client authorized to make changes.
phoneNumbernumber(uint64)The phone number of this device.
pndstring
max-length: 50
The short-name of the kind of PND attached to this device. Leave blank if none.
scriptLaststring(datetime)A timestamp from when the script successfully updated on the provider.
scriptStatusstring(ProvisioningStatus)The system's progress of updating the device's programming.
simstringICCID of the SIM card installed in this provider
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ProviderRegistration

The temporary reference to a device whose ownership is pending.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "code": string, "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "config": number, /* uint64 format, see ProviderConfig.id */ "expires": string, /* datetime format */ "identifier": string, /* see Provider.id */ "kind": string, /* one of the ProviderType values */ "name": string, "notes": string, "password": string, "phoneNumber": number, /* uint64 format */ "since": string, /* datetime format */ "user": string /* email format, see User.login */ }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The Asset for which this device will provide data.
See: Asset.id
codestringA unique six digit code.
companynumber(uint64)The company to which the device will belong.
See: Company.id
completedstring(datetime)Date/time stamp of when this registration ended successfully.
confignumber(uint64)The predefined configuration this device will use.
See: ProviderConfig.id
expiresstring(datetime)The expiry date for this registration.
identifierstring
max-length: 50
The unique identifier of the device that completed this registration.
See: Provider.id
kindstring(ProviderType)The kind of protocol this device supports.
namestring
max-length: 100
A nickname given to the device once it has been provisioned.
notesstringNotes!
passwordstring
max-length: 50
The password programmed on the device used to ensure the system is the only client authorized to make changes.
phoneNumbernumber(uint64)The phone number of the device being provisioned. This is set by the user for long-term registrations, or by the client during serial port setup.
sincestring(datetime)Date/time stamp of when this registration began.
userstring(email)
max-length: 254
The unique identifier the user who generated this registration.
See: User.login

ProviderRegistrationDeleted

Relevant details of a Provider Registration which was deleted.

JSON data structure

{ "code": number, /* uint64 format */ "company": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
codenumber(uint64)Unique identifier of this device.
companynumber(uint64)The company to which this device belonged.

ProviderScript

This class describes a type of logic applied to a provider. A script will generate a file which is loaded onto a provider in the field.

JSON data structure

{ "blocks": [ { "condition": string, "content": string, "replace": string, "validate": string } ], "company": number, /* uint64 format, see Company.id */ "fill": string, "global": boolean, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "kind": string, /* one of the ProviderType values */ "name": string, "notes": string, "parameters": { string: { "advanced": boolean, "context": string, "notes": string, "order": number, /* uint32 format */ "type": string, /* one of the ProviderScriptParameterType values */ "value": string } }, "stroke": string, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
blocksarray[ProviderScriptBlock]Blocks of file data which are (optionally) included in the script data file.
companynumber(uint64)The company to which this configuration belongs.
See: Company.id
fillstring
max-length: 22
The fill/background colour of the icon. Should be a hex colour in the format #RRGGBB.
globalbooleanIndicates whether this script is available to child companies.
graphicstring(codified)
max-length: 22
The name of the symbol for this report.
idnumber(uint64)Unique identifier of this configuration.
kindstring(ProviderType)The type of provider for which this script can be used. Limiting to a specific model from a manufacturer is accomplished through the block conditions.
namestring
max-length: 100
The nickname given to this configuration
notesstringSimple details about how the providers are expected to behave.
parametersobject{string:ProviderScriptParameter}Parameter definitions for this script, including type-hints and default values.
strokestring
max-length: 22
Outline and graphic colour. Should be a hex colour in the format #RRGGBB.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ProviderScriptBlock

A chunk of script and variables used to assemble a working ProviderScript.

JSON data structure

{ "condition": string, "content": string, "replace": string, "validate": string }

Data structure description

Properties
PropertyTypeDescription
conditionstring
max-length: 50
When defined, this condition matches a ProviderScriptParameter defined in the ProviderConfig to include or exclude this chunk from the script.
contentstringA chunk of the file loaded onto a provider with it's variables replaced with configurable variables. Trailing or leading whitespace should be included here, so when blocks are merged, so too is the newline characters.
replacestring
max-length: 20
A regular expression used to match variables in the content
validatestringUsed in conjunction with condition, this value must match the given ProviderScriptParameter value to have the chunk included.

ProviderScriptDeleted

Relevant details of a configuration which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this configuration belonged.
idnumber(uint64)Unique identifier of this configuration.

ProviderScriptParameter

Definition of an argument passed to a ProviderScript.

JSON data structure

{ "advanced": boolean, "context": string, "notes": string, "order": number, /* uint32 format */ "type": string, /* one of the ProviderScriptParameterType values */ "value": string }

Data structure description

Properties
PropertyTypeDescription
advancedbooleanUsed as a hint that this parameter controls an advanced script option and should only be set if you really know what you're doing.
contextstringGives a hint to the client on the best UI to use for editing. For example, "checkbox" is a good UI hint for boolean parameter types.
notesstringUsage notes.
ordernumber(uint32)The order in which this parameter is displayed compared to other parameters. The value has no effect on how this parameter is inserted into the ProviderScriptBlocks.
typestring(ProviderScriptParameterType)Simple type information for the gateway to process.
valuestringThe value is given as a string, but parsed into native type when used by the gateway.

ProviderSuspended

Relevant details of an device which is suspended.

JSON data structure

{ "company": number, /* uint64 format */ "configuration": number, /* uint64 format */ "id": string, "kind": string, /* one of the ProviderType values */ "name": number, /* uint64 format */ "since": string, /* datetime format */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this device belonged.
configurationnumber(uint64)The identifier of the configuration loaded onto this device.
idstring
max-length: 50
Unique identifier of this device.
kindstring(ProviderType)The type of device.
namenumber(uint64)Name for the device.
sincestring(datetime)Timestamp from when the device was suspended.
varray[number(uint32)]The device version keys at the time of suspension.

RectangleGeofence

A geofence whose boundary is a "rectangle" defined by corner coordinates.

JSON data structure

{ "maxGeofenceCount": number, /* uint32 format */ "maxLength": number, /* uint32 format */ "maxWidth": number, /* uint32 format */ "type": string /* one of the ShapeType values */ }

Data structure description

Properties
PropertyTypeDescription
maxGeofenceCountnumber(uint32)The maximum number of unique geofences supported by the device.
maxLengthnumber(uint32)The smallest possible diameter for this geofence.
maxWidthnumber(uint32)The smallest possible diameter for this geofence.
typestring(ShapeType)The supported shape of geofence.

Real-time Analytics

AnalyticOptions

The targets, filters, and parameters used by an AnalyticRule.

JSON data structure

{ "filters": string, /* expression format */ "parameters": [ { "kind": string, /* one of the AnalyticParameterType values */ "value": string } ], "targets": string /* expression format */ }

Data structure description

Properties
PropertyTypeDescription
filtersstring(expression)A targeting expression for limiting results which only include data from Assets interacting with the targeted Places.
parametersarray[AnalyticParameter]A list of parameters to better shape the results.
targetsstring(expression)A targeting expression for including/excluding Assets.

AnalyticParameter

A configured parameter used by the real-time analytics engine.

JSON data structure

{ "kind": string, /* one of the AnalyticParameterType values */ "value": string }

Data structure description

Properties
PropertyTypeDescription
kindstring(AnalyticParameterType)The type of argument.
valuestringThe parsed value of the argument. Each type of argument has a different parsing.

AnalyticRule

Rules governing the real-time analysis of a company's assets.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "fill": string, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "kind": string, /* one of the AnalyticsType values */ "name": string, "notes": string, "options": { "filters": string, /* expression format */ "parameters": [ { "kind": string, /* one of the AnalyticParameterType values */ "value": string } ], "targets": string /* expression format */ }, "stroke": string, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this analysis belongs.
See: Company.id
fillstring
max-length: 22
The fill/background colour of the icon. Should be a hex colour in the format #RRGGBB.
graphicstring(codified)
max-length: 22
The name of the symbol for this report.
idnumber(uint64)Unique identifier
kindstring(AnalyticsType)The type of analysis done.
namestring
max-length: 100
Name of this report.
notesstringNotes about this report.
optionsAnalyticOptionsSpecified parameters for the report logic, targeted Assets, and filtering Places.
strokestring
max-length: 22
Outline and graphic colour. Should be a hex colour in the format #RRGGBB.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

AnalyticSummary

Analysis for an asset of a specific type and instance.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "company": number, /* uint64 format, see Company.id */ "complete": boolean, "distance": number, /* double format */ "eventCount": number, /* uint32 format */ "firstState": { "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format, see Asset.id */ "odometer": number, /* double format */ "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "relationships": [ number /* uint64 format */ ], "tags": [ string ], "v": [ number /* uint32 format */ ] }, "firstUtc": string, /* datetime format */ "id": number, /* uint64 format */ "kind": string, /* one of the AnalyticsType values */ "lastState": { "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format, see Asset.id */ "odometer": number, /* double format */ "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "relationships": [ number /* uint64 format */ ], "tags": [ string ], "v": [ number /* uint32 format */ ] }, "lastUtc": string, /* datetime format */ "polyline": string, /* polyline format */ "state": string, "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this analysis belongs.
See: Asset.id
companynumber(uint64)The company to which this analysis belongs.
See: Company.id
completebooleanDenotes that an event has been processed to invalidate the sequence and end the summary.
distancenumber(double)The distance travelled in kilometres by the asset.
eventCountnumber(uint32)The number of events included in the calculation.
firstStateAssetAdvancedThe first asset state which begins this summary instance.
firstUtcstring(datetime)Timestamp from the first event in the sequence.
idnumber(uint64)Unique identifier
kindstring(AnalyticsType)The type of analysis done.
lastStateAssetAdvancedThe asset state that ended this summary instance.
lastUtcstring(datetime)Timestamp from the last event in the sequence.
polylinestring(polyline)An encoded polyline of all the asset's positions in sequence.
statestringCode given to this analysis for the asset.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

Reports

ReportBreakdown

Asset information used in calculating a summary instance.

JSON data structure

{ "advanced": { "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format, see Asset.id */ "odometer": number, /* double format */ "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "relationships": [ number /* uint64 format */ ], "tags": [ string ], "v": [ number /* uint32 format */ ] }, "asset": number, /* uint64 format */ "general": { "company": number, /* uint64 format, see Company.id */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format, see Asset.id */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "messagingAddress": string, "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "reference": string, "references": { string: string }, "v": [ number /* uint32 format */ ] }, "instance": number, /* uint32 format */ "summaryInstances": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
advancedAssetAdvancedAdvanced/detailed information used.
assetnumber(uint64)The asset to which this event data belongs.
generalAssetGeneralGeneral Asset information.
instancenumber(uint32)Report specific identifier of the event data.
summaryInstancesarray[number(uint32)]Identifiers of the summary instances that used this event.

ReportBreakdownMessage

Message information used in this report.

JSON data structure

{ "advanced": { "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format, see Asset.id */ "odometer": number, /* double format */ "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "relationships": [ number /* uint64 format */ ], "tags": [ string ], "v": [ number /* uint32 format */ ] }, "asset": number, /* uint64 format */ "general": { "company": number, /* uint64 format, see Company.id */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format, see Asset.id */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "messagingAddress": string, "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "reference": string, "references": { string: string }, "v": [ number /* uint32 format */ ] }, "instance": number, /* uint32 format */ "message": { "asset": number, /* uint64 format, see Asset.id */ "body": string, "company": number, /* uint64 format, see Company.id */ "delivered": string, /* datetime format */ "folder": string, /* one of the MessageFolder values */ "from": string, "id": number, /* uint64 format */ "incoming": boolean, "kind": string, /* one of the MemoType values */ "processed": string, /* datetime format */ "readBy": string, /* email format, see User.login */ "status": string, /* one of the MemoStatus values */ "subject": string, "to": string, "user": string, /* email format, see User.login */ "v": [ number /* uint32 format */ ] }, "summaryInstances": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
advancedAssetAdvancedAdvanced/detailed information used.
assetnumber(uint64)The asset to which this event data belongs.
generalAssetGeneralGeneral Asset information.
instancenumber(uint32)Report specific identifier of the event data.
messageMessageThe Message used.
summaryInstancesarray[number(uint32)]Identifiers of the summary instances that used this event.

ReportBreakdownTask

Dispatch Task information used in this report.

JSON data structure

{ "advanced": { "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format, see Asset.id */ "odometer": number, /* double format */ "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "relationships": [ number /* uint64 format */ ], "tags": [ string ], "v": [ number /* uint32 format */ ] }, "asset": number, /* uint64 format */ "general": { "company": number, /* uint64 format, see Company.id */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format, see Asset.id */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "messagingAddress": string, "name": string, "notes": string, "pictures": [ number /* uint64 format */ ], "reference": string, "references": { string: string }, "v": [ number /* uint32 format */ ] }, "instance": number, /* uint32 format */ "summaryInstances": [ number /* uint32 format */ ], "task": { "address": string, "arrived": string, /* datetime format */ "asset": number, /* uint64 format, see Asset.id */ "attachments": [ number /* uint64 format */ ], "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "created": string, /* datetime format */ "duration": string, /* duration format */ "eta": string, /* datetime format */ "id": number, /* uint64 format */ "instructions": string, "latlng": { "lat": number, /* double format */ "lng": number /* double format */ }, "name": string, "notes": string, "place": number, /* uint64 format, see Place.id */ "reference": string, "references": { string: string }, "signatory": string, "signature": boolean, "status": string, /* one of the TaskStatus values */ "updatedBy": string, "updatedUtc": string, /* datetime format */ "v": [ number /* uint32 format */ ] } }

Data structure description

Properties
PropertyTypeDescription
advancedAssetAdvancedAdvanced/detailed information used.
assetnumber(uint64)The asset to which this event data belongs.
generalAssetGeneralGeneral Asset information.
instancenumber(uint32)Report specific identifier of the event data.
summaryInstancesarray[number(uint32)]Identifiers of the summary instances that used this event.
taskDispatchTaskThe Task used.

ReportNotifications

A group of users and targeted assets which receive report notifications.

JSON data structure

{ "assets": string, /* expression format */ "users": [ string /* email format */ ] }

Data structure description

Properties
PropertyTypeDescription
assetsstring(expression)
max-length: 255
A targeting expression to identify which assets receive the report results. The results emailed to each asset will only be for themselves, not all assets. To receive the emailed results, the Asset must have a , or for a Person type asset, their ["Email"].
usersarray[string(email)]
max-length: 50
List of users to send emailed report. Each email will only contain the results for the assets each user is allowed to view.

ReportOptions

The options used by the report runner to process results.

JSON data structure

{ "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }

Data structure description

Properties
PropertyTypeDescription
filteringstring(ReportFilterMode)The mechanism to use for filtering based on places and regions.
parametersarray[ReportParameter]A list of parameters to better shape the results.
placesstring(expression)A targeting expression for limiting results which only include data from Assets interacting with the targeted Places.
regionsarray[string]A list of provinces and states, where only assets within those regions will be included in the results.
scorecardRulesReportScorecardRulesRules used to generate scorecard for this report.
targetsstring(expression)A targeting expression for including/excluding Assets.

ReportParameter

An argument passed to the report runner.

JSON data structure

{ "type": string, /* one of the ReportParameterType values */ "value": string }

Data structure description

Properties
PropertyTypeDescription
typestring(ReportParameterType)The type of argument.
valuestringThe parsed value of the argument. Each type of argument has a different parsing.

ReportRecurrence

Determines when and how often a report schedule runs automatically.

JSON data structure

{ "end": string, /* datetime format */ "iterations": number, /* uint16 format */ "kind": string, /* one of the ReportRecurrenceType values */ "lastEndDate": string, /* datetime format */ "lastResult": number, /* uint64 format */ "lastStartDate": string, /* datetime format */ "nextEndDate": string, /* datetime format */ "nextStartDate": string, /* datetime format */ "start": string, /* datetime format */ "timezone": string, /* codified format, see Timezone.code */ "weekday": number, /* uint8 format */ "weekdays": [ boolean ] }

Data structure description

Properties
PropertyTypeDescription
endstring(datetime)The optional time when the schedule stops recurring in local-time (not UTC).
iterationsnumber(uint16)The number of times this schedule has been invoked to generate results.
kindstring(ReportRecurrenceType)How often the report is automatically run. Daily, weekly, monthly, etc...
lastEndDatestring(datetime)The date/time stamp from the last result used to inform the nextStartDate and nextEndDate properties. This value is null when the schedule has not yet run once.
lastResultnumber(uint64)The unique identifier of the last ReportResult generated by this schedule.
lastStartDatestring(datetime)The date/time stamp from the last result used to inform the nextStartDate and nextEndDate properties. This value is null when the schedule has not yet run once.
nextEndDatestring(datetime)This date/time is used as the endDate ReportParameter for the next iteration of this recurring report. This value is null when the schedule is calculated to stop recurring.
nextStartDatestring(datetime)This date/time is used as the startDate ReportParameter for the next iteration of this recurring report. This value is null when the schedule is calculated to stop recurring.
startstring(datetime)When the schedule is to begin recurring in local-time (not UTC).
timezonestring(codified)The local timezone used to calculate recurring date/time ranges.
See: Timezone.code
weekdaynumber(uint8)Used only for weekly schedules, it's a number between 0 and 6 representing the day of the week, with Sunday being the first day of the week.
weekdaysarray[boolean]Used only for daily schedules, this 7 item, boolean array, determines if the schedule should recur on that day of the week.

ReportResult

Report results

JSON data structure

{ "archive": boolean, "bounds": { "east": number, /* double format */ "north": number, /* double format */ "south": number, /* double format */ "west": number /* double format */ }, "company": number, /* uint64 format, see Company.id */ "completed": string, /* datetime format */ "created": string, /* datetime format */ "error": string, /* see ReportResult.status */ "filtered": [ number /* uint64 format */ ], "id": number, /* uint64 format */ "name": string, "notes": string, "options": { "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }, "progress": number, /* uint8 format */ "runBy": string, /* email format, see User.login */ "schedule": number, /* uint64 format, see ReportSchedule.id */ "scorecards": [ ReportDataScorecard ], "status": string, /* one of the ReportStatus values */ "targeted": [ number /* uint64 format */ ], "template": number, /* uint64 format, see ReportTemplate.id */ "timezone": string, /* codified format, see Timezone.code */ "totals": [ ReportDataTotal ], "type": string, /* one of the ReportType values */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
archivebooleanPreserve these results for later review. Results are regularly culled from the system.
boundsLatLngBoundsAfter processing, the boundary of the results are given so that a map can be focused on that area.
companynumber(uint64)The company to which this report belongs
See: Company.id
completedstring(datetime)The date/time this result was finished processing.
createdstring(datetime)The date/time this result was requested.
errorstring
max-length: 250
A field which contains report error details if the status is failed.
See: ReportResult.status
filteredarray[number(uint64)]When the report runs, a list of filtered places is calculated based on the ReportOption's place filtering expression.
idnumber(uint64)Unique identifier
namestring
max-length: 100
Name of this report.
notesstringNotes about this report.
optionsReportOptionsSpecified parameters for the report logic, targeted Assets, and filtering Places.
progressnumber(uint8)The progress in processing/saving this result is a number between 0 and 100.
runBystring(email)
max-length: 254
The login of the user that ran this report.
See: User.login
schedulenumber(uint64)A reference to the schedule used to create this result. This field is optional as not all results are created on a schedule.
See: ReportSchedule.id
scorecardsarray[ReportDataScorecard]Scorecards for all the targeted assets based on the scorecard rules.
statusstring(ReportStatus)The processing status of this report.
targetedarray[number(uint64)]When the report runs, a list of targeted assets is calculated based on the ReportOption's targeting expression.
templatenumber(uint64)A reference to the Template used to create this result. This field is optional because templates are not necessarily required; they just make life a lot easier.
See: ReportTemplate.id
timezonestring(codified)The timezone code used to adjust dates/times used in processing and saving this report.
See: Timezone.code
totalsarray[ReportDataTotal]After processing, the report totals the values from all summary instances for a quick overview of the kind of results generated.
typestring(ReportType)Refers to the type of logic used by this report.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ReportResultDeleted

Relevant details of report results which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number, /* uint64 format */ "template": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this report results belonged.
idnumber(uint64)Unique identifier of this report template.
templatenumber(uint64)The report template to which these report results belonged.

ReportSchedule

Determines when and how often a report schedule runs automatically.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "enabled": boolean, "id": number, /* uint64 format */ "name": string, "notes": string, "notify": { "assets": string, /* expression format */ "users": [ string /* email format */ ] }, "options": { "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }, "owner": string, /* email format, see User.login */ "repetition": { "end": string, /* datetime format */ "iterations": number, /* uint16 format */ "kind": string, /* one of the ReportRecurrenceType values */ "lastEndDate": string, /* datetime format */ "lastResult": number, /* uint64 format */ "lastStartDate": string, /* datetime format */ "nextEndDate": string, /* datetime format */ "nextStartDate": string, /* datetime format */ "start": string, /* datetime format */ "timezone": string, /* codified format, see Timezone.code */ "weekday": number, /* uint8 format */ "weekdays": [ boolean ] }, "template": number, /* uint64 format, see ReportTemplate.id */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this report belongs
See: Company.id
enabledbooleanIndicates whether this schedule is allowed to run.
idnumber(uint64)Unique identifier
namestring
max-length: 100
Name of this report.
notesstringNotes about this report.
notifyReportNotificationsA list of users and a targeting expression for assets which receive report results notifications.
optionsReportOptionsSpecified parameters for the report logic, targeted Assets, and filtering Places.
ownerstring(email)
max-length: 254
Login of the user who has ownership of this report schedule.
See: User.login
repetitionReportRecurrenceThe recurring schedule to generate report results.
templatenumber(uint64)A reference to the Template used to create this result.
See: ReportTemplate.id
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ReportScheduleDeleted

Relevant details of report schedule which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number, /* uint64 format */ "template": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this report schedule belonged.
idnumber(uint64)Unique identifier of this report template.
templatenumber(uint64)The report template to which these report schedule belonged.

ReportScorecard

Scorecard generated from the results of this report.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "rulePoints": { string: number /* double format */ }, "score": number /* double format */ }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this scorecard belongs.
See: Asset.id
rulePointsobject{string:number(double)}Points per rule
scorenumber(double)Final score calculated based on scorecard rules.

ReportScorecardParameter

Infraction parameter used to generate scorecard

JSON data structure

{ "condition": string, "duration": string, /* duration format */ "points": number /* double format */ }

Data structure description

Properties
PropertyTypeDescription
conditionstringType of exception, example speeding, idling, etc.
durationstring(duration)Threshold per instance. If the threshold is 0, each instance is used in the calculation
pointsnumber(double)Points applied against the base score per instance

ReportScorecardRules

Rules used for generating a scorecard.

JSON data structure

{ "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }

Data structure description

Properties
PropertyTypeDescription
baseScorenumber(double)Base score for the scorecard.
parametersarray[ReportScorecardParameter]Infraction parameters used to generate the final score

ReportSummary

Summarized asset details.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "distance": number, /* double format */ "endingReason": string, /* one of the ReportDataSummaryReason values */ "endingUtc": string, /* datetime format */ "firstState": { "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "colour": string, "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "engineHours": number, /* double format */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "make": string, "messagingAddress": string, "model": string, "name": string, "notes": string, "odometer": number, /* double format */ "pictures": [ number /* uint64 format */ ], "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "plate": string, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "reference": string, "references": { string: string }, "relationships": [ number /* uint64 format */ ], "serial": string, "tags": [ string ], "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32, "vin": string, "year": number /* uint16 format */ }, "instance": number, /* uint32 format */ "instancesCount": number, /* uint32 format */ "lastState": { "attributes": { string /* codified format */ : { "asset": number, /* uint64 format, see Asset.id */ "complex": string, "dts": string, /* datetime format */ "global": boolean, "name": string, "provider": string, /* see Provider.id */ "raw": object, "simple": string, "unit": string /* see Units */ } }, "colour": string, "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "engineHours": number, /* double format */ "icon": number, /* uint64 format, see Icon.id */ "id": number, /* uint64 format */ "kind": string, /* one of the AssetType values */ "labels": [ string ], "make": string, "messagingAddress": string, "model": string, "name": string, "notes": string, "odometer": number, /* double format */ "pictures": [ number /* uint64 format */ ], "places": { string /* uint64 format */ : { "enter": string, /* datetime format */ "kind": string, /* one of the AssetPlaceStatusType values */ "latest": string /* datetime format */ } }, "plate": string, "position": { "accuracy": number, /* uint32 format */ "address": string, "altitude": number, /* double format */ "bearing": number, /* uint16 format */ "dts": string, /* datetime format */ "lat": number, /* double format */ "lng": number, /* double format */ "origin": string, "speed": number, /* double format */ "speedLimit": number, /* double format */ "streetAddress": { "city": string, "country": string, "isToll": boolean, "number": string, "postal": string, "province": string, "region": string, "street": string } }, "providers": [ string ], "reference": string, "references": { string: string }, "relationships": [ number /* uint64 format */ ], "serial": string, "tags": [ string ], "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32, "vin": string, "year": number /* uint16 format */ }, "polyline": [ { "lat": number, /* double format */ "lng": number /* double format */ } ], "startingReason": string, /* one of the ReportDataSummaryReason values */ "startingUtc": string, /* datetime format */ "stateDetail": string }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this summary instance belongs.
See: Asset.id
distancenumber(double)The distance travelled in kilometres by the asset during this summary instance.
endingReasonstring(ReportDataSummaryReason)The reason code that this summary instance ended.
endingUtcstring(datetime)Date/time stamp of the last event in this summary's sequence.
firstStateAssetThe first asset state which begins this summary instance.
instancenumber(uint32)Identifier of the summary instance in the report.
instancesCountnumber(uint32)The number of events included in calculating this summary instance.
lastStateAssetThe asset state that ended this summary instance.
polylinearray[LatLng]A simplified polyline of all the asset's positions in sequence.
startingReasonstring(ReportDataSummaryReason)The reason code that this summary instance began.
startingUtcstring(datetime)Date/time stamp of the first event in this summary's sequence.
stateDetailstring
max-length: 100
Code given to this summary instance for an asset.

ReportTemplate

A partially created report used to quickly build results.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "fill": string, "graphic": string, /* codified format */ "id": number, /* uint64 format */ "name": string, "notes": string, "options": { "filtering": string, /* one of the ReportFilterMode values */ "parameters": [ { "type": string, /* one of the ReportParameterType values */ "value": string } ], "places": string, /* expression format */ "regions": [ string ], "scorecardRules": { "baseScore": number, /* double format */ "parameters": [ { "condition": string, "duration": string, /* duration format */ "points": number /* double format */ } ] }, "targets": string /* expression format */ }, "stroke": string, "type": string, /* one of the ReportType values */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this report belongs
See: Company.id
fillstring
max-length: 22
The fill/background colour of the icon. Should be a hex colour in the format #RRGGBB.
graphicstring(codified)
max-length: 22
The name of the symbol for this report.
idnumber(uint64)Unique identifier
namestring
max-length: 100
Name of this report.
notesstringNotes about this report.
optionsReportOptionsSpecified parameters for the report logic, targeted Assets, and filtering Places.
strokestring
max-length: 22
Outline and graphic colour. Should be a hex colour in the format #RRGGBB.
typestring(ReportType)Refers to the type of logic used by this report.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

ReportTemplateDeleted

Relevant details of a report template which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this report template belonged.
idnumber(uint64)Unique identifier of this report template.

ReportTotal

Totalled information from all the results of the report.

JSON data structure

{ "asset": number, /* uint64 format, see Asset.id */ "distance": number, /* double format */ "duration": string, /* duration format */ "stateDetail": string, "summaryCount": number, /* uint32 format */ "value": number, /* double format */ "valueType": string }

Data structure description

Properties
PropertyTypeDescription
assetnumber(uint64)The asset to which this report total belongs.
See: Asset.id
distancenumber(double)The total distance travelled in kilometres of all summary instances.
durationstring(duration)The total duration of all summary instances.
stateDetailstring
max-length: 100
Unique code given to the report total.
summaryCountnumber(uint32)The number of summary instances included in this total.
valuenumber(double)The total value of all summary instances.
valueTypestringThe type of totalled value.

Self

Session

Details about your session and yourself.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "contact": { "addresses": { string: string /* email format */ }, "company": number, /* uint64 format, see Company.id */ "dates": { string: string /* datetime format */ }, "emails": { string: string /* email format */ }, "id": number, /* uint64 format */ "name": string, "notes": string, "options": { string: string }, "otherNames": { string: string }, "phones": { string: number /* uint64 format */ }, "pictures": [ number /* uint64 format */ ], "roles": [ string /* codified format */ ], "urls": { string: string }, "v": [ number /* uint32 format */ ] }, "enabled": boolean, "formats": { string /* codified format */ : string }, "groups": [ { "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format */ "name": string, "notes": string, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] } ], "language": string, "login": string, /* email format, see User.login */ "measurements": { string /* codified format */ : string /* one of the SystemsOfUnits values */ }, "nickname": string, "notify": [ { "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] } ], "options": { string /* codified format */ : string }, "passwordExpired": boolean, "passwordPolicy": { "DEFAULT_MINIMUM_LENGTH": number, /* uint8 format */ "expireMode": string, /* one of the ExpiryModePolicy values */ "expireThreshold": number, /* uint8 format */ "includeLetters": boolean, "includeNumbers": boolean, "includeSpecial": boolean, "includeUpperLower": boolean, "MINIMUM_LENGTH": number, /* uint8 format */ "minimumLength": number /* uint8 format */ }, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "sessionPolicy": { "applications": [ string ], "DEFAULT_LIFETIME_MINUTES": number, /* int32 format */ "DEFAULT_MAX_SESSIONS": number, /* uint8 format */ "expireTimeout": number, /* uint16 format */ "idleAllowed": boolean, "ipv4Ranges": [ string /* ipv4 format */ ], "maxSessions": number, /* uint8 format */ "multiUser": string /* one of the MultiUserPolicy values */ }, "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this user belongs.
See: Company.id
contactContactYour user's simplified contact card.
Warning:This object will be serialized asContact instead of ContactSimple starting in January 2018.
enabledbooleanIndicates whether system access is disable.
formatsobject{string(codified):string}
max-length of values: 20
The format strings defining the preferred way to display ambiguous values.
groupsarray[UserGroup]List of groups of which you are a member.
languagestring
min-length: 2
max-length: 5
Preferred region/language for the UI and notifications. Valid formats use <ISO 639-1><dash><ISO 3166-2> such as "fr-CA" or "en-US".
loginstring(email)
min-length: 6
max-length: 254
The unique public email address used to access the system.
See: User.login
measurementsobject{string(codified):string(SystemsOfUnits)}Preferred way of displaying ambiguous numbers in the context of measurements.
nicknamestring
max-length: 100
Human friendly name for these credentials
notifyarray[UserNotifications]
max-length: 7
Definition of how and when to send alerts to the user.
optionsobject{string(codified):string}
max-length of values: 20
Additional options which do not fit in with the formats or measurements preferences.
passwordExpiredbooleanIndicated whether the credentials have expired according to the company's policy.
passwordPolicyPasswordPolicyYour company's password complexity and expiry policy.
permissionsarray[UserPermission]Individual permission rules which override the group rules.
sessionPolicySessionPolicyYour company's session lifetime policy.
timezonestring(codified)The user's local timezone.
See: Timezone.code
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

Socket

BroadcastMaintenance

Notification to clients of a scheduled maintenance window. During a maintenance window, the service may go down and come back online repeatedly until the window ends.

JSON data structure

{ "ending": string, /* datetime format */ "kind": string, /* one of the BroadcastType values */ "message": string, "serverTime": string, /* datetime format */ "starting": string /* datetime format */ }

Data structure description

Properties
PropertyTypeDescription
endingstring(datetime)Timestamp of when the maintenance will end.
kindstring(BroadcastType)Downtime!
messagestringHuman readable message describing the broadcast.
serverTimestring(datetime)The UTC date/time of the server hosting the connection.
startingstring(datetime)Timestamp of when the maintenance window begins.

BroadcastUpgrade

Notification to clients that an upgrade will take place (with optional requirement of reloading all resources).

JSON data structure

{ "eta": string, /* datetime format */ "kind": string, /* one of the BroadcastType values */ "message": string, "reload": boolean, "serverTime": string /* datetime format */ }

Data structure description

Properties
PropertyTypeDescription
etastring(datetime)Timestamp of when the upgrade will be ready.
kindstring(BroadcastType)Upgrade to v4 system.
messagestringHuman readable message describing the broadcast.
reloadbooleanTrue when system objects have changed structure. It is recommended that all resources are purged and reloaded.
serverTimestring(datetime)The UTC date/time of the server hosting the connection.

SocketResponse

It will always have the reqId, errorCode, and message properties, but can also contain any number of other properties.

JSON data structure

{ "errorCode": number, /* one of the ErrorCode values */ "errorDetails": object, "message": string, "reqId": number /* uint32 format */ }

Data structure description

Properties
PropertyTypeDescription
errorCodenumber(ErrorCode)The unique, numeric error code when processing this request.
errorDetailsobjectAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdnumber(uint32)The optional, client-generated unique identifier for correlating requests. The key is only present if a reqId was given for the associated request.

Subscription

A per-company list of your currect SubscriptionTypes.

JSON data structure

{ "company": number, /* uint64 format */ "subscriptionTypes": [ string /* one of the SubscriptionType values */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company relevant to the notification types you want to receive.
subscriptionTypesarray[string(SubscriptionType)]List of notification types for the company.

Users and Groups

Machine

A service account that allowes for API access of system services.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "enabled": boolean, "formats": { string /* codified format */ : string }, "groups": [ number /* uint64 format, see UserGroup.id */ ], "insecure": boolean, "ipRanges": [ string /* ipv4 format */ ], "key": string, "language": string, "measurements": { string /* codified format */ : string /* one of the SystemsOfUnits values */ }, "nickname": string, "notAfter": string, /* datetime format */ "notBefore": string, /* datetime format */ "notes": string, "options": { string /* codified format */ : string }, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "referrers": [ string ], "secret": string, "services": [ string ], "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this user belongs.
See: Company.id
enabledbooleanIndicates whether system access is disable.
formatsobject{string(codified):string}
max-length of values: 20
The format strings defining the preferred way to display ambiguous values.
groupsarray[number(uint64)]A list of groups to which this machine account belongs.
See: UserGroup.id
insecurebooleanWhen true, no access restrictions (, , or ) are enforced.
ipRangesarray[string(ipv4)]Restrict service access to only the provided IP ranges. Currently we only support IPv4 anges using CIDR slash-notation.
keystring
max-length: 50
The unique idenifier used to access the system.
languagestring
min-length: 2
max-length: 5
Preferred region/language for the UI and notifications. Valid formats use <ISO 639-1><dash><ISO 3166-2> such as "fr-CA" or "en-US".
measurementsobject{string(codified):string(SystemsOfUnits)}Preferred way of displaying ambiguous numbers in the context of measurements.
nicknamestring
max-length: 100
Human friendly name for these credentials
notAfterstring(datetime)An optional timestamp that restricts this machine account from being used after the given date.
notBeforestring(datetime)An optional timestamp that restricts this machine account from being used before the given date.
notesstring
max-length: 8000
Notes about this machine.
optionsobject{string(codified):string}
max-length of values: 20
Additional options which do not fit in with the formats or measurements preferences.
permissionsarray[UserPermission]Permission rules which override the group rules.
referrersarray[string]
max-length of values: 254
Optional list of your managed domains from which this machine account can be used.
secretstring
max-length: 1000
A token used to encode or validate requests.
servicesarray[string]
max-length of values: 254
List of system service URIs that this machine account is permitted to access.
timezonestring(codified)The service account's local timezone.
See: Timezone.code
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

MachineDeleted

Relevant details of a Service Account which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "key": string }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this Service Account belonged.
keystringUnique identifier of the Service Account.

SessionHandle

A structure to provide details about other users' sessions.

JSON data structure

{ "active": boolean, "company": number, /* uint64 format */ "created": string, /* datetime format */ "handle": string, "ipAddress": string, /* ipv4 format */ "lastActivity": string, /* datetime format */ "login": string, /* email format */ "sockets": number, /* uint32 format */ "userAgent": string }

Data structure description

Properties
PropertyTypeDescription
activebooleanIndicates that there is at least one active WebSocket connection.
companynumber(uint64)Unique identifier of the company to which this session's user belongs.
createdstring(datetime)Date/time stamp from the moment this session was created.
handlestringThe unique handle (not identifier) used to manipulate sessions.
ipAddressstring(ipv4)Last reported IP address used by the client.
lastActivitystring(datetime)Date/time stamp of the last command sent to the system.
loginstring(email)This session's username.
socketsnumber(uint32)The number of WebSocket connections in use with this session.
userAgentstringClient software identification.

User

A grouping of credentials, information, preferences, and permissions for a person or machine to login to the system and access its resources.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "enabled": boolean, "formats": { string /* codified format */ : string }, "groups": [ number /* uint64 format, see UserGroup.id */ ], "language": string, "login": string, /* email format */ "measurements": { string /* codified format */ : string /* one of the SystemsOfUnits values */ }, "nickname": string, "notify": [ { "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] } ], "options": { string /* codified format */ : string }, "passwordExpired": boolean, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ], "v[0]": uint32, "v[1]": uint32 }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this user belongs.
See: Company.id
contactnumber(uint64)Contact information for this user.
See: Contact.id
enabledbooleanIndicates whether system access is disable.
formatsobject{string(codified):string}
max-length of values: 20
The format strings defining the preferred way to display ambiguous values.
groupsarray[number(uint64)]A list of groups to which this user belongs.
See: UserGroup.id
languagestring
min-length: 2
max-length: 5
Preferred region/language for the UI and notifications. Valid formats use <ISO 639-1><dash><ISO 3166-2> such as "fr-CA" or "en-US".
loginstring(email)
min-length: 6
max-length: 254
The unique public email address used to access the system.
measurementsobject{string(codified):string(SystemsOfUnits)}Preferred way of displaying ambiguous numbers in the context of measurements.
nicknamestring
max-length: 100
Human friendly name for these credentials
notifyarray[UserNotifications]
max-length: 7
Definition of how and when to send alerts to the user.
optionsobject{string(codified):string}
max-length of values: 20
Additional options which do not fit in with the formats or measurements preferences.
passwordExpiredbooleanIndicated whether the credentials have expired according to the company's policy.
permissionsarray[UserPermission]Individual permission rules which override the group rules.
timezonestring(codified)The user's local timezone.
See: Timezone.code
varray[number(uint32)]
fixed length: 2
Object version keys used to validate synchronization for different properties.
v[0]uint32Properties found in the UserGeneral object.
v[1]uint32Properties found in the UserAdvanced object.

UserAdvanced

Permissions and group membership defined for a user.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "groups": [ number /* uint64 format, see UserGroup.id */ ], "login": string, /* email format, see User.login */ "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this user belongs.
See: Company.id
groupsarray[number(uint64)]A list of groups to which this user belongs.
See: UserGroup.id
loginstring(email)
min-length: 6
max-length: 254
The unique public email address used to access the system.
See: User.login
permissionsarray[UserPermission]Individual permission rules which override the group rules.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

UserDeleted

Relevant details of a user which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "login": string /* email format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this user belonged.
loginstring(email)Unique identifier of the user.

UserGeneral

Credentials, information, and preferences about a user.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "contact": number, /* uint64 format, see Contact.id */ "enabled": boolean, "formats": { string /* codified format */ : string }, "language": string, "login": string, /* email format, see User.login */ "measurements": { string /* codified format */ : string /* one of the SystemsOfUnits values */ }, "nickname": string, "notify": [ { "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] } ], "options": { string /* codified format */ : string }, "passwordExpired": boolean, "timezone": string, /* codified format, see Timezone.code */ "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this user belongs.
See: Company.id
contactnumber(uint64)Contact information for this user.
See: Contact.id
enabledbooleanIndicates whether system access is disable.
formatsobject{string(codified):string}
max-length of values: 20
The format strings defining the preferred way to display ambiguous values.
languagestring
min-length: 2
max-length: 5
Preferred region/language for the UI and notifications. Valid formats use <ISO 639-1><dash><ISO 3166-2> such as "fr-CA" or "en-US".
loginstring(email)
min-length: 6
max-length: 254
The unique public email address used to access the system.
See: User.login
measurementsobject{string(codified):string(SystemsOfUnits)}Preferred way of displaying ambiguous numbers in the context of measurements.
nicknamestring
max-length: 100
Human friendly name for these credentials
notifyarray[UserNotifications]
max-length: 7
Definition of how and when to send alerts to the user.
optionsobject{string(codified):string}
max-length of values: 20
Additional options which do not fit in with the formats or measurements preferences.
passwordExpiredbooleanIndicated whether the credentials have expired according to the company's policy.
timezonestring(codified)The user's local timezone.
See: Timezone.code
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

UserGroup

A group of permissions that allow for easier user permission control.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "id": number, /* uint64 format */ "name": string, "notes": string, "permissions": [ { "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ } ], "v": [ number /* uint32 format */ ] }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this group belongs.
See: Company.id
idnumber(uint64)Unique identifier of this group.
namestring
max-length: 100
A name given to this group.
notesstringNotes about this group, and to whom this group should be applied.
permissionsarray[UserPermission]Permissions for this group.
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.

UserGroupDeleted

Relevant details of a group which was deleted.

JSON data structure

{ "company": number, /* uint64 format */ "id": number /* uint64 format */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company to which this group belonged.
idnumber(uint64)Unique identifier of this group.

UserNotifications

Definition of how and when to send alerts to the user.

JSON data structure

{ "email": string, /* email format */ "enabled": boolean, "end": string, /* duration format, see UserGeneral.timezone */ "name": string, "offline": [ NotificationsMethod ], "online": [ NotificationsMethod ], "sms": number, /* uint64 format */ "start": string, /* duration format, see UserGeneral.timezone */ "weekdays": [ boolean /* see UserGeneral.timezone */ ] }

Data structure description

Properties
PropertyTypeDescription
emailstring(email)
min-length: 6
max-length: 254
Email address where the sent is sent. If not specified, the email address from the User's is taken. If the contact has no email address, the alert is sent to the user's login.
enabledbooleanA flag for whether or not this schedule is in use.
endstring(duration)End time portion of the schedule that defines a period of the day when the user wants to receive alerts. The time value is defined in local time, not UTC.
See: UserGeneral.timezone
namestring
max-length: 100
A common name like "Weekdays" or "Off Hours".
offlinearray[NotificationsMethod]A list of the types of methods to use to notify the user when they are not connected.
onlinearray[NotificationsMethod]A list of the types of methods to use to notify the user when they have an active WebSocket connection.
smsnumber(uint64)SMS address where the alert is sent. If not specified, the mobile phone number from the User's is taken. If the contact has no mobile phone number, the alert is not sent.
startstring(duration)Start time portion of the schedule that defines a period of the day when the user wants to receive alerts. The time value is defined in local time, not UTC.
See: UserGeneral.timezone
weekdaysarray[boolean]A 7 item, boolean array, determines if the user should be notified on that day of the week. The days of the week are defined in local time, not UTC.
See: UserGeneral.timezone

UserPermission

A defined permission for users and groups.

JSON data structure

{ "company": number, /* uint64 format, see Company.id */ "labels": [ string /* see LabelStyle.code */ ], "level": string, /* one of the PermissionLevel values */ "method": string, /* one of the PermissionMethod values */ "type": string /* one of the PermissionType values */ }

Data structure description

Properties
PropertyTypeDescription
companynumber(uint64)The company that this permission targets.
See: Company.id
labelsarray[string]Codified names of labels. If list is empty, this permission applies for all labels.
See: LabelStyle.code
levelstring(PermissionLevel)The level of access being defined.
methodstring(PermissionMethod)The way the access is used.
typestring(PermissionType)The kind of permission or subscription.

White-labelling

ColourStyle

Part of the White-labelling profile definitions.

JSON data structure

{ "fill": string, "stroke": string }

Data structure description

Properties
PropertyTypeDescription
fillstring
max-length: 22
The colour of the background.
strokestring
max-length: 22
The colour of the text or outline.

CompanyReseller

Defines the seller company's details for white-labelling.

JSON data structure

{ "contactInfo": { string: number /* uint64 format, see Contact.id */ }, "domain": string, "favourite": string, "gamut": { string: { "fill": string, "stroke": string } }, "graphics": { string: string }, "icon": string, "id": number, /* uint64 format, see Company.id */ "languages": [ string ], "logo": string, "notifyEmail": { "incomingAddress": string, "incomingLogin": string, "incomingMessageNumber": number, /* uint32 format */ "incomingPort": number, /* uint16 format */ "incomingSecure": boolean, "incomingType": string, "outgoingAddress": string, "outgoingLogin": string, "outgoingPort": number, /* uint16 format */ "outgoingReplyTo": string, /* email format */ "outgoingSecure": boolean, "outgoingType": string }, "notifySms": { "notifyLimit": number, /* uint16 format */ "phoneNumbers": { string: array /* uint64 format */ } }, "parent": number, /* uint64 format, see Company.id */ "recoverBody": string, "recoverIsHtml": boolean, "recoverSubject": string, "serviceName": string, "termsPreamble": string, "termsUpdated": string, /* datetime format */ "v": [ number /* uint32 format */ ], "website": { string: string } }

Data structure description

Properties
PropertyTypeDescription
contactInfoobject{string:number(uint64)}
max-length of keys: 100
A list of Contacts for company specific things like Technical Support, Billing, etc...
See: Contact.id
domainstring
max-length: 100
The URN and path to the instance of v4. It does not contain the protocol because all instances are required to be HTTPS.
favouritestring
max-length: 200
The name of the icon file used for browser bookmarks.
gamutobject{string:ColourStyle}
max-length of keys: 25
Colours used as templates for status tags, labels, and places.
graphicsobject{string:string}
max-length of keys: 25
max-length of values: 30
A list of symbol names and their corresponding FontAwesome icon names.
iconstring
max-length: 200
The name of the image uploaded as the logo (used for collapsed/mobile view).
idnumber(uint64)Unique identifier of the Company.
See: Company.id
languagesarray[string]
max-length of values: 5
A list of supported languages for your customers.
logostring
max-length: 200
The name of the image uploaded as the logo (used for regular view).
notifyEmailNotificationServerEmailThe server used for notification and conversational email messages sent and received by the system.
notifySmsNotificationServerSmsDefinition for load-balanced outbound SMS numbers for the reseller.
parentnumber(uint64)The unique identifier of this company's parent organization.
See: Company.id
recoverBodystringThe body of the email sent to a user requesting a password reset.
recoverIsHtmlboolean
recoverSubjectstringThe subject of the email sent to a user requesting a password reset.
serviceNamestring
max-length: 150
The name of the branded service being provided to the seller's customers.
termsPreamblestringA preamble to the general terms and conditions offered by Fleet Freedom.
termsUpdatedstring(datetime)The date and time when the terms were updated. This will promt users who are logging-in to re-agree to the new terms
varray[number(uint32)]Object version keys used to validate synchronization for all object properties.
websiteobject{string:string}
max-length of keys: 25
max-length of values: 22
Themed colours used in the web-based UI.

NotificationServerEmail

The server used for notification and conversational email messages sent and received by the system.

JSON data structure

{ "incomingAddress": string, "incomingLogin": string, "incomingMessageNumber": number, /* uint32 format */ "incomingPort": number, /* uint16 format */ "incomingSecure": boolean, "incomingType": string, "outgoingAddress": string, "outgoingLogin": string, "outgoingPort": number, /* uint16 format */ "outgoingReplyTo": string, /* email format */ "outgoingSecure": boolean, "outgoingType": string }

Data structure description

Properties
PropertyTypeDescription
incomingAddressstringThe domain or IP address of the incoming email server.
incomingLoginstringThe username used to login to the incoming email server.
incomingMessageNumbernumber(uint32)IMAP message sequence number so only recent messages are retrieved.
incomingPortnumber(uint16)The port number of the incoming email server.
incomingSecurebooleanIs the incoming email server using a secure SSL/TLS connection (it should).
incomingTypestringThe type of incoming protocol to use (IMAP or POP3).
outgoingAddressstringThe domain or IP address of the outgoing email server.
outgoingLoginstringThe username used to login to the outgoing email server.
outgoingPortnumber(uint16)The port number of the outgoing email server.
outgoingReplyTostring(email)An optional field which can be set as the "sent from" and/or "reply-to" address.
outgoingSecurebooleanIs the outgoing email server using a secure SSL/TLS connection (it should).
outgoingTypestringThe type of outgoing protocol to use (only SMTP).

NotificationServerSms

Definition for load-balanced outbound SMS numbers for the White-labelling profile.

JSON data structure

{ "notifyLimit": number, /* uint16 format */ "phoneNumbers": { string: array /* uint64 format */ } }

Data structure description

Properties
PropertyTypeDescription
notifyLimitnumber(uint16)A per-number/per-day limit on the amount of Notifications sent.
phoneNumbersobject{string:array[(uint64)]}All phone numbers listed by the country (using two-digit ISO 3166-1 alpha-2 country codes) they each serve.

Special Types

API Definitions

ErrorCode

The possible errors returned for SocketResponses.
Values
ValueDescription
0
Success
Operation completed without error
1
Unknown error
An error by the client, or some other kind of unknown error.
2
Internal service error
Service error not because of client input
3
Invalid data
Client input data was not parsed properly
4
Invalid permission
Not a known permission
5
Permission denied
Operation not successful because access is restricted
6
Incorrect version key
Version keys sent with request do not match service version. In these cases, treat the service version as most recent.
61
Unknown command
What are you trying to do genius?
62
Timezone not found
The was not found.
80
There was an error retrieving the address' coordinates
Check the errorDetails for more information.
81
No coordinates could be found for the given address
Ensure the address is correct, or try again without postal code.
108
Operation has not yet started
The long-running operation is scheduled to start, and will when resources are ready.
109
Operation is running
The long-running operation is currently executing.
110
Operation failed
The long-running operation has failed; see message for details.
125
No change
The object or operation has not changed since the last request.
126
No content
The collection has no content or the operation produced none.
Assets
20
Asset not found
21
Asset not deleted
22
One or more assets in the list not found
63
Asset message not found
64
Dispatch task not found
82
There was an error calculating the directions or too many stops were given
Check the errorDetails for more information.
83
Directions could not be calculated between two or more stops
Ensure the each stop is correct, or try a shorter route.
96
Asset suspended
97
Asset not suspended
100
Dispatch task not deleted
101
Asset message not deleted
Behaviours and Scripts
23
Behaviour script not found
24
Behaviour script not deleted
25
Behaviour script currently in use by one or more behaviours
In order to delete a Behaviour Script, all Behaviours implementing this script must be deleted first.
26
Behaviour not found
27
Behaviour not deleted
104
Provider Script currently in use by one or more configs
In order to delete a Provider Script, all Provider Configs implementing this script must be deleted first.
Billing
111
Billing Profile not found
112
Billing Profile not deleted
113
Billing Hosting Rule not found
114
Billing Hosting Rule not deleted
115
Billing Hosting Discount not found
116
Billing Hosting Discount not deleted
117
Billing Hosting License not found
118
Billing Hosting License not deleted
119
Billing Report not found
120
Billing Report not deleted
Companies and Policies
12
Application not allowed
The given UserAgent is not allowed
13
IPAddress not allowed
IP restrictions are in place, and the client IP is not in the allowed list
15
Password doesn't comply with the password policy
See the for a reason as to why your password does not meet the criteria.
17
New password must be different
When changing a password, it must not be the same as the previous password.
28
Company not found
29
Company not deleted
58
LabelStyle code names must be unique
59
TagStyle code names must be unique
Contacts and Directory
31
Contact not found
32
Contact not deleted
121
Contact currently in use by one or more assets or users
In order to delete a Contact, all assets and users referencing this contact must be altered/deleted first.
File Hosting
33
Icon not found
34
Icon not deleted
68
Picture not found
69
One or more pictures in the list not found
70
Picture not deleted
90
Unsupported MIME type
91
File is too large
122
Document not found
123
Document not deleted
124
One or more documents in the list not found
Hours of Service
76
Carrier not found
77
Carrier not deleted
78
Trip Inspection not found
79
Trip Inspection not deleted
84
Driver E-Log not found
Maintenance
35
Maintenance job not found
36
Maintenance job not deleted
37
Maintenance schedule not found
38
Maintenance schedule not deleted
39
Maintenance schedule currently in use by one or more maintenance jobs
In order to delete a Maintenance Schedule, all Maintenance Jobs referencing this schedule must be deleted first.
Places
40
Place not found
41
Place not deleted
42
One or more places in the list not found
Providers and Configurations
43
Provider not found
44
Provider not deleted
45
One or more providers in the list not found
46
Cannot access deleted provider
47
Provider configuration template not found
48
Provider configuration not found
49
Provider configuration not deleted
50
Provider configuration currently in use by one or more providers
In order to delete a Provider Configuration, all Providers using this configuration must be deleted first, or have their configuration changed.
51
Invalid Provider configuration options
86
Provider's registration identifier is invalid or not found
87
Verification hash does not match Provider's
88
Unknown or invalid verification code
89
Verification code timeout has elapsed
92
Unknown or invalid provider type
98
Provider suspended
99
Provider not suspended
102
Provider Script not found
103
Provider Script not deleted
Reports and Templates
52
Report Template not found
53
Report Template not deleted
67
Report Result not found
75
Report Result not deleted
93
Report Schedule not found
94
Report Schedule not deleted
95
Not ready to server summary or breakdown data
Users and Groups
7
Session expired
User's session is expired or unknown
8
Please login
Please login before all other operations
9
Session was forcibly killed
User's session was ended by another user, or by company's session policy
10
Logged out
The session has ended
11
Invalid credentials
Is your caps-lock on?
14
Session active from another client
Session is active from another live connection
16
Password expired; please change your password
An expired password does not mean your session has expired. If you create a new session, it will ask you to update your password again.
18
Kill session failed
Unable to end the session
19
Session not found
30
User group not found
54
User not found
55
User not deleted
56
Cannot access deleted user
57
Cannot delete yourself
Don't do it! You have so much to live for!
60
One or more User groups in the list not found
65
User group currently in use by one or more users
66
User group not deleted
71
Permission escalation
Unable to perform operation because results would escalate user's permissions
72
User with this login already exists
73
Session throttled
Session or connection not allowed due to flooding.
74
One or more users in the list not found
85
The user has been disabled
105
Command throttled
Command not processed due to flooding.
127
Service account not found
128
Service account not deleted
129
The service account cannot access the requested API
White-labelling
106
CompanyReseller not found
This company does not have a reseller profile.
107
CompanyReseller not deleted
This company's existing reseller profile is not deleted.

Assets

AssetPlaceStatusType

The kinds of interactions had with a Place.
Values
ValueDescription
enterOccurs when an asset is outside a Place, then goes inside the boundary.
exitOccurs when an asset was inside the boundary of a Place, but then moves outside the boundary.
insideOccurs when the asset was inside the boundary before, and is still inside the boundary now.

AssetType

The four supported types of trackable things.
Values
ValueDescription
assetGeneric thing.
personHuman (or alien) Person.
trailerA towed vehicle without an engine.
vehicleA vehicle that moves with its own power.

Behaviours

BehaviourLogType

The type of logged message.
Values
ValueDescription
errUsed for errors.
infoUsed for more important messages.
logUsed for general information messages.
warnUsed for warnings.

BehaviourParameterType

Possible data-types given to BehaviourParameters.
Values
ValueDescription
booleanTrue or false.
jsonObject or array literal.
numberNumeric value (signed double-precision floating point number).
stringText.

Billing

BillableHostingType

The kind of service being billed.
Values
ValueDescription
assetGeneric dot-on-a-map tracking
dispatchTasks assignable to vehicles or persons
elogsFMCSA compliant E-Logs and Hours of Service
mobileEmployee/driver tracking
streetviewDashcam and live images hosting
vehicleVehicle tracking (includes VBus data, and engine hours)

BillableLicenseType

The kind of license being billed.
Values
ValueDescription
bewhereBeWhere license fee
calampCalAmp PULS fee
smartwitnessSmartWitness data hosting fee

BillingCurrency

Used for invoices.
Values
ValueDescription
CADCanadian dollars
EUROEurozone currency
USDAmerican dollars

BillingCycle

The type of repeating cycle used for generating bills.
Values
ValueDescription
annuallyOnce per year
monthlyOnce a month
quarterlyEvery three months

Companies

ExpiryModePolicy

Defines how User passwords expire.
Values
ValueDescription
daysPasswords expire after a defined number of days.
neverPasswords never expire.
sessionsPasswords expire after a defined number of successful logins.

MultiUserPolicy

Defines the behaviour of the system when a user creates multiple sessions.
Values
ValueDescription
allowAllow users to create multiple simultaneous sessions.
denyDeny users from creating new sessions if they already have an active session.
replaceAllow users to create a new session, but automatically kill the previous session.

Dispatch

TaskStatus

Tasks have a lifetime and each status represents a task's progress through it's life.
Values
ValueDescription
arrivedThe asset has arrived at the task's location.
cancelledThe task was cancelled by either the asset or a user.
completedThe task is done.
createdThe task has been created, but not yet assigned to an asset.
damagedAn item associated with this task is damaged.
droppedOffAn item was dropped-off for this task.
onRouteThe asset is on the way to the task's location next.
pickedUpAn item was picked-up for this task.
queuedThe task has been given to an asset (and delivered to the asset's primary device).
unsuccessfulThe task couldn't be completed by the asset.
waitingThe asset is waiting and can't complete the task.

File Hosting

DashcamDataType

The type of dashcam data being stored.
Values
ValueDescription
imageImage
unknownUnknown or other.
videoVideo

IconLayer

The layers of the map used to visualize the icon.
Values
ValueDescription
drawingsAn SVG only layer for special drawing controls. Icons should not use this layer.
editsAn HTML only layer for special drawing controls. Icons should not use this layer.
fillsAn SVG only layer just above the roads used for solid Places and accuracy radius fill.
labelsAn HTML only layer intended for use by an icon's label.
markersAn HTML only layer intended for use by an icon's main images.
outlinesAn SVG only layer intended for use by shape and accuracy radius outlines.
shadowsAn HTML only layer intended for use by an icon's drop-shadow.

Hours of Service

HosCycle

Driving cycle behaviour
Values
ValueDescription
canada120h14dCanada South 120 hour / 14 days (Cycle 2)
canada120h14dNCanada North 120 hour / 14 days (Cycle 2)
canada70h7dCanada South 70 hour / 7 days (Cycle 1)
canada80h7dCanada North 80 hour / 7 days (Cycle 1)
canadaOilGasCanada Oil and Gas
unknownSome other cycle
usa60h7dUSA Federal 60 hour / 7 days
usa60h7d_pUSA Federal 60 hour / 7 days (passenger)
usa70h8dUSA Federal 70 hour / 8 days
usa70h8d_pUSA Federal 70 hour / 8 days (passenger)
usaAlaska70h7dUSA Alaska 70 hour / 7 days
usaAlaska70h7d_pUSA Alaska 70 hour / 7 days (passenger)
usaAlaska80h8dUSA Alaska 80 hour / 8 days
usaAlaska80h8d_pUSA Alaska 80 hour / 8 days (passenger)
usaCalifornia112h8dUSA California 112 hours / 8 days (farm products)
usaCalifornia112h8d_pUSA California 112 hours / 8 days (passenger)
usaCalifornia80h8dUSA California 80 hour / 8 days
usaCalifornia80h8d_pUSA California 80 hour / 8 days (passenger)
usaTexas70h7dUSA Texas 70 hour / 7 days

HosDataTransferType

Method of transferring HoS E-logs to the authorities
Values
ValueDescription
canadaEmailMTO via Email
usaEmailFMCSA via Email
usaWebserviceFMCSA via Webservice portal

HosDefectArea

Shows where a defect was located on the rig.
Values
ValueDescription
tractorDefect on the vehicle.
trailerDefect on one of the trailers.

HosDefectStatus

Resolution status for trip inspection defects
Values
ValueDescription
correctedIssue fixed or resolved
harmlessIssue does not affect operation
satisfactoryDoes not need to be corrected

HosDiagnosticCode

Data diagnostic events
Values
ValueDescription
dataTransferData transfer data diagnostic event
engineEngine synchronization data diagnostic event
missingDataMissing required data elements data diagnostic event
otherOther ELD identified diagnostic event
powerPower data diagnostic event
unidentifiedUnidentified driving records data diagnostic event

HosEventCodeCycleChanged

Specifies the nature of the change indicated for "Canadian cycle changed" event type
Values
ValueDescription
1Cycle set to "Cycle 1"
2Cycle set to "Cycle 2"

HosEventCodeDeferredHours

Deferred hours status for events while running Canadian cycles.
Values
ValueDescription
0Hours have not been defefred.
1Hours deferred from Day 1.
2Hours deferred from Day 2.

HosEventCodeDiagnostic

Specifies the nature of the change indicated in "Diagnostic" event type
Values
ValueDescription
-1Unknown duty status
1An ELD malfunction logged
2An ELD malfunction cleared
3A data diagnostic event logged
4An data diagnostic event cleared

HosEventCodeDutyStatus

Specifies the nature of the change indicated in "Duty Status" event type
Values
ValueDescription
-1Unknown duty status
1Driver's duty status changed to "Off-duty"
2Driver's duty status changed to "Sleeper Berth"
3Driver's duty status changed to "Driving"
4Driver's duty status changed to "On-duty not driving"
5Waiting status is an Off-duty for some cases in Oil and Gas cycle.

HosEventCodeEnginePower

Specifies the nature of the change indicated in "Engine Power" event type
Values
ValueDescription
-1Unknown duty status
1Engine power-up with conventional location precision
2Engine power-up with reduced location precision
3Engine shut-down with conventional location precision
4Engine shut-down with reduced location precision

HosEventCodeIntermediate

Specifies the nature of the change indicated in "Intermediate" event type
Values
ValueDescription
-1Unknown
1Intermediate log with conventional location precision
2Intermediate log with reduced location precision

HosEventCodeLogin

Specifies the nature of the change indicated in "Login" event type
Values
ValueDescription
-1Unknown
1Authenticated driver's ELD login activity
2Authenticated driver's ELD logout activity

HosEventCodeOther

Specifies the nature of the change indicated in "Other" event type
Values
ValueDescription
-1Unknown
0Driver indication for PC, YM and WT cleared
1Driver indicates "Authorized Personal use of CMV"
2Driver indicates Yard moves"

HosEventCodeZoneChanged

Specifies the nature of the change indicated for "Canadian zone changed" event type
Values
ValueDescription
1Operating zone set to "south of latitude 60°N in Canada"
2Operating zone set to "north of latitude 60°N in Canada"
3Operating zone set to "United States"

HosEventOrigin

Indicates where the event was generated.
Values
ValueDescription
automaticAutomatically recorded by ELD
driverEntered or edited by driver
unidentifiedAssumed from unidentified driver profile
userEdit requested by an authenticated user other than driver

HosEventStatus

Event record status
Values
ValueDescription
activeActive
inactiveChangedInactive - changed
inactiveChangeRejectedInactive - change rejected
inactiveChangeRequestedInactive - change requested

HosEventType

Event record type
Values
ValueDescription
1A change in driver's duty-status.
2An intermediate log
3A change in driver's indication of authorized personal use of CMV or yard moves.
4A driver's certification/re-certification of records.
5A driver's login/logout activity.
6CMV's engine power up/shutdown activity.
7A malfunction or data diagnostic detection occurence.
20Canadian cycle off-duty hours deferred.
21Canadian cycle changed.
22Canadian cycle operating zone changed.
23Canadian cycle additional hours not recorded.

HosMalfunctionCode

Compliance Malfunction events
Values
ValueDescription
EEngine synchronization compliance malfunction
LPositioning compliance malfunction
OOther ELD detected malfunction
PPower compliance malfunction
RData recording compliance malfunction
SData transfer compliance malfunction
TTiming compliance malfunction

HosViolationType

Violations
Values
ValueDescription
break_2424 Hour Break Required
break_3030 Minute Break Required
consecutive_off_8Daily 8 Consecutive Hours Off Duty Required
cycle_112112 Hour Cycle Limit
cycle_120120 Hour Cycle Limit
cycle_6060 Hour Cycle Limit
cycle_7070 Hour Cycle Limit
cycle_8080 Hour Cycle Limit
cycle_switching_3636 Hours Break Required for Cycle Switching
cycle_switching_7272 Hours Break Required for Cycle Switching
daily_break_10Daily 10 Hour Off-Duty Required
daily_break_8Daily 8 Hour Off-Duty Required
daily_driving_13Daily 13 Hour Driving Limit
daily_duty_14Daily 14 Hour On-Duty Limit
deferred_break_1010 Consecutive Hours Off Duty Required on Day 2
deferred_break_12Off Duty Time Insufficient on Day 2
driving_1010 Hour Driving Limit
driving_1111 Hour Driving Limit
driving_1313 Hour Driving Limit
driving_1515 Hour Driving Limit
duty_1414 Hour Shift Limit
duty_1515 Hour On-Duty Limit
duty_1616 Hour Shift Limit
duty_1818 Hour Shift Limit
duty_2020 Hour Shift Limit
noneNo violation
oil_break_243 periods of 24 Hour Break Required

Maintenance

MaintenanceJobStatus

The lifetime of a Maintenance Job
Values
ValueDescription
cancelledThe job was cancelled or was not necessary.
completedWork is completed.
pastdueThe work was scheduled, but not yet done.
pendingThe work will need to be performed soon.

Messaging

AlertPriority

The priority of the alert.
Values
ValueDescription
highSends before low and normal priority alerts.
lowSends when no other alerts are pending in the queue.
normalSends in when there are no high priority alerts in the queue.

MemoStatus

Memos have a lifetime and each status represents a memos's progress through it's life.
Values
ValueDescription
acknowledgedMemo has been responded to or acknowledged by the recipient.
bouncebackMemo sent, but returned with error from receiving server.
createdWaiting to be sent.
failedFailed to send.
processedSent or received.
throttledFailed to send because too many memos were sent.

MemoType

The kind of protocol used for this memo.
Values
ValueDescription
apnApple Push Notification Service
emailEmail
gcmGoogle Cloud Message
pndGarmin/Magellan/etc (Personal Navigation Device)
smsShort Message Service (text message)
socketWebSocket alert message
unknownIf the type of memo has not yet been determined, or there was an error determining its type.

MessageFolder

The name of folder where the message is stored.
Values
ValueDescription
archiveThe archive contains all previous messages, but must be queried from disk for retrieval.
inboxThe inbox is loaded quickly from memory, but messages regularly move to the archive.

Places

ShapeType

The types of geography the system supports
Values
ValueDescription
pointA lat/long coordinate pair. Places of this type do not contain the or keys.
polygonThe is an array of lat/long coordinates used to create a boundary. Places of this type do not contain the key.
radialDefined as a radius around a lat/long pair used to create a circular boundary. Places of this type do not contain the key.
rectangleThe is an array of two lat/long coordinates defined as north-east and south-west corners. Places of this type do not contain the key.

Providers and Configurations

ProviderDataGroup

Event groups used in ProviderAdvanced.data.
Values
ValueDescription
CAMERADashcam picture and video recording events
CELLCellular network information.
DISPATCHTask, clock-in/out, paired vehicle and driver information.
GPSGPS and location data.
IOWiring data.
STATUSProvider status and sensor data.
VBUSOBD-II and J-Bus data.

ProviderDataName

The kinds of values given by providers in []:.
Values
ValueDescription
CAMERA
CAMERA_1
CAMERA_2
CAMERA_3
CAMERA_4
ACK_BYTES_IN
CELLUAR_IP_ADDRESS
CELLUAR_ROAMING
CELLUAR_SERVICE
CELLUAR_WAN_IP
CELLULAR_CARRIER
CELLULAR_COMM_STATE
CELL
CELLULAR_RSSI
DATA_AGE
DATA_BYTES_IN
DATA_BYTES_OUT
GPR_STATE
GSM_STATE
HOURS_DISCONNECTED_COUNTER
HOURS_ON_COUNTER
PASSTHROUGH_USER_MESSAGE
PASSTHROUGH_USER_MESSAGE_ID
PDP_STATE
PERCENT_LOST_GPRS
PERCENT_LOST_GSM
PERCENT_LOST_PDP
POLICY_FAULT_MESSAGEID
POLICY_FAULT_TEXT
SERVICE_FAULT_MESSAGEID
SERVICE_FAULT_TEXT
SERVICE_RESPONSE
SMS_MSG_IN_COUNTER
SMS_MSG_OUT_COUNTER
SMS_SPAM_MSG_IN_COUNTER
TERMINAL_STATUS
DISPATCH_TASKA task is marked as active or "on-route" when the DispatchTask.id is sent.
DRIVER_DRIVINGWhen the driver changes status to "driving" from another status.
DRIVER_LOGINWhen the driver logs-in the terminal/vehicle.
DRIVER_LOGOFFWhen the driver logs-off the terminal/vehicle.
DRIVER_OFFDUTYWhen the driver changes status to "off-duty" from another status.
DISPATCH
DRIVER_ONDUTYWhen the driver changes status to "on-duty" from another status.
DRIVER_SLEEPINGWhen the driver changes status to "sleeping" from another status.
DRIVER_VEHICLEWhen the driver chooses a specific vehicle during the log-in process.
HOS_DRIVER
HOS_IS_CODRIVER
HOS_STATUS
HOS_VEHICLE
HOS_VIOLATION
COURSEThe heading or bearing over time.
GEOFENCE_IDID of violated geofence
GEOFENCE_VIOLATIONGeofence violation types(outside fence violation, inside fence violation)
GPS_ACCELERATIONA virtual accelerometer calculated by the GPS system's positions
GPS_ACCURACYThe approximate accuracy of the GPS fix
GPS_ALTITUDEAltitude above sea-level
GPS_ANTENNA_STATUSGPS antenna status could be related to power or unplugged states
GPS_DECELERATIONA virtual accelerometer calculated by the GPS system's positions
GPS_DISTANCEDistance measured between two GPS fixes
GPS_FIX_STATUSStatus or validity of the GPS fix
GPS_FIX_TIMEDate/time stamp of the most recent GPS fix
GPS_HDOPHorizontal dilution of precision for 3D fixes
GPS_HEADINGDirection of travel
GPS
GPS_LATITUDELatitude in decimal degrees
GPS_LONGITUDELongitude in decimal degrees
GPS_LOST_TIMEDate/time stamp from when the device lost GPS signal
GPS_ODOMETERA virtual odometer accumulated by the GPS system's positions
GPS_SATELLITESThe number of satellites used to obtain the GPS fix
GPS_SPEEDSpeed measured by GPS fix differentiation
MAGNETIC_VARIATIONDifference in horizontal angle between true north and magnetic north
PERCENT_LOST_GPSDate/time stamp from when the device lost its precise GPS position
PERCENT_LOST_GPS_QUALITY_FACTORStatistical amount of bad GPS data
ANALOG_INPUT_0Analog voltage reading from wire zero, or external power voltage, or internal battery voltage
ANALOG_INPUT_1Analog voltage reading from wire #1
ANALOG_INPUT_10Analog voltage reading from wire #10
ANALOG_INPUT_11Analog voltage reading from wire #11
ANALOG_INPUT_2Analog voltage reading from wire #2
ANALOG_INPUT_3Analog voltage reading from wire #3
ANALOG_INPUT_4Analog voltage reading from wire #4
ANALOG_INPUT_5Analog voltage reading from wire #5
ANALOG_INPUT_6Analog voltage reading from wire #6
ANALOG_INPUT_7Analog voltage reading from wire #7
ANALOG_INPUT_8Analog voltage reading from wire #8
ANALOG_INPUT_9Analog voltage reading from wire #9
BAROMETRIC_PRESSURE
BATTERY_LEVEL
IO
DIGITAL_INPUT_0Digital input wire zero, or external power, or internal battery power
DIGITAL_INPUT_1Digital input wire #1
DIGITAL_INPUT_10Digital input wire #10
DIGITAL_INPUT_11Digital input wire #11
DIGITAL_INPUT_2Digital input wire #2
DIGITAL_INPUT_3Digital input wire #3
DIGITAL_INPUT_4Digital input wire #4
DIGITAL_INPUT_5Digital input wire #5
DIGITAL_INPUT_6Digital input wire #6
DIGITAL_INPUT_7Digital input wire #7
DIGITAL_INPUT_8Digital input wire #8
DIGITAL_INPUT_9Digital input wire #9
DIGITAL_INPUT_DTRLegacy AirLink digital input wire #2
DIGITAL_INPUT_RTSLegacy AirLink digital input wire #1
DIGITAL_OUTPUT_0Voltage output wire #0
DIGITAL_OUTPUT_1Voltage output wire #1
DIGITAL_OUTPUT_10Voltage output wire #10
DIGITAL_OUTPUT_11Voltage output wire #99
DIGITAL_OUTPUT_2Voltage output wire #2
DIGITAL_OUTPUT_3Voltage output wire #3
DIGITAL_OUTPUT_4Voltage output wire #4
DIGITAL_OUTPUT_5Voltage output wire #5
DIGITAL_OUTPUT_6Voltage output wire #6
DIGITAL_OUTPUT_7Voltage output wire #7
DIGITAL_OUTPUT_8Voltage output wire #8
DIGITAL_OUTPUT_9Voltage output wire #9
EXTERNAL_TEMPERATURETemperature measured outside of the modem casing.
GPIO0Switchable input/output wire zero, or external power, or internal battery
GPIO1Switchable input/output wire #1
GPIO2Switchable input/output wire #2
GPIO3Switchable input/output wire #3
GPIO4Switchable input/output wire #4
GPIO5Switchable input/output wire #5
GPIO6Switchable input/output wire #6
GPIO7Switchable input/output wire #7
GPIO8Switchable input/output wire #8
GPIO9Switchable input/output wire #9
HUMIDITY
IO
INTERNAL_TEMPERATURETemperature measured on the mainboard, or inside the modem casing.
IO
LIGHT
IO
TEMPERATURE_SENSOR_1
TEMPERATURE_SENSOR_2
TEMPERATURE_SENSOR_3
TEMPERATURE_SENSOR_4
RFID
TAG_COUNT
TAG_LIST
STATUS,IO
ACCELEROMETERA virtual accelerometer calculated by the GPS system's positions
STATUS,IO
MOTION_STATUSMotion status determined by the GPS speed and ignition
APP_IDIdentifier of the application communicating with the service(s).
APP_VERSIONSoftware/firmware version information.
BOOT_VERSIONBoot or kernel version information.
CONFIG_VERSION
STATUS
ESNThe device's ESN (Electronic Serial Number).
EVENT_CODEThe provider-specific event code.
EVENT_NAMEThe provider-specific event name. See for more information.
EVENT_TIMEThe time of the event.
GPS_HARDWAREGPS chip information.
HARDWARE_VERSIONDevice model information.
ICCIDThe device's ICCID (Integrated Circuit Card ID)
IMEIThe device's IMEI (International Mobile Station Equipment Identity).
STATUS
IMPACT
IMSIThe device's IMSI (International Mobile Subscriber Identity).
LAST_CONFIG_UPDATE
LAST_ID_REPORT
MAIN_FIRMWARE_VERSION
MINThe device's MIN (Mobile Identification Number).
MODEM_MODELDevice model name.
MODEM_MODEL_IDDevice model name.
MODEM_NAMEDevice friendly name.
NEW_SIM_ID
NUMBER_OF_OTA_TRY
OBDII_FIRMWARE_VERSION
OS_NAMEOperating System name (appropriate for mobile phones powered by Android or iOS).
OS_VERSIONOperating System version information.
PHONE_NUMBERPhone number
POWER_UP_COUNTER
PREFERED_ROAMING_LIST
PREVIOUS_SIM_ID
RADIO_VERSION
STATUS
RAP_VERSION
REGISTRATION_IDUnique string given to mobile apps for FCM notifications.
RESET_COUNTER
SECONDARY_IMEIThe device's secondary IMEI.
SEQUENCE_NUMBER
SEQUENCE_NUMBER_FIRST
SEQUENCE_NUMBER_LAST
SERIAL_NUMBERA serial not used as ESN, IMEI, or similar.
SOURCE
STATUS_POWERUPBooting
STATUS
STATUS_SLEEPLow power mode
STATUS_WAKEUPHigh power mode
AIR_TEMPERATURE
ANTI_ICE_RATE
BILLING
BLAST
CONTROLLER
DISTANCE_TRAVELLED_AFTER_MIL_ON
DRY_RATE
ENGINE_HOURS
EQUIVALENT_COMMAND_RATIO
FUEL_TYPE
J1708_ACCELERATOR_PEDAL_POSITION
J1708_BATTERY_VOLTAGE
J1708_DIAGNOSTIC_CODE
J1708_ENGINE_AVERAGE_FUEL_ECONOMY
J1708_ENGINE_COOLANT_PRESSURE
J1708_ENGINE_COOLANT_TEMP
J1708_ENGINE_OIL_PRESSURE
J1708_ENGINE_OIL_TEMP
J1708_ENGINE_SPEED
J1708_FUEL_RATE
J1708_ODOMETEROdometer reading from J-Bus 1708
J1708_SEATBELT
J1708_STATUS
J1708_TOTAL_ENGINE_HOURS
J1708_TOTAL_FUEL
J1708_TOTAL_IDLE_FUEL
J1708_TOTAL_IDLE_HOURS
J1708_VEHICLE_SPEED
J1939_ACCELERATOR_PEDAL_POSITION
J1939_BATTERY_VOLTAGE
J1939_DIAGNOSTIC_CODE
J1939_ENGINE_AVERAGE_FUEL_ECONOMY
J1939_ENGINE_COOLANT_PRESSURE
J1939_ENGINE_COOLANT_TEMP
J1939_ENGINE_OIL_PRESSURE
J1939_ENGINE_OIL_TEMP
J1939_ENGINE_SPEED
J1939_FUEL_RATE
J1939_ODOMETEROdometer reading from J-Bus 1939
J1939_SEATBELT
J1939_STATUS
J1939_TOTAL_ENGINE_HOURS
J1939_TOTAL_FUEL
J1939_TOTAL_IDLE_FUEL
J1939_TOTAL_IDLE_HOURS
J1939_TRANSMISSION_GEAR
J1939_TURN_SIGNAL
J1939_VEHICLE_SPEED
LEFT_WIRING
MARTERIAL_TYPE
VBUS
MIL_STATUS
OBDII_AIR_FLOW_RATE
OBDII_AIR_INTAKE_TEMPERATURE
OBDII_AMBIENT_AIR_TEMPERATURE
OBDII_BAROMETRIC_PRESSURE
OBDII_BATTERY_VOLTAGE
OBDII_BOOST_PRESSURE_INTAKE_MANIFOLD_PRESSURE
OBDII_DERIVED_ENGINE_STATE
OBDII_DISTANCE_SINCE_CODE_CLEARED
OBDII_DISTANCE_TRAVELLED_AFTER_MIL_ON
OBDII_DTCDiagnotic Trouble Code
OBDII_DTC_COUNTThe number of DTCs present
OBDII_ENGINE_AVERAGE_FUEL_ECONOMY
OBDII_ENGINE_COOLANT_PRESSURE
OBDII_ENGINE_COOLANT_TEMP
OBDII_ENGINE_LOAD
OBDII_ENGINE_OIL_TEMP
OBDII_ENGINE_SPEED
OBDII_EQUIVALENT_COMMAND_RATIO
OBDII_FUEL_AIR_COMMANDED_EQUIVAILENCE_RATIO
OBDII_FUEL_LEVEL
OBDII_FUEL_LEVEL_REMAINING
OBDII_FUEL_PRESSURE
OBDII_FUEL_RAIL_PRESSURE
OBDII_FUEL_RATE
OBDII_FUEL_TYPE
OBDII_HIGH_BATTERY_VOLTAGE
OBDII_IGNITION_TIMING_ADVANCE
OBDII_INDICATORSList of OBD-II indicators
OBDII_INSTANT_FULE_RATE
OBDII_LONG_TERM_FUEL_TRIM_BANK_1
OBDII_LONG_TERM_FUEL_TRIM_BANK_2
OBDII_LOW_BATTERY_VOLTAGE
OBDII_MILES_SINCE_LAST_ALERTOdometer reading from CAN-Bus since last DTC code was cleared
OBDII_ODOMETEROdometer reading from CAN-Bus
OBDII_OEM_PARAMETERS
OBDII_OEM_PROTOCOL
OBDII_PARAMETERSList of OBD-II parameters
OBDII_PROTOCOLame or code of the OBD-II protocol in use.
OBDII_SEATBELT
OBDII_SHROT_TERM_FUEL_TRIM_BANK_1
OBDII_SHROT_TERM_FUEL_TRIM_BANK_2
OBDII_THROTTLE_POSITION
OBDII_TOTAL_ENGINE_HOURS
OBDII_TRANSMISSION_GEAR
OBDII_TRIP_FUEL_CONSUMPTION
OBDII_TRIP_ODOMETER
OBDII_TURN_SIGNAL
OBDII_VEHICLE_SPEED
OBDII_WIDEBAND_AIR_FUEL_RATIO
OBDII_YMME
PAUSE
PLOW_PRIMARY
PLOW_SECONDARY
PREWET_RATE
RIGHT_WIRING
ROAD_TEMPERATURE
SPINNER_RATE
SPREADER_STATUS_BLAST
SPREADER_STATUS_COMMUNICATION
SPREADER_STATUS_LIQUID
SPREADER_STATUS_MARTERIAL
SPREADER_STATUS_PREWET
VBUS
SPREADER_STATUS_SOLID
TOTAL_LIQUID
TOTAL_PREWET
TOTAL_SOLID
UNIT_STATUS
VBUS_ACCELERATOR_PEDAL_POSITION
VBUS_BRAKE_SWITCH_STATUS
VBUS_TOTAL_FUEL_USED
VBUS
VINVehicle Identification Number

ProviderDataUnit

Suggested units for ProviderData attributes.
Values
ValueDescription
aAmperage
cDegrees Celsius. Used for temperature
cmpsSpeed in centimetres per second
cmps2Centimetres per second squared. Used for accelerometers.
degreeUsed for heading/bearing, latitude, and longitude
fDegrees Fahrenheit. Used for temperature
galVolume in US gallons
gfG-force. Used for accelerometers.
gramWeight by gram
hourUsed for times.
kDegrees Kelvin. Used for temperature
kgWeight by kilogram
kgpkmDry rate in kilogram per kilometer
kilometreDistance
knSpeed in nautical miles per hour
knpsSpeed in nautical miles per second
kphSpeed in kilometres per hour
lVolume in litres
l100kmFuel economy in litres per 100 kilometres
lbsWeight by pounds
lmLight by Lumens
lphFuel consumption in litres per hour
lpkmPrew and anti ice rate in liter per kilometer
meterDistance
mgfMilli-G-force (thousandths). Used for accelerometers.
mileDistance
minuteUsed for times.
mipsSpeed in miles per second
mlVolume in millilitres
mlphFuel consumption in millilitres per hour
mpgFuel economy in miles per gallon
mphSpeed in miles per hour
mvVoltage in millivolts
percentPercentage (%)
rpmEngine speed
secondUsed for times.
vVoltage

ProviderEventName

The kinds of event messages.
Values
ValueDescription
ACCELERATIONHard-acceleration detected
DECELERATIONHard-braking detected
GPS_FOUNDGPS signal re-acquired.
GPS_LOSTGPS fix was lost.
HARSH_TURNHard-cornering detected
IB_INGen-X iButton clock-in
IB_OUTGen-X iButton clock-out
IDLINGVehicle is stopped and the ignition is on.
IGNITION_OFFVehicle's ignition turned off.
IGNITION_ONVehicle's ignition turned on.
IMPACTImpact detected
IN_REGIONHas entered a designated region or geofence
LIGHT_OUT_OF_BANDBeWhere Light sensor alert
MOVINGDevice is in motion
OUT_REGIONHas left a designated region or geofence
PARKVehicle has stopped and engaged parking brake or the transmission was set to "P".
PERIODICRegular interval report.
POWER_CONNECTEDExternal power was connected.
POWER_DISCONNECTEDExternal power was disconnected.
POWER_OFFModem is powering off or shutting down.
POWER_UPModem has completed its power-on or boot routine.
SHORT_POWER_OUTModem is shutting down immediately.
SLEEPModem is going in to low-power state or sleep mode.
SPEEDINGDevice is speeding
SPEEDING_STOPDevice stopped speeding
STOP_MOVINGDevice has stopped moving
TAMPER_DETECTTamper detection sensor activated
UNDEFINEDUnknown or undefined event name.
VIN_FOUNDVIN has been retreived from VBus
WAKE_UPModem is coming in to normal power consumption state, or wake mode.

ProviderScriptParameterType

Possible data-types given to ProviderScriptParameter.
Values
ValueDescription
booleanTrue or false.
numberNumeric value (double-precision floating point number).
textText.

ProviderType

Protocols supported by the system.
Values
ValueDescription
airlinkSierra Wireless AirLink RAP protocol
atrackATrack device protocols
bewhereBeWhere beacon protocols
bluetreeSixnet BlueTree BEP protocol
calampCalAmp LMU/TTU modem protocols
datatransTachWest DataTrans protocol
enforaEnfora (Novotel) modem protocols
genxGen-X modem protocol
jsonFleet Freedom JSON protocol
lbsBell Mobility LBS
lmuCalAmp LMU series protocol
mobileTrak iT Wireless Mobile App
smartwitnessSmartWitness dashcam formats
spiderATNovotel Enfora SpiderAT protocol
spiderMTNovotel Enfora SpiderMT protocol
titanCertified Tracking protocol
ttuCalAmp TTU series protocol
unknownYour guess is as good as mine. It should never be this.

ProvisioningStatus

Progress lifetime of changing the on-board information of a remote device.
Values
ValueDescription
cancelledSending of the new configuration was halted by a user.
completedNew configuration successfully sent to provider.
createdThe new configuration has been created, but not yet sent to the provider.
errorSomething went wrong while trying to send configuration.
inProgressCurrently sending configuration over-the-air to the provider.
maxRetriesThe maximum number of retries were attempted before giving up.
otaSentA message was sent to the provider asking it to check in.
partialOnly a partial configuration was sent to the provider.
pendingProvider is notified of new configuration, but has not yet checked in.
unknownYour guess is as good as mine. It should never be this.

Real-time Analytics

AnalyticParameterType

The kinds of parameters required and optional to build Report Results
Values
ValueDescription
distanceThe minimum distance travelled in a Summary Instance before it is included in the results. Supplied as a number of meters.
durationThe minimum amount of time for a Summary nice before it is included in the results. Supplied as a duration string.
prolongedThe maximum amount of time in a Summary Instance before it is split into two and the latter marked as an exception in the results. Supplied as a duration string.
rubiconThe maximum distance travelled in a Summary Instance before it is split into two and the latter marked as an exception in the results. Supplied as a number of meters.
tagsA list of status tags an Asset must have to be included in the results. Should be a comma separated string of codified tag names.
timeOfDayTime-span processed on each day. Only data within the time-span is included in the results. The times should be 2 space separated duration strings.

AnalyticsType

The types an analyses being performed.
Values
ValueDescription
placesAll Places visited.
regionsEvery geographic region such as cities, provinces/states, and countries.
tagsAnalysis for each Status Tag applied to each asset.
tasksLife-time of each Task assigned to each asset.

Reports

ReportDataSummaryReason

The kind of reason associated with the range caps for a summary instance.
Values
ValueDescription
filterMatchThe asset started/stopped matching the report filter settings. For example, they left a province or entered a Place.
outsideRangeIf the report starting/ending date range overlaps the actual start of the state.
splitThe summary instance elapsed a Rubicon or prolonged parameter, and was split into two summary instances.
stateMatchThe asset started/stopped matching the required state. For example, a status tag was added or removed.
targetedThe targeting query starts or stops matching. For example, the Asset's labels were changed.

ReportFilterMode

Drill-down mechanism for highlighting only those places and regions desired in report results.
Values
ValueDescription
exclusiveExclude all results except those whose filters match.
inclusiveInclude any results for those whose filters match.
noneFiltering is not enabled for the report.

ReportParameterType

The kinds of parameters required and optional to build Report Results
Values
ValueDescription
attributesA list of attribute names an Asset must have to be included in the results. Should be a comma separated string of codified tag names.
collateA choice in the method used to calculate a Summary Instance's values. For an attribute report, the possible values are "instance" where if the attribute is present it is included, and "value" where each attribute's simple value becomes it's own summary instance. For a Tag Summary report, the possible values are "inclusive" where any of the given tags must match, and "exclusive" where all the given tags must match.
distanceThe minimum distance travelled in a Summary Instance before it is included in the results. Supplied as a number of meters.
durationThe minimum amount of time for a Summary nice before it is included in the results. Supplied as a duration string.
endDateThe ending date/time range for events to be included in the results. The date should be a valid ISO-8601 string.
prolongedThe maximum amount of time in a Summary Instance before it is split into two and the latter marked as an exception in the results. Supplied as a duration string.
rubiconThe maximum distance travelled in a Summary Instance before it is split into two and the latter marked as an exception in the results. Supplied as a number of meters.
startDateThe staring date/time range for events to be included in the results. The date should be a valid ISO-8601 string.
tagsA list of status tags an Asset must have to be included in the results. Should be a comma separated string of codified tag names.
timeOfDayTime-span processed on each day. Only data within the time-span is included in the results. The times should be 2 space separated duration strings.

ReportRecurrenceType

Specifies how often a Report Template is automatically generates a Report Result.
Values
ValueDescription
annuallyYearly at midnight in the local timezone based on the ReportRecurrence.start date.
dailyDaily at midnight in the local timezone for the previous day based on the ReportRecurrence.weekdays.
monthlyMonthly at midnight in the local timezone for the previous month based on the ReportRecurrence.start date.
onceRuns only once. This type is used for large reports which need to run overnight.
quarterlyRuns once every three months at midnight in the local timezone for the previous 3 months based on the ReportRecurrence.start date.
weeklyWeekly at midnight in the local timezone for the previous 7 days based on the ReportRecurrence.weekday.

ReportStatus

The lifetime of building a Report Result.
Values
ValueDescription
completedThe results are available for retrieval.
createdThe report results have been requested, but not yet begun processing
failedThere was an error processing the results; see the notes section for a description.
queuedThe report is waiting for required resources to begin running
runningThe results are currently being processed.
savingThe results have been calculated, and are being saved for review.

ReportType

The type of logic used by the report runner.
Values
ValueDescription
attributes
Attributes
Summarizes the timeline based on the given attributes and thresholds.
full
Full History
Processes all history for the assets.
messages
Messaging
Processes the log of messages sent to and from the assets.
places
Place Summary
Summarizes the timeline based on places visited.
regions
Regions
Summarizes the timeline based on the regions (cities, provinces/states, countries) through which the assets travelled.
tags
Tag Summary
Summarizes the timeline based on the given tags.
tasks
Task Lifetime
Summarizes the timeline based on the asset's task's lifetimes.

Socket

BroadcastType

The kinds of broadcast messages sent to all connected clients.
Values
ValueDescription
maintenanceNotification of impending maintenance window involving downtime. During a maintenance window, the service may go down and come back online repeatedly until the window ends.
upgradeNotification that an upgrade will be available.

SubscriptionType

The types of subscriptions available using subscribe.
Event Names and JSON Formats
TypeEvent NameJSON MessageDescription
always sentassetAlertAssetAlert
always sentbroadcastBroadcastMaintenance BroadcastUpgrade
assetAdvancedassetAdvancedMergedAssetAdvanced VehicleAdvancedAssets' advanced properties such as position, attributes, and status tags.
assetGeneralassetGeneralMergedAssetGeneral PersonGeneral VehicleGeneral TrailerGeneralAssets' general properties such as name, icon, and labels.
assetDeletedAssetDeletedRelevant details of an asset which was deleted.
assetSuspendedAssetSuspendedRelevant details of an asset which was suspended.
assetMessageassetMessageMergedMessageMessages from assets and Alerts to the session user.
assetMessageDeletedMessageDeletedRelevant details of a message which was deleted.
behaviourbehaviourMergedBehaviourConfigured behaviours.
behaviourDeletedBehaviourDeletedRelevant details of a behaviour which was deleted.
behaviourLogbehaviourLogMergedBehaviourLogBehaviour log messages to help developers debug their scripts.
behaviourLogDeletedBehaviourLogDeletedRelevant details of a log message which was deleted.
behaviourScriptbehaviourScriptMergedBehaviourScriptBehaviour script logic.
behaviourScriptDeletedBehaviourScriptDeletedRelevant details of a script which was deleted.
billingDiscountbillingDiscountMergedBillableHostingDiscountDiscount rules for assets.
billingDiscountDeletedBillableHostingDiscountDeletedRelevant details of a hosting Discount which was deleted.
billingHostingbillingHostingMergedBillableHostingRuleBilling rules for assets.
billingHostingDeletedBillableHostingRuleDeletedRelevant details of a hosting rule which was deleted.
billingLicensebillingLicenseMergedBillableHostingLicenseHardware licenses for providers.
billingLicenseDeletedBillableHostingLicenseDeletedRelevant details of a hosting license which was deleted.
billingProfilebillingProfileMergedBillingProfileProfiles used to generate billable orders for a customer.
billingProfileDeletedBillingProfileDeletedRelevant details of a billing profile which was deleted.
billingReportbillingReportMergedBillingReportReports generated for a billee company.
billingReportDeletedBillingReportDeletedRelevant details of a billing report which was deleted.
companyGeneralcompanyGeneralMergedCompanyGeneralRenaming and changing the nodes of a company.
companyDeletedCompanyDeletedRelevant details of a company which was deleted.
companyLabelscompanyLabelsMergedCompanyLabelsCompany's label and tag styles.
companyPoliciescompanyPoliciesMergedCompanyPoliciesCompany's SessionPolicy and PasswordPolicy.
contactcontactMergedContactContact information.
contactDeletedContactDeletedRelevant details of a contact which was deleted.
dispatchTaskdispatchTaskMergedDispatchTaskAssets' tasks information.
dispatchTaskDeletedDispatchTaskDeletedRelevant details of a task which was deleted.
documentdocumentMergedDocumentHosted document information.
documentDeletedDocumentDeletedRelevant details of a document which was deleted.
hosCarrierhosCarrierMergedHosCarrierHours of Service carriers.
hosCarrierDeletedHosCarrierDeletedRelevant details of a carrier which was deleted.
hosEventhosEventMergedHosEventDriver's E-log event records.
hosEventDeletedHosEventDeleted
hosInspectionhosInspectionMergedHosInspectionDriver vehicle inspection reports.
hosInspectionDeletedHosInspectionDeleted
iconiconMergedIconSynchronizes icon information. This does not automatically send the picture, that must be requested through the Pictures API.
iconDeletedIconDeletedRelevant details of an icon which was deleted.
machinemachineMergedMachineAPI Credentials information and permissions.
machineDeletedMachineDeletedRelevant details of a Service Account which was deleted.
maintenanceJobmaintenanceJobMergedMaintenanceJobHistorical vehicle and trailer maintenance work.
maintenanceJobDeletedMaintenanceJobDeletedRelevant details of a maintenance job which was deleted.
maintenanceSchedulemaintenanceScheduleMergedMaintenanceScheduleRecurring maintenance work for vehicles and trailers.
maintenanceScheduleDeletedMaintenanceScheduleDeletedRelevant details of a maintenance schedule which was deleted.
picturepictureMergedPictureSynchronizes picture information. This does not automatically send the picture, that must be requested through the Pictures API.
pictureDeletedPictureDeletedRelevant details of a picture which was deleted.
placeGeneralplaceGeneralMergedPlaceGeneralSynchronizes place information
placeDeletedPlaceDeletedRelevant details of a place which was deleted.
providerAdvancedproviderAdvancedMergedProviderAdvancedRaw provider (device) data like GPS coordinates and parsed ODB-II values.
providerCommandproviderCommandMerged
providerCommandDeletedProviderCommandDeleted
providerConfigproviderConfigMerged
providerConfigDeletedProviderConfigDeletedRelevant details of a configuration which was deleted.
providerConfigurationproviderConfigurationMergedProviderConfigurationProvider (device) configurations.
providerConfigurationDeletedProviderConfigurationDeletedRelevant details of a configuration which was deleted.
providerGeneralproviderGeneralMergedProviderGeneralProvider (device) information like name, notes, and selected asset.
providerDeletedProviderDeletedRelevant details of a device which was deleted.
providerSuspendedProviderSuspendedRelevant details of an device which is suspended.
providerRegistrationproviderRegistrationMergedProviderRegistrationPending Providers (devices) that have not yet been configured or provisioned.
providerRegistrationDeletedProviderRegistrationDeletedRelevant details of a Provider Registration which was deleted.
providerScriptproviderScriptMerged
providerScriptDeletedProviderScriptDeletedRelevant details of a configuration which was deleted.
reportResultreportResultMergedReportResultHistorical asset details like breadcrumb trails. The full report results are not sent, only the totals. You need to use the Reports API to request the summary and breakdown.
reportResultDeletedReportResultDeletedRelevant details of report results which was deleted.
reportSchedulereportScheduleMerged
reportScheduleDeletedReportScheduleDeletedRelevant details of report schedule which was deleted.
reportTemplatereportTemplateMergedReportTemplateReport configurations
reportTemplateDeletedReportTemplateDeletedRelevant details of a report template which was deleted.
userAdvanceduserAdvancedMergedUserAdvancedUser information such as permissions and group membership.
userGeneraluserGeneralMergedUserGeneralGeneral user information such as name, contact information, and preferences.
userDeletedUserDeletedRelevant details of a user which was deleted.
userGroupuserGroupMergedUserGroupGroup information for easy access control.
userGroupDeletedUserGroupDeletedRelevant details of a group which was deleted.

Users and Groups

NotificationMethod

The types of alerts used.
Values
ValueDescription
emailCarrier pigeon.
popupA separate message sent across the WebSocket.
smsA text message (SMS).

PermissionLevel

The levels of permission available.
Values
ValueDescription
fullFull control to read, write, delete and create things.
readRead-only access, no changes allowed.
updateRead and write access, but things cannot be deleted or new things created.

PermissionMethod

How a permission is applied.
Values
ValueDescription
grantPermission is given.
revokePermission is taken away.

PermissionType

The kinds of permissions available for a UserPermission.
Values
ValueDescriptionObjects
assetAdvancedAssets' advanced properties such as position, attributes, and status tags.
assetGeneralAssets' general properties such as name, icon, and labels.
assetMessageMessages from assets and Alerts to the session user.
behaviourConfigured behaviours.
behaviourLogView and clear the log of debug messages for a behaviour or script.
behaviourScriptBehaviour script logic.
billingDiscountDiscount rule for assets.
billingHostingBilling rule for assets.
billingLicenseHardware License for providers.
billingProfileProfile used to generate billable orders for a customer.
billingReportGenerated bill for a customer.
companyCreateAccess to add a new child company.
companyGeneralBasic information about the company. This permissions is required to have access to other aspects of the company.
companyLabelsCompany's label and tag styles.
companyPoliciesCompany's SessionPolicy and PasswordPolicy.
companyResellerReseller and white-labeler specific settings.
contactContact information.
dispatchTaskAssets' tasks information.
documentHosted document information.
hosCarrierHours of Service Carriers.
hosEventDriver's E-log event records.
hosInspectionDriver vehicle inspection reports.
iconIcon information.
machineService account information and permissions.
maintenanceJobHistorical vehicle and trailer maintenance work.
maintenanceScheduleRecurring maintenance work for vehicles and trailers.
picturePicture information.
placeGeneralPlace information.
providerAdvancedRaw provider (device) data like GPS coordinates and parsed ODB-II values.
providerConfigTypeAllows read-only access to the logic types for provider configuration.
providerConfigurationProvider (device) configurations.
providerGeneralProvider (device) information like name, notes, and selected asset.
providerScriptAllows access to Provider (device) logic scripts.
reportResultHistorical asset details like breadcrumb trails.
reportScheduleSchedules used to automatically create report results overnight.
reportTemplateReport configurations.
sessionAccess to retrieve a list of active sessions and kill sessions.
userAdvancedUser information such as permissions and group membership.
userGeneralGeneral user information such as name, contact information, and preferences.
userGroupGroup information for easy access control.

SystemsOfUnits

A type of measurement system
Values
ValueDescription
metricMetric
standardUS Standard.

Common Formats

Codified names

A lower-case string with all the apostrophes and quotation marks [", ', `, “, and ”] removed, and all non-alphanumeric character sequences replaced with a single minus sign.
Diacritics such as ®, é, and ç are also replaced with their alhpabetic equivalents (r, e, and c).
Examples
InputCodified
Trucktruck
Truck 13truck-13
Truck #19truck-19
Dave's Truck (#36)daves-truck-36
Greg's "Rusty" Truck (#42)gregs-rusty-truck-42

Date and Time

A serialized-string representation of a date and time in ISO-8601 format.
Square brackets "[]" are used to show optional format information. All other non-alphabetic characters are required.

Format

yyyy-MM-ddTHH:mm:ss[.fff]Z
Explanation
ElementDescription
yyyyFour digit year.
MMTwo digit month.
ddTwo digit day of the month.
TA separator between date and time.
HH Two digit hours ranging from 00 to 23.
mmTwo digit minute.
ssTwo digit second.
fffOptional three digit millisecond.
ZA terminator representing the UTC timezone.

Number type: double

A double-precision floating point number.

Time-span (or duration)

A serialized-string representation of a duration of time. There are two possible formats when using a duration string.
Square brackets "[]" are used to show optional format information. All other non-alphabetic characters are required.

Format

[-][d.]H:mm[:ss[.fff]]
or
[-][d]
Explanation
ElementDescription
-Optional minus sign to indicate a negative duration.
d Optional days, ranging from 0 to 10675199.
H Single or two digit hours ranging from 0 to 23.
mmTwo digit minute.
ssOptional two digit second.
fff Optional three digit millisecond. When including milliseconds, the two-digit seconds are also required even if the value is 00.

Email address (RFC 2822)

An email address identifies a mailbox to which messages are delivered. We follow the RFC 2822 patter for addresses.

Format

user@domain.tld

Search expression patterns

A targeting pattern is a string that represents an in-the-moment search for objects. The operators used depend entirely on the context of the search, and compatibility with the sub-system.

Format

operator:terms terms

Examples

It's easiest to look at a few examples.

Asset 1
{ "id": 1234, "name": "Truck", "kind": "vehicle", "labels": [ "east-coast", "head-office" ] }
Asset 2
{ "id": 4567, "name": "Alex", "kind": "person", "labels": [ "drivers", "head-office" ] }
Asset 3
{ "id": 7890, "name": "Mike", "kind": "person", "labels": [ "east-coast", "service" ] }
To match all East Coast assets (Asset 1 and 3)
label:east-coast or labels:east-coast or label:"East Coast"
To match all people (Asset 2 and 3)
person:*
To match Asset 1 specifically
#1234
To match assets with the string "ike" in the name (Asset 3)
ike
To match people labelled East Coast (Asset 3)
person:* label:east-coast
To match all assets labelled East Coast and labelled Head Office (Asset 1)
label:east-coast,head-office or label:east-coast label:head-office
To match all assets labelled East Coast or labelled Head Office (Asset 1, 2, and 3)
label:"East Coast" | label:head-office
To match all assets without the East Coast label, use the negative operator.
!label:east-coast or -label:east-coast
Negative searches also work for terms, not just operators. The following will match only Asset 1 because the name has no "e" in it.
!e

Number type: int32

A signed 32 bit integer.

IP Address (IPv4 only)

A serialized-string representation of an IPv4 Address.
Square brackets "[]" are used to show optional format information. All other non-alphabetic characters are required.

Format

n.n.n.n[/r]
Explanation
ElementDescription
n A number ranging from 0 to 255.
rCIDR notation to indicate a range of IPv4 addresses. The number ranges from 32 to 0.

Encoded Polyline Algorithm Format

An implementation of Google's Encoded Polyline algorithm.

The algorithm is a lossy compression that stores a series of coordinates as a single string. All coordinates are rounded to five decimal places before encoding, but this should be accurate to within roughly one and a half meters.

Full details can be found on Google's Maps API site, as well as a utility to test encoding and decoding.

Number type: single

A single-precision floating point number.

Number type: uint16

An unsigned 16-bit integer.

Number type: uint32

An unsigned 32-bit integer.

Number type: uint64

An unsigned 64-bit integer.

Number type: uint8

An unsigned 8-bit integer.

URL (or URI)

A string in the format of a Uniform Resource Locator.

Typically, these point to a website or web-page, though it is possible to be used to identify a WebSocket or other remote resources.

Trak iT® Wireless and Fleet Freedom® are Trademarks of Trak iT® Wireless Inc.
All content contained within this site is the property of Trak iT® Wireless unless otherwise stated.