FC HUB API

HUB GraphQL API documentation

Login token url: POST https://api.fleetcomplete.com/login/token
Payload: username, password
Your token is value of access_token in response

Get user id: GET https://api.fleetcomplete.com/login/userinfo
(Bearer access_token is mandatory)
Response may contain multiple userIds, the user must choose the correct userId.

Getting started

getToken

request:
curl --location --request POST 'https://api.fleetcomplete.com/login/token' \
--form 'username="your username"' \
--form 'password="your password"'
response:
{"scope":"openid email profile","access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI.......

access_token value should be used as 'Authorization' header in all the following requests

refreshToken

request:
curl --location --request POST 'https://api.fleetcomplete.com/login/refresh' \
--form 'refreshToken="refresh_token value from getToken response"'

The refreshToken endpoint is used to obtain a new access_token when the current one has expired. The access_token is valid for 300 seconds (5 minutes). The refresh_token, received from the getToken response, allows you to request a new access_token for up to 12 hours from the time it was issued.

getUserId

request:
curl --location --request GET 'https://api.fleetcomplete.com/login/userinfo' \
--header 'Authorization: Bearer access_token from getToken response'
response:
[{"userName":"your username","userId":"your user id","fleetName":"your fleet name"}....

userId value should be used as 'userId' header in all the following requests

following requests

request:
curl --location --request POST 'https://api.fleetcomplete.com/graphql' \
--header 'Authorization: Bearer access_token from getToken response' \
--header 'userId: userId from getUserId response' \
--header 'Content-Type: application/json' \
--data-raw 'graphQL query and variables'

Query example for getVehicles()

curl data-raw value example
{
"query":"{
  getVehicles {
    vin id name
    assignedGroups { id description name fleetId externalId }
    assignedDevices { id serial phoneNumber }
  }
}"
}

Query example for getVehiclesById()

curl data-raw value example with parameterized method
{
"query":"{
  getVehicleById(id: \"76fda158-d3d4-4d06-ad28-72999de521f1\") {
    vin id name
    assignedGroups { id description name fleetId externalId }
    assignedDevices { id serial phoneNumber }
  }
}"
}

Headers tab in GraphQL IDE

Header:
{
"userId":"USER_UUID_GOES_HERE",
"Authorization":"Bearer USER_TOKEN_GOES_HERE"
}

Rate limiting

GraphQL API allows only one active request per user. Sending multiple simultaneous requests will result in an HTTP 429 Too Many Requests status code, indicating that the user has exceeded the permitted request limit. Please wait for the ongoing request to finish before attempting additional requests.



Contact

API Support

apisupport@fleetcomplete.com

API Endpoints
# HUB GraphQL API endpoint:
https://api.fleetcomplete.com/graphql
# GraphQL IDE endpoint for fiddling with graphql queries:
https://api.fleetcomplete.com/graphiql?path=/graphql
# HUB API get token endpoint:
POST https://api.fleetcomplete.com/login/token
# Get HUB API userId value:
https://api.fleetcomplete.com/login/userinfo
Headers
# Mandatory
Authorization: Bearer <YOUR_TOKEN_HERE>
# Either userId or fleetId is mandatory
userId: <UUID>
fleetId: <UUID>

Queries

getActiveVehicles

Description

Get all Vehicle records, visible to current user and not having deactivated status

Response

Returns [Vehicle]

Example

Query
query GetActiveVehicles {
  getActiveVehicles {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    vin
    licensePlate
    make
    model
    year
    latestData {
      timestamp
      gps {
        ...GpsFragment
      }
      gpsWithTimestamp {
        ...GpsWithTimestampFragment
      }
      odometer {
        ...FloatWithTimestampFragment
      }
      workingHours {
        ...FloatWithTimestampFragment
      }
      engineHours {
        ...LongWithTimestampFragment
      }
      address {
        ...AddressFragment
      }
      speedLimit {
        ...SpeedLimitFragment
      }
      geofenceData {
        ...GeofenceDataFragment
      }
      metaSensorData {
        ...SensorDataFragment
      }
      ptoHoursData {
        ...LongWithTimestampFragment
      }
      driverData {
        ...DriverDataFragment
      }
      canBus {
        ...CanBusFragment
      }
      canBusWithTimestamp {
        ...CanBusWithTimestampFragment
      }
      ignition {
        ...IgnitionFragment
      }
      ignitionWithTimestamp {
        ...IgnitionWithTimestampFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      driverBehaviourWithTimestamp {
        ...DriverBehaviourWithTimestampFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      temperaturesWithTimestamp {
        ...TemperaturesWithTimestampFragment
      }
      fuel {
        ...FuelFragment
      }
      fuelWithTimestamp {
        ...FuelWithTimestampFragment
      }
      misc {
        ...MiscFragment
      }
      miscWithTimestamp {
        ...MiscWithTimestampFragment
      }
      crash {
        ...CrashFragment
      }
      crashWithTimestamp {
        ...CrashWithTimestampFragment
      }
    }
    lastData {
      vehicleId
      vehicle {
        ...VehicleFragment
      }
      timestamp
      gps {
        ...GpsFragment
      }
      ignition {
        ...IgnitionFragment
      }
      driver {
        ...DriverFragment
      }
      canBus {
        ...CanBusFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      fleetMetaSensors {
        ...FleetMetaSensorsFragment
      }
      fuel {
        ...FuelFragment
      }
      misc {
        ...MiscFragment
      }
      locationTimestamp
      locationTimeZone
    }
    assignedGroups {
      id
      version
      createdAt
      updatedAt
      name
      fleetId
      parentId
      externalId
      description
      isOwn
      vehicleIds
      assignedVehicles {
        ...VehicleFragment
      }
    }
    assignedDevices {
      id
      serial
      deviceTypeKey
      enabled
      phoneNumber
    }
    assignedLabels {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
    }
    lastOdometer
    lastWorkingHours
    deactivated
    vehicleType {
      id
      name
    }
    customFields {
      name
      value
    }
    workSchedule {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      isDefault
      beginGrace
      endGrace
      periods {
        ...WorkSchedulePeriodFragment
      }
    }
  }
}
Response
{
  "data": {
    "getActiveVehicles": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "isDeleted": false,
        "name": "abc123",
        "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "vin": "xyz789",
        "licensePlate": "abc123",
        "make": "abc123",
        "model": "xyz789",
        "year": 987,
        "latestData": LatestData,
        "lastData": CommonFormat,
        "assignedGroups": [Group],
        "assignedDevices": [Device],
        "assignedLabels": [Label],
        "lastOdometer": 123.45,
        "lastWorkingHours": 987.65,
        "deactivated": true,
        "vehicleType": VehicleType,
        "customFields": [CustomField],
        "workSchedule": WorkSchedule
      }
    ]
  }
}

getDeviceById

Description

Get single Device record by ID

Response

Returns a Device

Arguments
Name Description
id - UUID!

Example

Query
query GetDeviceById($id: UUID!) {
  getDeviceById(id: $id) {
    id
    serial
    deviceTypeKey
    enabled
    phoneNumber
  }
}
Variables
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{
  "data": {
    "getDeviceById": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "serial": "xyz789",
      "deviceTypeKey": "xyz789",
      "enabled": true,
      "phoneNumber": "abc123"
    }
  }
}

getDeviceBySerial

Use getDevicesBySerial instead
Description

Get single Device record by Serial

Response

Returns a Device

Arguments
Name Description
serial - String!

Example

Query
query GetDeviceBySerial($serial: String!) {
  getDeviceBySerial(serial: $serial) {
    id
    serial
    deviceTypeKey
    enabled
    phoneNumber
  }
}
Variables
{"serial": "abc123"}
Response
{
  "data": {
    "getDeviceBySerial": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "serial": "abc123",
      "deviceTypeKey": "abc123",
      "enabled": false,
      "phoneNumber": "abc123"
    }
  }
}

getDevicesBySerial

Description

Get multiple Device records by Serial

Response

Returns [Device]

Arguments
Name Description
serial - String!

Example

Query
query GetDevicesBySerial($serial: String!) {
  getDevicesBySerial(serial: $serial) {
    id
    serial
    deviceTypeKey
    enabled
    phoneNumber
  }
}
Variables
{"serial": "xyz789"}
Response
{
  "data": {
    "getDevicesBySerial": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "serial": "xyz789",
        "deviceTypeKey": "abc123",
        "enabled": true,
        "phoneNumber": "abc123"
      }
    ]
  }
}

getDriverAssignments

Description

Get driver assignments

Response

Returns [DriverAssignment]

Arguments
Name Description
input - GetDriverAssignmentsInput! Filter criteria for searching driver assignments. Either vehicleId or driverId must be included in the input.

Example

Query
query GetDriverAssignments($input: GetDriverAssignmentsInput!) {
  getDriverAssignments(input: $input) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    vehicleId
    driverId
    startedAt
    endedAt
  }
}
Variables
{"input": GetDriverAssignmentsInput}
Response
{
  "data": {
    "getDriverAssignments": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "isDeleted": true,
        "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "startedAt": {},
        "endedAt": {}
      }
    ]
  }
}

getGeofenceById

Description

Get single Geofence record by ID

Response

Returns a Geofence

Arguments
Name Description
id - UUID!

Example

Query
query GetGeofenceById($id: UUID!) {
  getGeofenceById(id: $id) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    geojson
    color
    phone
    email
    address {
      country
      countryCode
      region
      city
      postalCode
      address
    }
    description
    type
  }
}
Variables
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{
  "data": {
    "getGeofenceById": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": true,
      "name": "xyz789",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "geojson": {},
      "color": "xyz789",
      "phone": "abc123",
      "email": "xyz789",
      "address": Address,
      "description": "abc123",
      "type": "abc123"
    }
  }
}

getGeofences

Description

Get all Geofence records, visible to current user

Response

Returns [Geofence]

Example

Query
query GetGeofences {
  getGeofences {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    geojson
    color
    phone
    email
    address {
      country
      countryCode
      region
      city
      postalCode
      address
    }
    description
    type
  }
}
Response
{
  "data": {
    "getGeofences": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "isDeleted": true,
        "name": "abc123",
        "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "geojson": {},
        "color": "abc123",
        "phone": "xyz789",
        "email": "abc123",
        "address": Address,
        "description": "xyz789",
        "type": "abc123"
      }
    ]
  }
}

getGroups

Description

Get all Group records, visible to current user

Response

Returns [Group]

Example

Query
query GetGroups {
  getGroups {
    id
    version
    createdAt
    updatedAt
    name
    fleetId
    parentId
    externalId
    description
    isOwn
    vehicleIds
    assignedVehicles {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      vin
      licensePlate
      make
      model
      year
      latestData {
        ...LatestDataFragment
      }
      lastData {
        ...CommonFormatFragment
      }
      assignedGroups {
        ...GroupFragment
      }
      assignedDevices {
        ...DeviceFragment
      }
      assignedLabels {
        ...LabelFragment
      }
      lastOdometer
      lastWorkingHours
      deactivated
      vehicleType {
        ...VehicleTypeFragment
      }
      customFields {
        ...CustomFieldFragment
      }
      workSchedule {
        ...WorkScheduleFragment
      }
    }
  }
}
Response
{
  "data": {
    "getGroups": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "name": "abc123",
        "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "parentId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "externalId": "abc123",
        "description": "abc123",
        "isOwn": false,
        "vehicleIds": [
          "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
        ],
        "assignedVehicles": [Vehicle]
      }
    ]
  }
}

getLabels

Description

Get all Label records

Response

Returns [Label]

Example

Query
query GetLabels {
  getLabels {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
  }
}
Response
{
  "data": {
    "getLabels": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "isDeleted": false,
        "name": "abc123",
        "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
      }
    ]
  }
}

getLatestSnapshots

Description

Get latest snapshots for a list of vehicles

Response

Returns [CommonFormat]

Arguments
Name Description
vehicleIds - [UUID!]!

Example

Query
query GetLatestSnapshots($vehicleIds: [UUID!]!) {
  getLatestSnapshots(vehicleIds: $vehicleIds) {
    vehicleId
    vehicle {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      vin
      licensePlate
      make
      model
      year
      latestData {
        ...LatestDataFragment
      }
      lastData {
        ...CommonFormatFragment
      }
      assignedGroups {
        ...GroupFragment
      }
      assignedDevices {
        ...DeviceFragment
      }
      assignedLabels {
        ...LabelFragment
      }
      lastOdometer
      lastWorkingHours
      deactivated
      vehicleType {
        ...VehicleTypeFragment
      }
      customFields {
        ...CustomFieldFragment
      }
      workSchedule {
        ...WorkScheduleFragment
      }
    }
    timestamp
    gps {
      state
      latitude
      longitude
      direction
      altitude
      speed
      satellites
      hdop
    }
    ignition {
      engineStatus
    }
    driver {
      driverId
      iButton
      oneWire
      rfidIButton
      rfidIButtonHex
      rfidIButtonReversed
      rfidIButtonReversedHex
      rfid
      rfidHex
    }
    canBus {
      absStatus
      acceleratorPedalPosition
      accelerationX
      accelerationY
      ambientAirTemperature
      barometricPressure
      brakeApplicationPressure
      brakePedalPosition
      brakePedalState
      brakeTorque
      canCombinationWeight
      combinationWeight
      canrpm
      canDistance
      canDeltaDistance
      canTripDistance
      canFuelUsed
      canTripFuelUsed
      canTripFuelUsedPercent
      canServiceDistance
      canFuelRate
      canhrFuelUsed
      canSpeed
      canFuel
      canRawFuel
      canAxleNumber
      canAxleWeight
      canAxleWeights {
        ...CanAxleWeightsMapFragment
      }
      canEngineCoolantTemperature
      canEngineHours
      canFuelEconomy
      canWheelSpeed
      cargoWeight
      checkEngineWarning
      clutchPedalState
      cruiseControlState
      deltaFuelUsed
      engineCoolantLevel
      engineCoolantPressure
      engineFuelType
      engineOilLevel
      engineOilPressure
      engineOilTemperature
      enginePercentLoad
      engineRunTime
      engineThrottlePosition
      engineIdleTime
      engineWorkTime
      fuelDeliveryPressure
      gear
      intakeAirTemperature
      massAirFlow
      oilLifeRemaining
      overweight
      parkingBrakeSwitch
      seatBeltDriver
      seatBeltPassenger
      seatOccupiedDriver
      seatOccupiedPassenger
      serviceNowWarning
      tirePressureWarning
      tirePressure {
        ...TirePressureMapFragment
      }
      tirePressureStatus {
        ...TirePressureStatusMapFragment
      }
      tirePressurePlacardFront
      tirePressurePlacardRear
      tireLocation
      tractionControl
      tractionControlBrake
      tractionControlPowerTrain
      transmissionOilTemperature
      washerFluidLevel
      waterInFuel
      canFuelConsumption
      frontLeftDoorOpen
      frontRightDoorStatus
      hoodOpen
      rearLeftDoorOpen
      rearRightDoorOpen
      trunkOpen
      canProgramNumber
      cruiseControlActive
      retarderTorqueMode
      actualRetarderLevel
      nonEngineRetarderSelectionLevel
    }
    driverBehaviour {
      driverBehaviourType
      driverBehaviourValue
    }
    temperatures {
      temperatures {
        ...TemperatureMapFragment
      }
      temperatureSensorIds {
        ...TemperatureSensorMapFragment
      }
    }
    fleetMetaSensors {
      sensors {
        ...SensorMapFragment
      }
    }
    fuel {
      fuel
      rawFuel {
        ...RawFuelMapFragment
      }
      pulseCount
      fuelLevel {
        ...FuelLevelMapFragment
      }
      totalFuelEconomy
      fuelTankSize
    }
    misc {
      power
      vehicleBusType
    }
    locationTimestamp
    locationTimeZone
  }
}
Variables
{
  "vehicleIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ]
}
Response
{
  "data": {
    "getLatestSnapshots": [
      {
        "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "vehicle": Vehicle,
        "timestamp": "2007-12-03T10:15:30Z",
        "gps": Gps,
        "ignition": Ignition,
        "driver": Driver,
        "canBus": CanBus,
        "driverBehaviour": DriverBehaviour,
        "temperatures": Temperatures,
        "fleetMetaSensors": FleetMetaSensors,
        "fuel": Fuel,
        "misc": Misc,
        "locationTimestamp": "2007-12-03T10:15:30Z",
        "locationTimeZone": "xyz789"
      }
    ]
  }
}

getMetaSensors

Description

Get all MetaSensor records, visible to current user

Response

Returns [MetaSensor]

Example

Query
query GetMetaSensors {
  getMetaSensors {
    name
    key
  }
}
Response
{
  "data": {
    "getMetaSensors": [
      {"name": "xyz789", "key": 123}
    ]
  }
}

getPeople

Description

Get all Person records, visible to current user

Response

Returns [Person]

Example

Query
query GetPeople {
  getPeople {
    id
    version
    createdAt
    updatedAt
    isDeleted
    isUser
    isDriver
    fleetId
    email
    phone
    firstName
    lastName
    globalUserId
    licenseNumber
    licenseIssuedIn
    employeeId
    customFields {
      name
      value
    }
    driverTokens {
      id
      version
      createdAt
      updatedAt
      isDeleted
      value
      fleetId
      driverId
      lastScanTimestamp
    }
    roles {
      id
      version
      createdAt
      updatedAt
      isDeleted
      fleetId
      name
    }
  }
}
Response
{
  "data": {
    "getPeople": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "isDeleted": false,
        "isUser": false,
        "isDriver": true,
        "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "email": "abc123",
        "phone": "abc123",
        "firstName": "abc123",
        "lastName": "xyz789",
        "globalUserId": "xyz789",
        "licenseNumber": "abc123",
        "licenseIssuedIn": "xyz789",
        "employeeId": "abc123",
        "customFields": [CustomField],
        "driverTokens": [DriverToken],
        "roles": [Role]
      }
    ]
  }
}

getPersonById

Description

Get single Person record by ID

Response

Returns a Person

Arguments
Name Description
id - UUID!

Example

Query
query GetPersonById($id: UUID!) {
  getPersonById(id: $id) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    isUser
    isDriver
    fleetId
    email
    phone
    firstName
    lastName
    globalUserId
    licenseNumber
    licenseIssuedIn
    employeeId
    customFields {
      name
      value
    }
    driverTokens {
      id
      version
      createdAt
      updatedAt
      isDeleted
      value
      fleetId
      driverId
      lastScanTimestamp
    }
    roles {
      id
      version
      createdAt
      updatedAt
      isDeleted
      fleetId
      name
    }
  }
}
Variables
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{
  "data": {
    "getPersonById": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": false,
      "isUser": false,
      "isDriver": false,
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "email": "xyz789",
      "phone": "abc123",
      "firstName": "xyz789",
      "lastName": "abc123",
      "globalUserId": "abc123",
      "licenseNumber": "abc123",
      "licenseIssuedIn": "xyz789",
      "employeeId": "abc123",
      "customFields": [CustomField],
      "driverTokens": [DriverToken],
      "roles": [Role]
    }
  }
}

getPersonCustomFields

Description

Get single Person custom fields by ID

Response

Returns [CustomField]

Arguments
Name Description
personId - UUID!

Example

Query
query GetPersonCustomFields($personId: UUID!) {
  getPersonCustomFields(personId: $personId) {
    name
    value
  }
}
Variables
{
  "personId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{
  "data": {
    "getPersonCustomFields": [
      {
        "name": "abc123",
        "value": "xyz789"
      }
    ]
  }
}

getRoles

Description

Get roles

Response

Returns [Role]

Example

Query
query GetRoles {
  getRoles {
    id
    version
    createdAt
    updatedAt
    isDeleted
    fleetId
    name
  }
}
Response
{
  "data": {
    "getRoles": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "isDeleted": true,
        "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "name": "xyz789"
      }
    ]
  }
}

getRules

Description

Get all event rules

Response

Returns [Rule]

Example

Query
query GetRules {
  getRules {
    id
    name
    enabled
    ruleType
    vehicles {
      assignedVehicleIds
      assignedGroupIds
      assignedToAll
    }
    geofenceIds
  }
}
Response
{
  "data": {
    "getRules": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "name": "abc123",
        "enabled": false,
        "ruleType": "abc123",
        "vehicles": RuleVehicles,
        "geofenceIds": [
          "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
        ]
      }
    ]
  }
}

getSnapshots

Description

Get vehicle snapshots by a period of time in parameters

Response

Returns [CommonFormat]

Arguments
Name Description
vehicleId - UUID! Vehicle ID
from - DateTime! Start of the period in UTC
to - DateTime! End of the period in UTC

Example

Query
query GetSnapshots(
  $vehicleId: UUID!,
  $from: DateTime!,
  $to: DateTime!
) {
  getSnapshots(
    vehicleId: $vehicleId,
    from: $from,
    to: $to
  ) {
    vehicleId
    vehicle {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      vin
      licensePlate
      make
      model
      year
      latestData {
        ...LatestDataFragment
      }
      lastData {
        ...CommonFormatFragment
      }
      assignedGroups {
        ...GroupFragment
      }
      assignedDevices {
        ...DeviceFragment
      }
      assignedLabels {
        ...LabelFragment
      }
      lastOdometer
      lastWorkingHours
      deactivated
      vehicleType {
        ...VehicleTypeFragment
      }
      customFields {
        ...CustomFieldFragment
      }
      workSchedule {
        ...WorkScheduleFragment
      }
    }
    timestamp
    gps {
      state
      latitude
      longitude
      direction
      altitude
      speed
      satellites
      hdop
    }
    ignition {
      engineStatus
    }
    driver {
      driverId
      iButton
      oneWire
      rfidIButton
      rfidIButtonHex
      rfidIButtonReversed
      rfidIButtonReversedHex
      rfid
      rfidHex
    }
    canBus {
      absStatus
      acceleratorPedalPosition
      accelerationX
      accelerationY
      ambientAirTemperature
      barometricPressure
      brakeApplicationPressure
      brakePedalPosition
      brakePedalState
      brakeTorque
      canCombinationWeight
      combinationWeight
      canrpm
      canDistance
      canDeltaDistance
      canTripDistance
      canFuelUsed
      canTripFuelUsed
      canTripFuelUsedPercent
      canServiceDistance
      canFuelRate
      canhrFuelUsed
      canSpeed
      canFuel
      canRawFuel
      canAxleNumber
      canAxleWeight
      canAxleWeights {
        ...CanAxleWeightsMapFragment
      }
      canEngineCoolantTemperature
      canEngineHours
      canFuelEconomy
      canWheelSpeed
      cargoWeight
      checkEngineWarning
      clutchPedalState
      cruiseControlState
      deltaFuelUsed
      engineCoolantLevel
      engineCoolantPressure
      engineFuelType
      engineOilLevel
      engineOilPressure
      engineOilTemperature
      enginePercentLoad
      engineRunTime
      engineThrottlePosition
      engineIdleTime
      engineWorkTime
      fuelDeliveryPressure
      gear
      intakeAirTemperature
      massAirFlow
      oilLifeRemaining
      overweight
      parkingBrakeSwitch
      seatBeltDriver
      seatBeltPassenger
      seatOccupiedDriver
      seatOccupiedPassenger
      serviceNowWarning
      tirePressureWarning
      tirePressure {
        ...TirePressureMapFragment
      }
      tirePressureStatus {
        ...TirePressureStatusMapFragment
      }
      tirePressurePlacardFront
      tirePressurePlacardRear
      tireLocation
      tractionControl
      tractionControlBrake
      tractionControlPowerTrain
      transmissionOilTemperature
      washerFluidLevel
      waterInFuel
      canFuelConsumption
      frontLeftDoorOpen
      frontRightDoorStatus
      hoodOpen
      rearLeftDoorOpen
      rearRightDoorOpen
      trunkOpen
      canProgramNumber
      cruiseControlActive
      retarderTorqueMode
      actualRetarderLevel
      nonEngineRetarderSelectionLevel
    }
    driverBehaviour {
      driverBehaviourType
      driverBehaviourValue
    }
    temperatures {
      temperatures {
        ...TemperatureMapFragment
      }
      temperatureSensorIds {
        ...TemperatureSensorMapFragment
      }
    }
    fleetMetaSensors {
      sensors {
        ...SensorMapFragment
      }
    }
    fuel {
      fuel
      rawFuel {
        ...RawFuelMapFragment
      }
      pulseCount
      fuelLevel {
        ...FuelLevelMapFragment
      }
      totalFuelEconomy
      fuelTankSize
    }
    misc {
      power
      vehicleBusType
    }
    locationTimestamp
    locationTimeZone
  }
}
Variables
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "getSnapshots": [
      {
        "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "vehicle": Vehicle,
        "timestamp": "2007-12-03T10:15:30Z",
        "gps": Gps,
        "ignition": Ignition,
        "driver": Driver,
        "canBus": CanBus,
        "driverBehaviour": DriverBehaviour,
        "temperatures": Temperatures,
        "fleetMetaSensors": FleetMetaSensors,
        "fuel": Fuel,
        "misc": Misc,
        "locationTimestamp": "2007-12-03T10:15:30Z",
        "locationTimeZone": "xyz789"
      }
    ]
  }
}

getUserInfo

Description

Get FleetUserInfo records visible to user currently logged in

Response

Returns [FleetUserInfo]

Example

Query
query GetUserInfo {
  getUserInfo {
    userName
    userId
    fleetName
    fleetId
  }
}
Response
{
  "data": {
    "getUserInfo": [
      {
        "userName": "xyz789",
        "userId": "abc123",
        "fleetName": "xyz789",
        "fleetId": "xyz789"
      }
    ]
  }
}

getVehicleById

Description

Get single Vehicle record by ID

Response

Returns a Vehicle

Arguments
Name Description
id - UUID!

Example

Query
query GetVehicleById($id: UUID!) {
  getVehicleById(id: $id) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    vin
    licensePlate
    make
    model
    year
    latestData {
      timestamp
      gps {
        ...GpsFragment
      }
      gpsWithTimestamp {
        ...GpsWithTimestampFragment
      }
      odometer {
        ...FloatWithTimestampFragment
      }
      workingHours {
        ...FloatWithTimestampFragment
      }
      engineHours {
        ...LongWithTimestampFragment
      }
      address {
        ...AddressFragment
      }
      speedLimit {
        ...SpeedLimitFragment
      }
      geofenceData {
        ...GeofenceDataFragment
      }
      metaSensorData {
        ...SensorDataFragment
      }
      ptoHoursData {
        ...LongWithTimestampFragment
      }
      driverData {
        ...DriverDataFragment
      }
      canBus {
        ...CanBusFragment
      }
      canBusWithTimestamp {
        ...CanBusWithTimestampFragment
      }
      ignition {
        ...IgnitionFragment
      }
      ignitionWithTimestamp {
        ...IgnitionWithTimestampFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      driverBehaviourWithTimestamp {
        ...DriverBehaviourWithTimestampFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      temperaturesWithTimestamp {
        ...TemperaturesWithTimestampFragment
      }
      fuel {
        ...FuelFragment
      }
      fuelWithTimestamp {
        ...FuelWithTimestampFragment
      }
      misc {
        ...MiscFragment
      }
      miscWithTimestamp {
        ...MiscWithTimestampFragment
      }
      crash {
        ...CrashFragment
      }
      crashWithTimestamp {
        ...CrashWithTimestampFragment
      }
    }
    lastData {
      vehicleId
      vehicle {
        ...VehicleFragment
      }
      timestamp
      gps {
        ...GpsFragment
      }
      ignition {
        ...IgnitionFragment
      }
      driver {
        ...DriverFragment
      }
      canBus {
        ...CanBusFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      fleetMetaSensors {
        ...FleetMetaSensorsFragment
      }
      fuel {
        ...FuelFragment
      }
      misc {
        ...MiscFragment
      }
      locationTimestamp
      locationTimeZone
    }
    assignedGroups {
      id
      version
      createdAt
      updatedAt
      name
      fleetId
      parentId
      externalId
      description
      isOwn
      vehicleIds
      assignedVehicles {
        ...VehicleFragment
      }
    }
    assignedDevices {
      id
      serial
      deviceTypeKey
      enabled
      phoneNumber
    }
    assignedLabels {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
    }
    lastOdometer
    lastWorkingHours
    deactivated
    vehicleType {
      id
      name
    }
    customFields {
      name
      value
    }
    workSchedule {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      isDefault
      beginGrace
      endGrace
      periods {
        ...WorkSchedulePeriodFragment
      }
    }
  }
}
Variables
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{
  "data": {
    "getVehicleById": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": true,
      "name": "xyz789",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "vin": "xyz789",
      "licensePlate": "xyz789",
      "make": "xyz789",
      "model": "abc123",
      "year": 123,
      "latestData": LatestData,
      "lastData": CommonFormat,
      "assignedGroups": [Group],
      "assignedDevices": [Device],
      "assignedLabels": [Label],
      "lastOdometer": 123.45,
      "lastWorkingHours": 987.65,
      "deactivated": true,
      "vehicleType": VehicleType,
      "customFields": [CustomField],
      "workSchedule": WorkSchedule
    }
  }
}

getVehicleCustomFields

Description

Get all CustomField records, mapped to vehicle

Response

Returns [CustomField]

Arguments
Name Description
vehicleId - UUID!

Example

Query
query GetVehicleCustomFields($vehicleId: UUID!) {
  getVehicleCustomFields(vehicleId: $vehicleId) {
    name
    value
  }
}
Variables
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{
  "data": {
    "getVehicleCustomFields": [
      {
        "name": "abc123",
        "value": "xyz789"
      }
    ]
  }
}

getVehicleMappedSensors

Description

Get all MetaSensor records, mapped to vehicle

Response

Returns [Sensor]

Arguments
Name Description
vehicleId - UUID!

Example

Query
query GetVehicleMappedSensors($vehicleId: UUID!) {
  getVehicleMappedSensors(vehicleId: $vehicleId) {
    name
    source
  }
}
Variables
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{
  "data": {
    "getVehicleMappedSensors": [
      {
        "name": "abc123",
        "source": "abc123"
      }
    ]
  }
}

getVehicleTypes

Description

Get all VehicleType records

Response

Returns [VehicleType]

Example

Query
query GetVehicleTypes {
  getVehicleTypes {
    id
    name
  }
}
Response
{
  "data": {
    "getVehicleTypes": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "name": "xyz789"
      }
    ]
  }
}

getVehicles

Description

Get all Vehicle records, visible to current user

Response

Returns [Vehicle]

Example

Query
query GetVehicles {
  getVehicles {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    vin
    licensePlate
    make
    model
    year
    latestData {
      timestamp
      gps {
        ...GpsFragment
      }
      gpsWithTimestamp {
        ...GpsWithTimestampFragment
      }
      odometer {
        ...FloatWithTimestampFragment
      }
      workingHours {
        ...FloatWithTimestampFragment
      }
      engineHours {
        ...LongWithTimestampFragment
      }
      address {
        ...AddressFragment
      }
      speedLimit {
        ...SpeedLimitFragment
      }
      geofenceData {
        ...GeofenceDataFragment
      }
      metaSensorData {
        ...SensorDataFragment
      }
      ptoHoursData {
        ...LongWithTimestampFragment
      }
      driverData {
        ...DriverDataFragment
      }
      canBus {
        ...CanBusFragment
      }
      canBusWithTimestamp {
        ...CanBusWithTimestampFragment
      }
      ignition {
        ...IgnitionFragment
      }
      ignitionWithTimestamp {
        ...IgnitionWithTimestampFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      driverBehaviourWithTimestamp {
        ...DriverBehaviourWithTimestampFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      temperaturesWithTimestamp {
        ...TemperaturesWithTimestampFragment
      }
      fuel {
        ...FuelFragment
      }
      fuelWithTimestamp {
        ...FuelWithTimestampFragment
      }
      misc {
        ...MiscFragment
      }
      miscWithTimestamp {
        ...MiscWithTimestampFragment
      }
      crash {
        ...CrashFragment
      }
      crashWithTimestamp {
        ...CrashWithTimestampFragment
      }
    }
    lastData {
      vehicleId
      vehicle {
        ...VehicleFragment
      }
      timestamp
      gps {
        ...GpsFragment
      }
      ignition {
        ...IgnitionFragment
      }
      driver {
        ...DriverFragment
      }
      canBus {
        ...CanBusFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      fleetMetaSensors {
        ...FleetMetaSensorsFragment
      }
      fuel {
        ...FuelFragment
      }
      misc {
        ...MiscFragment
      }
      locationTimestamp
      locationTimeZone
    }
    assignedGroups {
      id
      version
      createdAt
      updatedAt
      name
      fleetId
      parentId
      externalId
      description
      isOwn
      vehicleIds
      assignedVehicles {
        ...VehicleFragment
      }
    }
    assignedDevices {
      id
      serial
      deviceTypeKey
      enabled
      phoneNumber
    }
    assignedLabels {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
    }
    lastOdometer
    lastWorkingHours
    deactivated
    vehicleType {
      id
      name
    }
    customFields {
      name
      value
    }
    workSchedule {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      isDefault
      beginGrace
      endGrace
      periods {
        ...WorkSchedulePeriodFragment
      }
    }
  }
}
Response
{
  "data": {
    "getVehicles": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "isDeleted": false,
        "name": "xyz789",
        "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "vin": "abc123",
        "licensePlate": "xyz789",
        "make": "xyz789",
        "model": "xyz789",
        "year": 987,
        "latestData": LatestData,
        "lastData": CommonFormat,
        "assignedGroups": [Group],
        "assignedDevices": [Device],
        "assignedLabels": [Label],
        "lastOdometer": 123.45,
        "lastWorkingHours": 123.45,
        "deactivated": false,
        "vehicleType": VehicleType,
        "customFields": [CustomField],
        "workSchedule": WorkSchedule
      }
    ]
  }
}

getVehiclesByVin

Description

Get Vehicle records by VIN code

Response

Returns [Vehicle]

Arguments
Name Description
vin - String!

Example

Query
query GetVehiclesByVin($vin: String!) {
  getVehiclesByVin(vin: $vin) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    vin
    licensePlate
    make
    model
    year
    latestData {
      timestamp
      gps {
        ...GpsFragment
      }
      gpsWithTimestamp {
        ...GpsWithTimestampFragment
      }
      odometer {
        ...FloatWithTimestampFragment
      }
      workingHours {
        ...FloatWithTimestampFragment
      }
      engineHours {
        ...LongWithTimestampFragment
      }
      address {
        ...AddressFragment
      }
      speedLimit {
        ...SpeedLimitFragment
      }
      geofenceData {
        ...GeofenceDataFragment
      }
      metaSensorData {
        ...SensorDataFragment
      }
      ptoHoursData {
        ...LongWithTimestampFragment
      }
      driverData {
        ...DriverDataFragment
      }
      canBus {
        ...CanBusFragment
      }
      canBusWithTimestamp {
        ...CanBusWithTimestampFragment
      }
      ignition {
        ...IgnitionFragment
      }
      ignitionWithTimestamp {
        ...IgnitionWithTimestampFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      driverBehaviourWithTimestamp {
        ...DriverBehaviourWithTimestampFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      temperaturesWithTimestamp {
        ...TemperaturesWithTimestampFragment
      }
      fuel {
        ...FuelFragment
      }
      fuelWithTimestamp {
        ...FuelWithTimestampFragment
      }
      misc {
        ...MiscFragment
      }
      miscWithTimestamp {
        ...MiscWithTimestampFragment
      }
      crash {
        ...CrashFragment
      }
      crashWithTimestamp {
        ...CrashWithTimestampFragment
      }
    }
    lastData {
      vehicleId
      vehicle {
        ...VehicleFragment
      }
      timestamp
      gps {
        ...GpsFragment
      }
      ignition {
        ...IgnitionFragment
      }
      driver {
        ...DriverFragment
      }
      canBus {
        ...CanBusFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      fleetMetaSensors {
        ...FleetMetaSensorsFragment
      }
      fuel {
        ...FuelFragment
      }
      misc {
        ...MiscFragment
      }
      locationTimestamp
      locationTimeZone
    }
    assignedGroups {
      id
      version
      createdAt
      updatedAt
      name
      fleetId
      parentId
      externalId
      description
      isOwn
      vehicleIds
      assignedVehicles {
        ...VehicleFragment
      }
    }
    assignedDevices {
      id
      serial
      deviceTypeKey
      enabled
      phoneNumber
    }
    assignedLabels {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
    }
    lastOdometer
    lastWorkingHours
    deactivated
    vehicleType {
      id
      name
    }
    customFields {
      name
      value
    }
    workSchedule {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      isDefault
      beginGrace
      endGrace
      periods {
        ...WorkSchedulePeriodFragment
      }
    }
  }
}
Variables
{"vin": "abc123"}
Response
{
  "data": {
    "getVehiclesByVin": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "isDeleted": true,
        "name": "abc123",
        "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "vin": "abc123",
        "licensePlate": "abc123",
        "make": "abc123",
        "model": "xyz789",
        "year": 987,
        "latestData": LatestData,
        "lastData": CommonFormat,
        "assignedGroups": [Group],
        "assignedDevices": [Device],
        "assignedLabels": [Label],
        "lastOdometer": 123.45,
        "lastWorkingHours": 123.45,
        "deactivated": false,
        "vehicleType": VehicleType,
        "customFields": [CustomField],
        "workSchedule": WorkSchedule
      }
    ]
  }
}

getWorkScheduleById

Description

Get single Device record by ID

Response

Returns a WorkSchedule

Arguments
Name Description
id - UUID!

Example

Query
query GetWorkScheduleById($id: UUID!) {
  getWorkScheduleById(id: $id) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    isDefault
    beginGrace
    endGrace
    periods {
      weekday
      begin
      duration
    }
  }
}
Variables
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{
  "data": {
    "getWorkScheduleById": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": false,
      "name": "xyz789",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "isDefault": true,
      "beginGrace": 987,
      "endGrace": 987,
      "periods": [WorkSchedulePeriod]
    }
  }
}

getWorkSchedules

Description

Get all WorkSchedule records

Response

Returns [WorkSchedule]

Example

Query
query GetWorkSchedules {
  getWorkSchedules {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    isDefault
    beginGrace
    endGrace
    periods {
      weekday
      begin
      duration
    }
  }
}
Response
{
  "data": {
    "getWorkSchedules": [
      {
        "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "version": {},
        "createdAt": {},
        "updatedAt": {},
        "isDeleted": true,
        "name": "abc123",
        "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
        "isDefault": false,
        "beginGrace": 123,
        "endGrace": 123,
        "periods": [WorkSchedulePeriod]
      }
    ]
  }
}

getWrappedReport

Description

Get reports

Response

Returns a WrappedReport

Arguments
Name Description
input - WrappedReportInput!

Example

Query
query GetWrappedReport($input: WrappedReportInput!) {
  getWrappedReport(input: $input) {
    reportId
    report
  }
}
Variables
{"input": WrappedReportInput}
Response
{
  "data": {
    "getWrappedReport": {
      "reportId": "abc123",
      "report": {}
    }
  }
}

getWrappedReportInputs

Description

Get available report parameters

Response

Returns [WrappedReportInputs]

Arguments
Name Description
id - String

Example

Query
query GetWrappedReportInputs($id: String) {
  getWrappedReportInputs(id: $id) {
    id
    title
    description
    onlyFleetTimezone
    inputs
  }
}
Variables
{"id": "xyz789"}
Response
{
  "data": {
    "getWrappedReportInputs": [
      {
        "id": "abc123",
        "title": "abc123",
        "description": "abc123",
        "onlyFleetTimezone": true,
        "inputs": {}
      }
    ]
  }
}

Mutations

assignDriver

Description

Assign a driver to the vehicle (creates new driver assignment). If the vehicle or driver assignment exists at a given time, the existing assignment will be altered or deleted. No modifications will be made if an assignment with the same vehicle and driver already exists at the specified time. Returns "true", if the request is successful, error otherwise.

Response

Returns a Boolean

Arguments
Name Description
assignDriverInput - AssignDriverInput!

Example

Query
mutation AssignDriver($assignDriverInput: AssignDriverInput!) {
  assignDriver(assignDriverInput: $assignDriverInput)
}
Variables
{"assignDriverInput": AssignDriverInput}
Response
{"data": {"assignDriver": true}}

changeVehicleGroups

Description

Change multiple groups membership for vehicle

Response

Returns a ChangeVehicleGroupsOutput

Arguments
Name Description
vehicleId - UUID!
changeVehicleGroupsInput - ChangeVehicleGroupsInput

Example

Query
mutation ChangeVehicleGroups(
  $vehicleId: UUID!,
  $changeVehicleGroupsInput: ChangeVehicleGroupsInput
) {
  changeVehicleGroups(
    vehicleId: $vehicleId,
    changeVehicleGroupsInput: $changeVehicleGroupsInput
  ) {
    vehicleId
    removedGroupIds
    addedGroupIds
  }
}
Variables
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "changeVehicleGroupsInput": ChangeVehicleGroupsInput
}
Response
{
  "data": {
    "changeVehicleGroups": {
      "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "removedGroupIds": [
        "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
      ],
      "addedGroupIds": [
        "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
      ]
    }
  }
}

changeVehiclesGroup

Description

Change group membership of multiple vehicles

Response

Returns [String]

Arguments
Name Description
vehicleIds - [UUID!]!
sourceGroupId - UUID!
destinationGroupId - UUID!

Example

Query
mutation ChangeVehiclesGroup(
  $vehicleIds: [UUID!]!,
  $sourceGroupId: UUID!,
  $destinationGroupId: UUID!
) {
  changeVehiclesGroup(
    vehicleIds: $vehicleIds,
    sourceGroupId: $sourceGroupId,
    destinationGroupId: $destinationGroupId
  )
}
Variables
{
  "vehicleIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ],
  "sourceGroupId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "destinationGroupId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{
  "data": {
    "changeVehiclesGroup": ["abc123"]
  }
}

createDriverToken

Description

Create new DriverToken entity

Response

Returns a DriverToken

Arguments
Name Description
createDriverTokenInput - CreateDriverTokenInput!

Example

Query
mutation CreateDriverToken($createDriverTokenInput: CreateDriverTokenInput!) {
  createDriverToken(createDriverTokenInput: $createDriverTokenInput) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    value
    fleetId
    driverId
    lastScanTimestamp
  }
}
Variables
{"createDriverTokenInput": CreateDriverTokenInput}
Response
{
  "data": {
    "createDriverToken": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": true,
      "value": "xyz789",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "lastScanTimestamp": {}
    }
  }
}

createGeofence

Description

Create Geofence entity

Response

Returns a Geofence

Arguments
Name Description
geofenceInput - CreateGeofenceInput!

Example

Query
mutation CreateGeofence($geofenceInput: CreateGeofenceInput!) {
  createGeofence(geofenceInput: $geofenceInput) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    geojson
    color
    phone
    email
    address {
      country
      countryCode
      region
      city
      postalCode
      address
    }
    description
    type
  }
}
Variables
{"geofenceInput": CreateGeofenceInput}
Response
{
  "data": {
    "createGeofence": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": true,
      "name": "xyz789",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "geojson": {},
      "color": "abc123",
      "phone": "xyz789",
      "email": "xyz789",
      "address": Address,
      "description": "xyz789",
      "type": "xyz789"
    }
  }
}

createGroup

Description

Create new Group entity

Response

Returns a Group

Arguments
Name Description
createGroupInput - CreateGroupInput!

Example

Query
mutation CreateGroup($createGroupInput: CreateGroupInput!) {
  createGroup(createGroupInput: $createGroupInput) {
    id
    version
    createdAt
    updatedAt
    name
    fleetId
    parentId
    externalId
    description
    isOwn
    vehicleIds
    assignedVehicles {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      vin
      licensePlate
      make
      model
      year
      latestData {
        ...LatestDataFragment
      }
      lastData {
        ...CommonFormatFragment
      }
      assignedGroups {
        ...GroupFragment
      }
      assignedDevices {
        ...DeviceFragment
      }
      assignedLabels {
        ...LabelFragment
      }
      lastOdometer
      lastWorkingHours
      deactivated
      vehicleType {
        ...VehicleTypeFragment
      }
      customFields {
        ...CustomFieldFragment
      }
      workSchedule {
        ...WorkScheduleFragment
      }
    }
  }
}
Variables
{"createGroupInput": CreateGroupInput}
Response
{
  "data": {
    "createGroup": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "name": "abc123",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "parentId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "externalId": "xyz789",
      "description": "abc123",
      "isOwn": false,
      "vehicleIds": [
        "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
      ],
      "assignedVehicles": [Vehicle]
    }
  }
}

createPerson

Description

Create new Person entity

Response

Returns a Person

Arguments
Name Description
personInput - CreatePersonInput! Person data fields to create a new record

Example

Query
mutation CreatePerson($personInput: CreatePersonInput!) {
  createPerson(personInput: $personInput) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    isUser
    isDriver
    fleetId
    email
    phone
    firstName
    lastName
    globalUserId
    licenseNumber
    licenseIssuedIn
    employeeId
    customFields {
      name
      value
    }
    driverTokens {
      id
      version
      createdAt
      updatedAt
      isDeleted
      value
      fleetId
      driverId
      lastScanTimestamp
    }
    roles {
      id
      version
      createdAt
      updatedAt
      isDeleted
      fleetId
      name
    }
  }
}
Variables
{"personInput": CreatePersonInput}
Response
{
  "data": {
    "createPerson": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": true,
      "isUser": true,
      "isDriver": false,
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "email": "xyz789",
      "phone": "abc123",
      "firstName": "xyz789",
      "lastName": "abc123",
      "globalUserId": "abc123",
      "licenseNumber": "xyz789",
      "licenseIssuedIn": "xyz789",
      "employeeId": "abc123",
      "customFields": [CustomField],
      "driverTokens": [DriverToken],
      "roles": [Role]
    }
  }
}

deleteDriverToken

Description

Delete DriverToken entity

Response

Returns a Boolean

Arguments
Name Description
tokenId - UUID!

Example

Query
mutation DeleteDriverToken($tokenId: UUID!) {
  deleteDriverToken(tokenId: $tokenId)
}
Variables
{
  "tokenId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{"data": {"deleteDriverToken": true}}

deleteGeofence

Description

Delete Geofence entity

Response

Returns a Boolean

Arguments
Name Description
geofenceId - UUID!

Example

Query
mutation DeleteGeofence($geofenceId: UUID!) {
  deleteGeofence(geofenceId: $geofenceId)
}
Variables
{
  "geofenceId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{"data": {"deleteGeofence": true}}

deleteGroup

Description

Delete Group entity

Response

Returns a Boolean

Arguments
Name Description
groupId - UUID!

Example

Query
mutation DeleteGroup($groupId: UUID!) {
  deleteGroup(groupId: $groupId)
}
Variables
{
  "groupId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{"data": {"deleteGroup": true}}

deletePerson

Description

Delete Person entity

Response

Returns a Boolean

Arguments
Name Description
personId - UUID! Person ID to delete

Example

Query
mutation DeletePerson($personId: UUID!) {
  deletePerson(personId: $personId)
}
Variables
{
  "personId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}
Response
{"data": {"deletePerson": true}}

setPersonCustomRoles

Next generation of roles management will be implemented in the future
Description

Set custom roles for the person

Response

Returns a Boolean

Arguments
Name Description
personId - UUID!
roleIds - [UUID]!

Example

Query
mutation SetPersonCustomRoles(
  $personId: UUID!,
  $roleIds: [UUID]!
) {
  setPersonCustomRoles(
    personId: $personId,
    roleIds: $roleIds
  )
}
Variables
{
  "personId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "roleIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ]
}
Response
{"data": {"setPersonCustomRoles": false}}

unassignDriver

Description

Remove a driver from the vehicle (ends vehicle assignment on given time). If no assignment exists at a given time, the error is returned. If driverId is specified in the request, the vehicle driver assignment will be terminated only if it matches the specified driver. Returns "true", if the request is successful, error otherwise.

Response

Returns a Boolean

Arguments
Name Description
unassignDriverInput - UnassignDriverInput!

Example

Query
mutation UnassignDriver($unassignDriverInput: UnassignDriverInput!) {
  unassignDriver(unassignDriverInput: $unassignDriverInput)
}
Variables
{"unassignDriverInput": UnassignDriverInput}
Response
{"data": {"unassignDriver": false}}

updateDriverToken

Description

Update DriverToken entity fields, available in DriverTokenInput

Response

Returns a DriverToken

Arguments
Name Description
tokenId - UUID!
updateDriverTokenInput - UpdateDriverTokenInput!

Example

Query
mutation UpdateDriverToken(
  $tokenId: UUID!,
  $updateDriverTokenInput: UpdateDriverTokenInput!
) {
  updateDriverToken(
    tokenId: $tokenId,
    updateDriverTokenInput: $updateDriverTokenInput
  ) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    value
    fleetId
    driverId
    lastScanTimestamp
  }
}
Variables
{
  "tokenId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "updateDriverTokenInput": UpdateDriverTokenInput
}
Response
{
  "data": {
    "updateDriverToken": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": false,
      "value": "abc123",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "lastScanTimestamp": {}
    }
  }
}

updateGeofence

Description

Update Geofence entity fields, available in GeofenceInput

Response

Returns a Geofence

Arguments
Name Description
geofenceId - UUID!
geofenceInput - GeofenceInput!

Example

Query
mutation UpdateGeofence(
  $geofenceId: UUID!,
  $geofenceInput: GeofenceInput!
) {
  updateGeofence(
    geofenceId: $geofenceId,
    geofenceInput: $geofenceInput
  ) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    geojson
    color
    phone
    email
    address {
      country
      countryCode
      region
      city
      postalCode
      address
    }
    description
    type
  }
}
Variables
{
  "geofenceId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "geofenceInput": GeofenceInput
}
Response
{
  "data": {
    "updateGeofence": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": false,
      "name": "xyz789",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "geojson": {},
      "color": "xyz789",
      "phone": "xyz789",
      "email": "xyz789",
      "address": Address,
      "description": "abc123",
      "type": "abc123"
    }
  }
}

updateGroup

Description

Update Group entity fields, available in GroupInput

Response

Returns a Group

Arguments
Name Description
groupId - UUID!
updateGroupInput - UpdateGroupInput!

Example

Query
mutation UpdateGroup(
  $groupId: UUID!,
  $updateGroupInput: UpdateGroupInput!
) {
  updateGroup(
    groupId: $groupId,
    updateGroupInput: $updateGroupInput
  ) {
    id
    version
    createdAt
    updatedAt
    name
    fleetId
    parentId
    externalId
    description
    isOwn
    vehicleIds
    assignedVehicles {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      vin
      licensePlate
      make
      model
      year
      latestData {
        ...LatestDataFragment
      }
      lastData {
        ...CommonFormatFragment
      }
      assignedGroups {
        ...GroupFragment
      }
      assignedDevices {
        ...DeviceFragment
      }
      assignedLabels {
        ...LabelFragment
      }
      lastOdometer
      lastWorkingHours
      deactivated
      vehicleType {
        ...VehicleTypeFragment
      }
      customFields {
        ...CustomFieldFragment
      }
      workSchedule {
        ...WorkScheduleFragment
      }
    }
  }
}
Variables
{
  "groupId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "updateGroupInput": UpdateGroupInput
}
Response
{
  "data": {
    "updateGroup": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "name": "abc123",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "parentId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "externalId": "abc123",
      "description": "xyz789",
      "isOwn": false,
      "vehicleIds": [
        "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
      ],
      "assignedVehicles": [Vehicle]
    }
  }
}

updatePerson

Description

Update Person entity fields, available in UpdatePersonInput

Response

Returns a Person

Arguments
Name Description
personId - UUID! Person ID
personInput - UpdatePersonInput! Person data fields to update

Example

Query
mutation UpdatePerson(
  $personId: UUID!,
  $personInput: UpdatePersonInput!
) {
  updatePerson(
    personId: $personId,
    personInput: $personInput
  ) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    isUser
    isDriver
    fleetId
    email
    phone
    firstName
    lastName
    globalUserId
    licenseNumber
    licenseIssuedIn
    employeeId
    customFields {
      name
      value
    }
    driverTokens {
      id
      version
      createdAt
      updatedAt
      isDeleted
      value
      fleetId
      driverId
      lastScanTimestamp
    }
    roles {
      id
      version
      createdAt
      updatedAt
      isDeleted
      fleetId
      name
    }
  }
}
Variables
{
  "personId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "personInput": UpdatePersonInput
}
Response
{
  "data": {
    "updatePerson": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": false,
      "isUser": false,
      "isDriver": true,
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "email": "xyz789",
      "phone": "xyz789",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "globalUserId": "xyz789",
      "licenseNumber": "xyz789",
      "licenseIssuedIn": "abc123",
      "employeeId": "abc123",
      "customFields": [CustomField],
      "driverTokens": [DriverToken],
      "roles": [Role]
    }
  }
}

updatePersonCustomField

Description

Update CustomField entities, related to user

Response

Returns a CustomField

Arguments
Name Description
personId - UUID!
field - CustomFieldInput!

Example

Query
mutation UpdatePersonCustomField(
  $personId: UUID!,
  $field: CustomFieldInput!
) {
  updatePersonCustomField(
    personId: $personId,
    field: $field
  ) {
    name
    value
  }
}
Variables
{
  "personId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "field": CustomFieldInput
}
Response
{
  "data": {
    "updatePersonCustomField": {
      "name": "xyz789",
      "value": "xyz789"
    }
  }
}

updateVehicle

Description

Update Vehicle entity fields, available in VehicleInput

Response

Returns a Vehicle

Arguments
Name Description
vehicleId - UUID!
vehicleInput - VehicleInput!

Example

Query
mutation UpdateVehicle(
  $vehicleId: UUID!,
  $vehicleInput: VehicleInput!
) {
  updateVehicle(
    vehicleId: $vehicleId,
    vehicleInput: $vehicleInput
  ) {
    id
    version
    createdAt
    updatedAt
    isDeleted
    name
    fleetId
    vin
    licensePlate
    make
    model
    year
    latestData {
      timestamp
      gps {
        ...GpsFragment
      }
      gpsWithTimestamp {
        ...GpsWithTimestampFragment
      }
      odometer {
        ...FloatWithTimestampFragment
      }
      workingHours {
        ...FloatWithTimestampFragment
      }
      engineHours {
        ...LongWithTimestampFragment
      }
      address {
        ...AddressFragment
      }
      speedLimit {
        ...SpeedLimitFragment
      }
      geofenceData {
        ...GeofenceDataFragment
      }
      metaSensorData {
        ...SensorDataFragment
      }
      ptoHoursData {
        ...LongWithTimestampFragment
      }
      driverData {
        ...DriverDataFragment
      }
      canBus {
        ...CanBusFragment
      }
      canBusWithTimestamp {
        ...CanBusWithTimestampFragment
      }
      ignition {
        ...IgnitionFragment
      }
      ignitionWithTimestamp {
        ...IgnitionWithTimestampFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      driverBehaviourWithTimestamp {
        ...DriverBehaviourWithTimestampFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      temperaturesWithTimestamp {
        ...TemperaturesWithTimestampFragment
      }
      fuel {
        ...FuelFragment
      }
      fuelWithTimestamp {
        ...FuelWithTimestampFragment
      }
      misc {
        ...MiscFragment
      }
      miscWithTimestamp {
        ...MiscWithTimestampFragment
      }
      crash {
        ...CrashFragment
      }
      crashWithTimestamp {
        ...CrashWithTimestampFragment
      }
    }
    lastData {
      vehicleId
      vehicle {
        ...VehicleFragment
      }
      timestamp
      gps {
        ...GpsFragment
      }
      ignition {
        ...IgnitionFragment
      }
      driver {
        ...DriverFragment
      }
      canBus {
        ...CanBusFragment
      }
      driverBehaviour {
        ...DriverBehaviourFragment
      }
      temperatures {
        ...TemperaturesFragment
      }
      fleetMetaSensors {
        ...FleetMetaSensorsFragment
      }
      fuel {
        ...FuelFragment
      }
      misc {
        ...MiscFragment
      }
      locationTimestamp
      locationTimeZone
    }
    assignedGroups {
      id
      version
      createdAt
      updatedAt
      name
      fleetId
      parentId
      externalId
      description
      isOwn
      vehicleIds
      assignedVehicles {
        ...VehicleFragment
      }
    }
    assignedDevices {
      id
      serial
      deviceTypeKey
      enabled
      phoneNumber
    }
    assignedLabels {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
    }
    lastOdometer
    lastWorkingHours
    deactivated
    vehicleType {
      id
      name
    }
    customFields {
      name
      value
    }
    workSchedule {
      id
      version
      createdAt
      updatedAt
      isDeleted
      name
      fleetId
      isDefault
      beginGrace
      endGrace
      periods {
        ...WorkSchedulePeriodFragment
      }
    }
  }
}
Variables
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "vehicleInput": VehicleInput
}
Response
{
  "data": {
    "updateVehicle": {
      "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "version": {},
      "createdAt": {},
      "updatedAt": {},
      "isDeleted": false,
      "name": "abc123",
      "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
      "vin": "abc123",
      "licensePlate": "xyz789",
      "make": "xyz789",
      "model": "abc123",
      "year": 123,
      "latestData": LatestData,
      "lastData": CommonFormat,
      "assignedGroups": [Group],
      "assignedDevices": [Device],
      "assignedLabels": [Label],
      "lastOdometer": 987.65,
      "lastWorkingHours": 123.45,
      "deactivated": true,
      "vehicleType": VehicleType,
      "customFields": [CustomField],
      "workSchedule": WorkSchedule
    }
  }
}

updateVehicleCustomField

Description

Update CustomField entities, related to vehicle

Response

Returns a CustomField

Arguments
Name Description
vehicleId - UUID!
field - CustomFieldInput!

Example

Query
mutation UpdateVehicleCustomField(
  $vehicleId: UUID!,
  $field: CustomFieldInput!
) {
  updateVehicleCustomField(
    vehicleId: $vehicleId,
    field: $field
  ) {
    name
    value
  }
}
Variables
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "field": CustomFieldInput
}
Response
{
  "data": {
    "updateVehicleCustomField": {
      "name": "xyz789",
      "value": "xyz789"
    }
  }
}

Types

Address

Fields
Field Name Description
country - String Country name
countryCode - String ISO
region - String
city - String
postalCode - String
address - String
Example
{
  "country": "xyz789",
  "countryCode": "abc123",
  "region": "xyz789",
  "city": "xyz789",
  "postalCode": "xyz789",
  "address": "abc123"
}

AssignDriverInput

Fields
Input Field Description
vehicleId - UUID! Id of the vehicle
driverId - UUID! Id of the driver
startTimestamp - Long UTC epoch timestamp in milliseconds of the driver assignment start. If omitted defaults to now. Is allowed up to 10 days into the past
endTimestamp - Long UTC epoch timestamp in milliseconds of the driver assignment end, if omitted driver assignment will be active/ongoing
Example
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "startTimestamp": {},
  "endTimestamp": {}
}

Boolean

Description

The Boolean scalar type represents true or false.

BooleanWithTimestamp

Fields
Field Name Description
timestamp - Long Timestamp indicating last appearance of value in record
changeTimestamp - Long Timestamp indicating last change time
value - Boolean Boolean value
Example
{"timestamp": {}, "changeTimestamp": {}, "value": true}

CanAxleWeightsMap

Fields
Field Name Description
key - Int
value - Float
Example
{"key": 987, "value": 987.65}

CanAxleWeightsMapWithTimestamp

Fields
Field Name Description
key - Int
value - Float
timestamp - Long
changeTimestamp - Long
Example
{"key": 987, "value": 987.65, "timestamp": {}, "changeTimestamp": {}}

CanBus

Description

Data items read from vehicle CAN bus

Fields
Field Name Description
absStatus - Boolean Indicates whether ABS is on or off
acceleratorPedalPosition - Float Actual position of the accelerator pedal (not to be confused with engine_throttle_position)(%)
accelerationX - Float x-axis acceleration component (m/s2)
accelerationY - Float y-axis acceleration component (m/s2)
ambientAirTemperature - Float (degrees C)
barometricPressure - Float (kPa)
brakeApplicationPressure - Float (kPa)
brakePedalPosition - Float (%)
brakePedalState - Boolean
brakeTorque - Float (Nm)
canCombinationWeight - Float Tractor and trailer combination gross weight (kg)
combinationWeight - Float Calculated from axle weights + trailer weight. Only output when the CANCombinationWeight parameter not present. (kg)
canrpm - Float CANRPM
canDistance - Float Odometer (km)
canDeltaDistance - Float Delta distance from previous (record or measurement?) (km)
canTripDistance - Float Trip distance (km)
canFuelUsed - Float Total fuel used by vehicle
canTripFuelUsed - Float Fuel used during trip (l)
canTripFuelUsedPercent - Float Fuel used during trip, in percentage of tank (%)
canServiceDistance - Float (km)
canFuelRate - Float (l/h)
canhrFuelUsed - Float Total fuel used by vehicle, high resolution. If present, should be mapped to CANFuelUsed, which is the canonical name.
canSpeed - Float (km/h)
canFuel - Float Calibrated fuel value read from CAN bus. Should be remapped to 'Fuel' which is the canonical name.
canRawFuel - Float Uncalibrated fuel value read from CAN bus. Can be either deciliters or percent of tank volume.
canAxleNumber - Float The axle number referenced by CANAxleWeight. PGN 0x00FEEA in the FMS standard.
canAxleWeight - Float The load of the axle referenced in CANAxleNumber in kg
canAxleWeights - [CanAxleWeightsMap] Contains a JSON object of all known axle load values
canEngineCoolantTemperature - Float The same as CANTemperature
canEngineHours - Float
canFuelEconomy - Float Instantaneous fuel economy of PGN 0x00FEF2 in the FMS standard. Unit is km/l. Probably not actually used
canWheelSpeed - Float The same as CANSpeed
cargoWeight - Float (kg)
checkEngineWarning - Boolean MIL state
clutchPedalState - Boolean
cruiseControlState - Long Probably raw enum from J1939, in decimal (number)
deltaFuelUsed - Float
engineCoolantLevel - Float (%)
engineCoolantPressure - Float (kPa)
engineFuelType - Long Enum of bus values (same for OBD and 1939?) (number)
engineOilLevel - Float (%)
engineOilPressure - Float (kPa)
engineOilTemperature - Float (degrees C)
enginePercentLoad - Float (%)
engineRunTime - Float (s)
engineThrottlePosition - Float The position of the throttle valve (can be controlled by the accelerator pedal (accelerator_pedal_position) or by another ECU i.e. while driving on cruise control) (%)
engineIdleTime - Float Total engine idle time over the life of the vehicle (hours)
engineWorkTime - Float Total engine time over the life of the vehicle (hours)
fuelDeliveryPressure - Float (kPa)
gear - String Selected gear lever position (Park, Reverse, Neutral, Drive, Sport, Low, Gear_1, etc) (string)
intakeAirTemperature - Float (degrees C)
massAirFlow - Float
oilLifeRemaining - Float Remaining oil life (%)
overweight - Boolean
parkingBrakeSwitch - Boolean
seatBeltDriver - Boolean
seatBeltPassenger - Boolean
seatOccupiedDriver - Boolean
seatOccupiedPassenger - Boolean
serviceNowWarning - Boolean
tirePressureWarning - Boolean
tirePressure - [TirePressureMap] Key-value pairs. The key is a pair of numbers where the first number counts the axle of the tire from front to rear and the second number counts the position of the tire from left to right. The value is tire pressure in kPa. (kPa)
tirePressureStatus - [TirePressureStatusMap] Key-value pairs. The key is a pair of numbers where the first number counts the axle of the tire from front to rear and the second number counts the position of the tire from left to right. The value is tire pressure status: Normal, Low, Alert. (string)
tirePressurePlacardFront - Float Recommended front tire pressure (kPa)
tirePressurePlacardRear - Float Recommended rear tire pressure (kPa)
tireLocation - String
tractionControl - Boolean Indicates whether the traction control is on or off.
tractionControlBrake - Boolean Indicates whether the traction control brake is on or off
tractionControlPowerTrain - Boolean Indicates whether the traction control powertrain is on or off
transmissionOilTemperature - Float (degrees C)
washerFluidLevel - Float (%)
waterInFuel - Boolean
canFuelConsumption - Float (l/100km)
frontLeftDoorOpen - Boolean
frontRightDoorStatus - Boolean
hoodOpen - Boolean
rearLeftDoorOpen - Boolean
rearRightDoorOpen - Boolean
trunkOpen - Boolean
canProgramNumber - Long
cruiseControlActive - Boolean 1 - active; 0 - inactive
retarderTorqueMode - Int Enum value
actualRetarderLevel - Float (%)
nonEngineRetarderSelectionLevel - Float (%)
Example
{
  "absStatus": false,
  "acceleratorPedalPosition": 987.65,
  "accelerationX": 987.65,
  "accelerationY": 987.65,
  "ambientAirTemperature": 987.65,
  "barometricPressure": 123.45,
  "brakeApplicationPressure": 987.65,
  "brakePedalPosition": 123.45,
  "brakePedalState": false,
  "brakeTorque": 123.45,
  "canCombinationWeight": 987.65,
  "combinationWeight": 123.45,
  "canrpm": 987.65,
  "canDistance": 123.45,
  "canDeltaDistance": 987.65,
  "canTripDistance": 987.65,
  "canFuelUsed": 123.45,
  "canTripFuelUsed": 123.45,
  "canTripFuelUsedPercent": 123.45,
  "canServiceDistance": 987.65,
  "canFuelRate": 987.65,
  "canhrFuelUsed": 123.45,
  "canSpeed": 987.65,
  "canFuel": 987.65,
  "canRawFuel": 123.45,
  "canAxleNumber": 123.45,
  "canAxleWeight": 123.45,
  "canAxleWeights": [CanAxleWeightsMap],
  "canEngineCoolantTemperature": 123.45,
  "canEngineHours": 123.45,
  "canFuelEconomy": 123.45,
  "canWheelSpeed": 987.65,
  "cargoWeight": 123.45,
  "checkEngineWarning": false,
  "clutchPedalState": true,
  "cruiseControlState": {},
  "deltaFuelUsed": 123.45,
  "engineCoolantLevel": 987.65,
  "engineCoolantPressure": 123.45,
  "engineFuelType": {},
  "engineOilLevel": 123.45,
  "engineOilPressure": 123.45,
  "engineOilTemperature": 987.65,
  "enginePercentLoad": 987.65,
  "engineRunTime": 987.65,
  "engineThrottlePosition": 987.65,
  "engineIdleTime": 987.65,
  "engineWorkTime": 123.45,
  "fuelDeliveryPressure": 123.45,
  "gear": "abc123",
  "intakeAirTemperature": 987.65,
  "massAirFlow": 123.45,
  "oilLifeRemaining": 123.45,
  "overweight": false,
  "parkingBrakeSwitch": false,
  "seatBeltDriver": false,
  "seatBeltPassenger": true,
  "seatOccupiedDriver": false,
  "seatOccupiedPassenger": true,
  "serviceNowWarning": false,
  "tirePressureWarning": true,
  "tirePressure": [TirePressureMap],
  "tirePressureStatus": [TirePressureStatusMap],
  "tirePressurePlacardFront": 123.45,
  "tirePressurePlacardRear": 123.45,
  "tireLocation": "abc123",
  "tractionControl": true,
  "tractionControlBrake": true,
  "tractionControlPowerTrain": false,
  "transmissionOilTemperature": 987.65,
  "washerFluidLevel": 987.65,
  "waterInFuel": true,
  "canFuelConsumption": 987.65,
  "frontLeftDoorOpen": true,
  "frontRightDoorStatus": true,
  "hoodOpen": true,
  "rearLeftDoorOpen": false,
  "rearRightDoorOpen": false,
  "trunkOpen": true,
  "canProgramNumber": {},
  "cruiseControlActive": false,
  "retarderTorqueMode": 987,
  "actualRetarderLevel": 123.45,
  "nonEngineRetarderSelectionLevel": 123.45
}

CanBusWithTimestamp

Description

Data items read from vehicle CAN bus

Fields
Field Name Description
absStatus - BooleanWithTimestamp Indicates whether ABS is on or off
acceleratorPedalPosition - FloatWithTimestamp Actual position of the accelerator pedal (not to be confused with engine_throttle_position)(%)
accelerationX - FloatWithTimestamp x-axis acceleration component (m/s2)
accelerationY - FloatWithTimestamp y-axis acceleration component (m/s2)
ambientAirTemperature - FloatWithTimestamp (degrees C)
barometricPressure - FloatWithTimestamp (kPa)
brakeApplicationPressure - FloatWithTimestamp (kPa)
brakePedalPosition - FloatWithTimestamp (%)
brakePedalState - BooleanWithTimestamp
brakeTorque - FloatWithTimestamp (Nm)
canCombinationWeight - FloatWithTimestamp Tractor and trailer combination gross weight (kg)
combinationWeight - FloatWithTimestamp Calculated from axle weights + trailer weight. Only output when the CANCombinationWeight parameter not present. (kg)
canrpm - FloatWithTimestamp CANRPM
canDistance - FloatWithTimestamp Odometer (km)
canDeltaDistance - FloatWithTimestamp Delta distance from previous (record or measurement?) (km)
canTripDistance - FloatWithTimestamp Trip distance (km)
canFuelUsed - FloatWithTimestamp Total fuel used by vehicle
canTripFuelUsed - FloatWithTimestamp Fuel used during trip (l)
canTripFuelUsedPercent - FloatWithTimestamp Fuel used during trip, in percentage of tank (%)
canServiceDistance - FloatWithTimestamp (km)
canFuelRate - FloatWithTimestamp (l/h)
canhrFuelUsed - FloatWithTimestamp Total fuel used by vehicle, high resolution. If present, should be mapped to CANFuelUsed, which is the canonical name.
canSpeed - FloatWithTimestamp (km/h)
canFuel - FloatWithTimestamp Calibrated fuel value read from CAN bus. Should be remapped to 'Fuel' which is the canonical name.
canRawFuel - FloatWithTimestamp Uncalibrated fuel value read from CAN bus. Can be either deciliters or percent of tank volume.
canAxleNumber - FloatWithTimestamp The axle number referenced by CANAxleWeight. PGN 0x00FEEA in the FMS standard.
canAxleWeight - FloatWithTimestamp The load of the axle referenced in CANAxleNumber in kg
canEngineCoolantTemperature - FloatWithTimestamp The same as CANTemperature
canEngineHours - FloatWithTimestamp
canFuelEconomy - FloatWithTimestamp Instantaneous fuel economy of PGN 0x00FEF2 in the FMS standard. Unit is km/l. Probably not actually used
canWheelSpeed - FloatWithTimestamp The same as CANSpeed
cargoWeight - FloatWithTimestamp (kg)
checkEngineWarning - BooleanWithTimestamp MIL state
clutchPedalState - BooleanWithTimestamp
cruiseControlState - LongWithTimestamp Probably raw enum from J1939, in decimal (number)
deltaFuelUsed - FloatWithTimestamp
engineCoolantLevel - FloatWithTimestamp (%)
engineCoolantPressure - FloatWithTimestamp (kPa)
engineFuelType - LongWithTimestamp Enum of bus values (same for OBD and 1939?) (number)
engineOilLevel - FloatWithTimestamp (%)
engineOilPressure - FloatWithTimestamp (kPa)
engineOilTemperature - FloatWithTimestamp (degrees C)
enginePercentLoad - FloatWithTimestamp (%)
engineRunTime - FloatWithTimestamp (s)
engineThrottlePosition - FloatWithTimestamp The position of the throttle valve (can be controlled by the accelerator pedal (accelerator_pedal_position) or by another ECU i.e. while driving on cruise control) (%)
engineIdleTime - FloatWithTimestamp Total engine idle time over the life of the vehicle (hours)
engineWorkTime - FloatWithTimestamp Total engine time over the life of the vehicle (hours)
fuelDeliveryPressure - FloatWithTimestamp (kPa)
gear - StringWithTimestamp Selected gear lever position (Park, Reverse, Neutral, Drive, Sport, Low, Gear_1, etc) (string)
intakeAirTemperature - FloatWithTimestamp (degrees C)
massAirFlow - FloatWithTimestamp
oilLifeRemaining - FloatWithTimestamp Remaining oil life (%)
overweight - BooleanWithTimestamp
parkingBrakeSwitch - BooleanWithTimestamp
seatBeltDriver - BooleanWithTimestamp
seatBeltPassenger - BooleanWithTimestamp
seatOccupiedDriver - BooleanWithTimestamp
seatOccupiedPassenger - BooleanWithTimestamp
serviceNowWarning - BooleanWithTimestamp
tirePressureWarning - BooleanWithTimestamp
tirePressurePlacardFront - FloatWithTimestamp Recommended front tire pressure (kPa)
tirePressurePlacardRear - FloatWithTimestamp Recommended rear tire pressure (kPa)
tireLocation - StringWithTimestamp
tractionControl - BooleanWithTimestamp Indicates whether the traction control is on or off.
tractionControlBrake - BooleanWithTimestamp Indicates whether the traction control brake is on or off
tractionControlPowerTrain - BooleanWithTimestamp Indicates whether the traction control powertrain is on or off
transmissionOilTemperature - FloatWithTimestamp (degrees C)
washerFluidLevel - FloatWithTimestamp (%)
waterInFuel - BooleanWithTimestamp
canFuelConsumption - FloatWithTimestamp (l/100km)
frontLeftDoorOpen - BooleanWithTimestamp
frontRightDoorStatus - BooleanWithTimestamp
hoodOpen - BooleanWithTimestamp
rearLeftDoorOpen - BooleanWithTimestamp
rearRightDoorOpen - BooleanWithTimestamp
trunkOpen - BooleanWithTimestamp
canProgramNumber - LongWithTimestamp
cruiseControlActive - BooleanWithTimestamp 1 - active; 0 - inactive
retarderTorqueMode - IntWithTimestamp Enum value
actualRetarderLevel - FloatWithTimestamp (%)
nonEngineRetarderSelectionLevel - FloatWithTimestamp (%)
canAxleWeights - [CanAxleWeightsMapWithTimestamp] Contains a JSON object of all known axle load values
tirePressure - [TirePressureMapWithTimestamp] Key-value pairs. The key is a pair of numbers where the first number counts the axle of the tire from front to rear and the second number counts the position of the tire from left to right. The value is tire pressure in kPa. (kPa)
tirePressureStatus - [TirePressureStatusMapWithTimestamp] Key-value pairs. The key is a pair of numbers where the first number counts the axle of the tire from front to rear and the second number counts the position of the tire from left to right. The value is tire pressure status: Normal, Low, Alert. (string)
Example
{
  "absStatus": BooleanWithTimestamp,
  "acceleratorPedalPosition": FloatWithTimestamp,
  "accelerationX": FloatWithTimestamp,
  "accelerationY": FloatWithTimestamp,
  "ambientAirTemperature": FloatWithTimestamp,
  "barometricPressure": FloatWithTimestamp,
  "brakeApplicationPressure": FloatWithTimestamp,
  "brakePedalPosition": FloatWithTimestamp,
  "brakePedalState": BooleanWithTimestamp,
  "brakeTorque": FloatWithTimestamp,
  "canCombinationWeight": FloatWithTimestamp,
  "combinationWeight": FloatWithTimestamp,
  "canrpm": FloatWithTimestamp,
  "canDistance": FloatWithTimestamp,
  "canDeltaDistance": FloatWithTimestamp,
  "canTripDistance": FloatWithTimestamp,
  "canFuelUsed": FloatWithTimestamp,
  "canTripFuelUsed": FloatWithTimestamp,
  "canTripFuelUsedPercent": FloatWithTimestamp,
  "canServiceDistance": FloatWithTimestamp,
  "canFuelRate": FloatWithTimestamp,
  "canhrFuelUsed": FloatWithTimestamp,
  "canSpeed": FloatWithTimestamp,
  "canFuel": FloatWithTimestamp,
  "canRawFuel": FloatWithTimestamp,
  "canAxleNumber": FloatWithTimestamp,
  "canAxleWeight": FloatWithTimestamp,
  "canEngineCoolantTemperature": FloatWithTimestamp,
  "canEngineHours": FloatWithTimestamp,
  "canFuelEconomy": FloatWithTimestamp,
  "canWheelSpeed": FloatWithTimestamp,
  "cargoWeight": FloatWithTimestamp,
  "checkEngineWarning": BooleanWithTimestamp,
  "clutchPedalState": BooleanWithTimestamp,
  "cruiseControlState": LongWithTimestamp,
  "deltaFuelUsed": FloatWithTimestamp,
  "engineCoolantLevel": FloatWithTimestamp,
  "engineCoolantPressure": FloatWithTimestamp,
  "engineFuelType": LongWithTimestamp,
  "engineOilLevel": FloatWithTimestamp,
  "engineOilPressure": FloatWithTimestamp,
  "engineOilTemperature": FloatWithTimestamp,
  "enginePercentLoad": FloatWithTimestamp,
  "engineRunTime": FloatWithTimestamp,
  "engineThrottlePosition": FloatWithTimestamp,
  "engineIdleTime": FloatWithTimestamp,
  "engineWorkTime": FloatWithTimestamp,
  "fuelDeliveryPressure": FloatWithTimestamp,
  "gear": StringWithTimestamp,
  "intakeAirTemperature": FloatWithTimestamp,
  "massAirFlow": FloatWithTimestamp,
  "oilLifeRemaining": FloatWithTimestamp,
  "overweight": BooleanWithTimestamp,
  "parkingBrakeSwitch": BooleanWithTimestamp,
  "seatBeltDriver": BooleanWithTimestamp,
  "seatBeltPassenger": BooleanWithTimestamp,
  "seatOccupiedDriver": BooleanWithTimestamp,
  "seatOccupiedPassenger": BooleanWithTimestamp,
  "serviceNowWarning": BooleanWithTimestamp,
  "tirePressureWarning": BooleanWithTimestamp,
  "tirePressurePlacardFront": FloatWithTimestamp,
  "tirePressurePlacardRear": FloatWithTimestamp,
  "tireLocation": StringWithTimestamp,
  "tractionControl": BooleanWithTimestamp,
  "tractionControlBrake": BooleanWithTimestamp,
  "tractionControlPowerTrain": BooleanWithTimestamp,
  "transmissionOilTemperature": FloatWithTimestamp,
  "washerFluidLevel": FloatWithTimestamp,
  "waterInFuel": BooleanWithTimestamp,
  "canFuelConsumption": FloatWithTimestamp,
  "frontLeftDoorOpen": BooleanWithTimestamp,
  "frontRightDoorStatus": BooleanWithTimestamp,
  "hoodOpen": BooleanWithTimestamp,
  "rearLeftDoorOpen": BooleanWithTimestamp,
  "rearRightDoorOpen": BooleanWithTimestamp,
  "trunkOpen": BooleanWithTimestamp,
  "canProgramNumber": LongWithTimestamp,
  "cruiseControlActive": BooleanWithTimestamp,
  "retarderTorqueMode": IntWithTimestamp,
  "actualRetarderLevel": FloatWithTimestamp,
  "nonEngineRetarderSelectionLevel": FloatWithTimestamp,
  "canAxleWeights": [CanAxleWeightsMapWithTimestamp],
  "tirePressure": [TirePressureMapWithTimestamp],
  "tirePressureStatus": [
    TirePressureStatusMapWithTimestamp
  ]
}

ChangeVehicleGroupsInput

Fields
Input Field Description
removeGroupIds - [UUID]
addGroupIds - [UUID]
Example
{
  "removeGroupIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ],
  "addGroupIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ]
}

ChangeVehicleGroupsOutput

Fields
Field Name Description
vehicleId - UUID
removedGroupIds - [UUID]
addedGroupIds - [UUID]
Example
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "removedGroupIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ],
  "addedGroupIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ]
}

CommonFormat

Fields
Field Name Description
vehicleId - UUID
vehicle - Vehicle
timestamp - DateTime Snapshot date and time in UTC
gps - Gps GPS-originated data
ignition - Ignition Ignition-related
driver - Driver DriverId and related
canBus - CanBus Data items read from vehicle CAN bus
driverBehaviour - DriverBehaviour Data items related to driver behaviour
temperatures - Temperatures Temperatures measured by sensor (degrees C)
fleetMetaSensors - FleetMetaSensors
fuel - Fuel Fuel (probe-originated) and related fields
misc - Misc Various data items
locationTimestamp - DateTime Local timestamp, based on current GPS coordinates
locationTimeZone - String Local timezone, based on current GPS coordinates
Example
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "vehicle": Vehicle,
  "timestamp": "2007-12-03T10:15:30Z",
  "gps": Gps,
  "ignition": Ignition,
  "driver": Driver,
  "canBus": CanBus,
  "driverBehaviour": DriverBehaviour,
  "temperatures": Temperatures,
  "fleetMetaSensors": FleetMetaSensors,
  "fuel": Fuel,
  "misc": Misc,
  "locationTimestamp": "2007-12-03T10:15:30Z",
  "locationTimeZone": "xyz789"
}

Crash

Description

Crash data. This is caused by a 'high G event'. These values are normally '1'. It may be worth considering have a generic events flag base enum that would contain CRASH in this event.

Fields
Field Name Description
crashId - Long The crash id.
severity - Long The crash severity.
Example
{"crashId": {}, "severity": {}}

CrashWithTimestamp

Description

Crash data. This is caused by a 'high G event'. These values are normally '1'. It may be worth considering have a generic events flag base enum that would contain CRASH in this event.

Fields
Field Name Description
crashId - LongWithTimestamp The crash id.
severity - LongWithTimestamp The crash severity.
Example
{
  "crashId": LongWithTimestamp,
  "severity": LongWithTimestamp
}

CreateAddressInput

Fields
Input Field Description
address - String Street and number
city - String City name
region - String State abbreviation
countryCode - String An ISO 3166-1 alpha-2 code
postalCode - String ZIP Code
Example
{
  "address": "xyz789",
  "city": "abc123",
  "region": "xyz789",
  "countryCode": "abc123",
  "postalCode": "xyz789"
}

CreateDriverTokenInput

Fields
Input Field Description
driverId - UUID Id of the driver
value - String! Token value
Example
{
  "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "value": "abc123"
}

CreateGeofenceInput

Fields
Input Field Description
name - String
address - CreateAddressInput
color - String HEX code, example: 003366 (^([a-fA-F0-9]{6})$)
description - String
email - String
geojson - JSON geojson Feature format (https://datatracker.ietf.org/doc/html/rfc7946#section-3.2). Collections not supported.
phone - String
type - String
Example
{
  "name": "xyz789",
  "address": CreateAddressInput,
  "color": "xyz789",
  "description": "xyz789",
  "email": "abc123",
  "geojson": {},
  "phone": "abc123",
  "type": "xyz789"
}

CreateGroupInput

Fields
Input Field Description
name - String!
parentId - UUID!
description - String
externalId - String
Example
{
  "name": "xyz789",
  "parentId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "description": "xyz789",
  "externalId": "abc123"
}

CreatePersonInput

Description

Person mutation parameter, containing values to be changed and field mask to enforce the changes

Fields
Input Field Description
email - String Person email address
firstName - String Person first name
lastName - String Person last name
licenseNumber - String Driver license number
licenseIssuedIn - String Driver license issued in
employeeId - String Employee ID
isDriver - Boolean Is person a driver
phone - String Person phone number
Example
{
  "email": "abc123",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "licenseNumber": "abc123",
  "licenseIssuedIn": "xyz789",
  "employeeId": "xyz789",
  "isDriver": false,
  "phone": "xyz789"
}

CustomField

Fields
Field Name Description
name - String! Field name
value - String Custom field value
Example
{
  "name": "abc123",
  "value": "abc123"
}

CustomFieldInput

Fields
Input Field Description
name - String! Field name
value - String Custom field value
Example
{
  "name": "abc123",
  "value": "xyz789"
}

DateTime

Example
"2007-12-03T10:15:30Z"

DayOfWeek

Values
Enum Value Description

MONDAY

TUESDAY

WEDNESDAY

THURSDAY

FRIDAY

SATURDAY

SUNDAY

Example
"MONDAY"

Device

Fields
Field Name Description
id - UUID!
serial - String
deviceTypeKey - String
enabled - Boolean
phoneNumber - String
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "serial": "xyz789",
  "deviceTypeKey": "xyz789",
  "enabled": true,
  "phoneNumber": "abc123"
}

Driver

Description

DriverId and related

Fields
Field Name Description
driverId - String Canonical driver ID (required by app backend to be present for all HW types)
iButton - String Serial number of IButton (bytes reordered to match the actual value printed on some keys), without Dallas family code and checksum
oneWire - String Unaltered 1wire sentence containing IButton serial number (without reordered bytes), Dallas family code and checksum
rfidIButton - Long Decimal form of RFID card serial number (4 highest bytes) read with card reader that pretends to be an IButton.
rfidIButtonHex - String Hexadecimal form of the previous.
rfidIButtonReversed - Long Decimal form of RFID card serial number (4 lowest bytes), with bytes reordered (similarly to IButton), read with card reader that pretends to be an IButton.
rfidIButtonReversedHex - String Hexadecimal form of the previous
rfid - Long Serial number of RFID card (read with RS232 reader), also supports 7byte serial numbers. Decimal form
rfidHex - String Hexadecimal form of the previous
Example
{
  "driverId": "abc123",
  "iButton": "xyz789",
  "oneWire": "xyz789",
  "rfidIButton": {},
  "rfidIButtonHex": "abc123",
  "rfidIButtonReversed": {},
  "rfidIButtonReversedHex": "xyz789",
  "rfid": {},
  "rfidHex": "abc123"
}

DriverAssignment

Fields
Field Name Description
id - UUID! Assignment ID
version - Long! Version of the entity
createdAt - Long! UTC, unix epoch milliseconds
updatedAt - Long! UTC, unix epoch milliseconds
isDeleted - Boolean! Indicates that the entity is deleted
vehicleId - UUID Vehicle ID
driverId - UUID Driver ID
startedAt - Long Timestamp when the assignment started, in UTC (milliseconds since Unix epoch).
endedAt - Long Timestamp when the assignment ended, in UTC (milliseconds since Unix epoch). A value of 4102444800000 (1 January 2100 00:00:00 UTC) indicates that the assignment is still active.
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "isDeleted": false,
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "startedAt": {},
  "endedAt": {}
}

DriverBehaviour

Description

Data items related to driver behaviour

Fields
Field Name Description
driverBehaviourType - DriverBehaviourType Enum with different behaviour types
driverBehaviourValue - Float
Example
{
  "driverBehaviourType": "DRIVER_BEHAVIOUR_TYPE_UNKNOWN",
  "driverBehaviourValue": 987.65
}

DriverBehaviourType

Values
Enum Value Description

DRIVER_BEHAVIOUR_TYPE_UNKNOWN

HARSH_ACCELERATION

HARSH_BRAKING

HARSH_CORNERING

TAILGATING

STOP_SIGN_VIOLATION

SPEED_SIGN_VIOLATION

LANE_DRIFT

DISTRACTED_DRIVING

DROWSY_DRIVING

FORWARD_COLLISION

DISTRACTED_PHONE

MAX_SPEED_EXCEEDED

Example
"DRIVER_BEHAVIOUR_TYPE_UNKNOWN"

DriverBehaviourTypeWithTimestamp

Fields
Field Name Description
timestamp - Long Timestamp indicating last appearance of value in record
changeTimestamp - Long Timestamp indicating last change time
value - DriverBehaviourType DriverBehaviourType value
Example
{
  "timestamp": {},
  "changeTimestamp": {},
  "value": "DRIVER_BEHAVIOUR_TYPE_UNKNOWN"
}

DriverBehaviourWithTimestamp

Fields
Field Name Description
driverBehaviourType - DriverBehaviourTypeWithTimestamp
driverBehaviourValue - FloatWithTimestamp
Example
{
  "driverBehaviourType": DriverBehaviourTypeWithTimestamp,
  "driverBehaviourValue": FloatWithTimestamp
}

DriverData

Fields
Field Name Description
driverId - UUID
Example
{
  "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}

DriverToken

Fields
Field Name Description
id - UUID!
version - Long!
createdAt - Long! UTC, unix epoch milliseconds
updatedAt - Long! UTC, unix epoch milliseconds
isDeleted - Boolean!
value - String
fleetId - UUID!
driverId - UUID
lastScanTimestamp - Long
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "isDeleted": false,
  "value": "xyz789",
  "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "lastScanTimestamp": {}
}

DriverTokenInputFields

Values
Enum Value Description

driver_id

value

Example
"driver_id"

FleetMetaSensors

Fields
Field Name Description
sensors - [SensorMap]
Example
{"sensors": [SensorMap]}

FleetUserInfo

Fields
Field Name Description
userName - String
userId - String
fleetName - String
fleetId - String
Example
{
  "userName": "xyz789",
  "userId": "xyz789",
  "fleetName": "abc123",
  "fleetId": "xyz789"
}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

FloatWithTimestamp

Fields
Field Name Description
timestamp - Long Timestamp indicating last appearance of value in record
changeTimestamp - Long Timestamp indicating last change time
value - Float Numeric value
Example
{"timestamp": {}, "changeTimestamp": {}, "value": 987.65}

Fuel

Fields
Field Name Description
fuel - Float The canonical Fuel field, contains the amount of fuel in the fuel tank (sum of two tanks, in case of vehicles with two fuel tanks) in liters
rawFuel - [RawFuelMap] The raw (uncalibrated) value of the fuel probe in the fuel tanks, for certain device types
pulseCount - Long The impulse count of fuel flow meter
fuelLevel - [FuelLevelMap] Fuel level in percent
totalFuelEconomy - Float
fuelTankSize - Float
Example
{
  "fuel": 123.45,
  "rawFuel": [RawFuelMap],
  "pulseCount": {},
  "fuelLevel": [FuelLevelMap],
  "totalFuelEconomy": 987.65,
  "fuelTankSize": 987.65
}

FuelLevelMap

Fields
Field Name Description
key - Int
value - Float
Example
{"key": 987, "value": 987.65}

FuelLevelMapWithTimestamp

Fields
Field Name Description
key - Int
value - Float
timestamp - Long
changeTimestamp - Long
Example
{"key": 987, "value": 987.65, "timestamp": {}, "changeTimestamp": {}}

FuelWithTimestamp

Description

Fuel (probe-originated) and related fields

Fields
Field Name Description
fuel - FloatWithTimestamp The canonical Fuel field, contains the amount of fuel in the fuel tank (sum of two tanks, in case of vehicles with two fuel tanks) in liters
pulseCount - LongWithTimestamp The impulse count of fuel flow meter
totalFuelEconomy - FloatWithTimestamp
fuelTankSize - FloatWithTimestamp
rawFuel - [RawFuelMapWithTimestamp] The raw (uncalibrated) value of the fuel probe in the fuel tanks, for certain device types
fuelLevel - [FuelLevelMapWithTimestamp] Fuel level in percent
Example
{
  "fuel": FloatWithTimestamp,
  "pulseCount": LongWithTimestamp,
  "totalFuelEconomy": FloatWithTimestamp,
  "fuelTankSize": FloatWithTimestamp,
  "rawFuel": [RawFuelMapWithTimestamp],
  "fuelLevel": [FuelLevelMapWithTimestamp]
}

Geofence

Fields
Field Name Description
id - UUID!
version - Long!
createdAt - Long! UTC, unix epoch milliseconds
updatedAt - Long! UTC, unix epoch milliseconds
isDeleted - Boolean!
name - String
fleetId - UUID!
geojson - JSON geojson Feature format (https://datatracker.ietf.org/doc/html/rfc7946#section-3.2). Collections not supported.
color - String HEX code, example: 003366 (^([a-fA-F0-9]{6})$)
phone - String
email - String
address - Address
description - String
type - String Geofence type
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "isDeleted": false,
  "name": "xyz789",
  "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "geojson": {},
  "color": "xyz789",
  "phone": "xyz789",
  "email": "xyz789",
  "address": Address,
  "description": "xyz789",
  "type": "abc123"
}

GeofenceData

Fields
Field Name Description
geofenceIds - [UUID]
geofences - [Geofence] Use getGeofences query for geofences details
Example
{
  "geofenceIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ],
  "geofences": [Geofence]
}

GeofenceInput

Fields
Input Field Description
name - String
address - UpdateAddressInput
color - String HEX code, example: 003366 (^([a-fA-F0-9]{6})$)
description - String
email - String
geojson - JSON geojson Feature format (https://datatracker.ietf.org/doc/html/rfc7946#section-3.2). Collections not supported.
phone - String
type - String
fieldMask - [GeofenceInputFields!]!

A list of entity field names to specify which changes to apply for core entity.

Example: [name, color, email, geojson]

Example
{
  "name": "abc123",
  "address": UpdateAddressInput,
  "color": "xyz789",
  "description": "abc123",
  "email": "abc123",
  "geojson": {},
  "phone": "abc123",
  "type": "abc123",
  "fieldMask": ["name"]
}

GeofenceInputFields

Values
Enum Value Description

name

address

color

description

email

geojson

phone

type

Example
"name"

GetDriverAssignmentsInput

Description

Input for getting driver assignments One of Driver ID or Vehicle ID must be provided

Fields
Input Field Description
vehicleId - UUID ID of the vehicle for which to retrieve assignments. Either vehicleId or driverId is required.
driverId - UUID ID of the driver for whom to retrieve assignments. Either driverId or vehicleId is required.
from - DateTime! Start of the period for which to retrieve assignments, in RFC 3339 format. If only from is provided, the assignment active at this exact moment will be returned.
to - DateTime End of the period for which to retrieve assignments, in RFC 3339 format. If provided, assignments within the range [from, to] will be returned. If not provided, only the assignment active at the from timestamp will be returned.
Example
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z"
}

Gps

Description

GPS-originated data

Fields
Field Name Description
state - Boolean Sourced from A/V evaluation of GPRMC sentence, where available
latitude - Float The value here is arc minutes (degree * 60) (minutes)
longitude - Float The value here is arc minutes (degree * 60) (minutes)
direction - Float The direction the vehicle is heading in degrees
altitude - Float (meters)
speed - Float (km/h)
satellites - Long Number of satellites used
hdop - Float horizontal dilution of precision
Example
{
  "state": true,
  "latitude": 987.65,
  "longitude": 987.65,
  "direction": 987.65,
  "altitude": 123.45,
  "speed": 123.45,
  "satellites": {},
  "hdop": 987.65
}

GpsWithTimestamp

Fields
Field Name Description
state - BooleanWithTimestamp
latitude - FloatWithTimestamp
longitude - FloatWithTimestamp
direction - FloatWithTimestamp
altitude - FloatWithTimestamp
speed - FloatWithTimestamp
satellites - IntWithTimestamp
hdop - FloatWithTimestamp
Example
{
  "state": BooleanWithTimestamp,
  "latitude": FloatWithTimestamp,
  "longitude": FloatWithTimestamp,
  "direction": FloatWithTimestamp,
  "altitude": FloatWithTimestamp,
  "speed": FloatWithTimestamp,
  "satellites": IntWithTimestamp,
  "hdop": FloatWithTimestamp
}

Group

Fields
Field Name Description
id - UUID!
version - Long!
createdAt - Long!
updatedAt - Long!
name - String
fleetId - UUID!
parentId - UUID
externalId - String
description - String
isOwn - Boolean No longer supported
vehicleIds - [UUID]
assignedVehicles - [Vehicle]
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "name": "abc123",
  "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "parentId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "externalId": "xyz789",
  "description": "xyz789",
  "isOwn": true,
  "vehicleIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ],
  "assignedVehicles": [Vehicle]
}

GroupInputFields

Values
Enum Value Description

name

description

parent_id

external_id

Example
"name"

Ignition

Description

Ignition-related

Fields
Field Name Description
engineStatus - Boolean
Example
{"engineStatus": true}

IgnitionWithTimestamp

Description

Ignition-related

Fields
Field Name Description
engineStatus - BooleanWithTimestamp
Example
{"engineStatus": BooleanWithTimestamp}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

IntWithTimestamp

Fields
Field Name Description
timestamp - Long Timestamp indicating last appearance of value in record
changeTimestamp - Long Timestamp indicating last change time
value - Int Numeric value
Example
{"timestamp": {}, "changeTimestamp": {}, "value": 987}

JSON

Example
{}

Label

Fields
Field Name Description
id - UUID!
version - Long!
createdAt - Long! UTC, unix epoch milliseconds
updatedAt - Long! UTC, unix epoch milliseconds
isDeleted - Boolean!
name - String
fleetId - UUID!
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "isDeleted": true,
  "name": "abc123",
  "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
}

LatestData

Fields
Field Name Description
timestamp - Long
gps - Gps
gpsWithTimestamp - GpsWithTimestamp GPS location
odometer - FloatWithTimestamp CAN based last odometer reading
workingHours - FloatWithTimestamp Use engineHours instead
engineHours - LongWithTimestamp An engine hour meter reading in seconds
address - Address
speedLimit - SpeedLimit
geofenceData - GeofenceData
metaSensorData - [SensorData]
ptoHoursData - LongWithTimestamp
driverData - DriverData
canBus - CanBus Data items read from vehicle CAN bus
canBusWithTimestamp - CanBusWithTimestamp Data items read from vehicle CAN bus with last timestamp
ignition - Ignition Ignition-related
ignitionWithTimestamp - IgnitionWithTimestamp Ignition-related with last timestamp
driverBehaviour - DriverBehaviour Driver behaviour
driverBehaviourWithTimestamp - DriverBehaviourWithTimestamp Driver behaviour with last timestamp
temperatures - Temperatures Temperatures measured by sensor (degrees C)
temperaturesWithTimestamp - TemperaturesWithTimestamp Temperatures measured by sensor (degrees C) with last timestamp
fuel - Fuel Fuel (probe-originated) and related fields
fuelWithTimestamp - FuelWithTimestamp Fuel (probe-originated) and related fields with last timestamp
misc - Misc Various data items
miscWithTimestamp - MiscWithTimestamp Various data items with timestamp
crash - Crash Crash data. This is caused by a 'high G event'.
crashWithTimestamp - CrashWithTimestamp Crash data with timestamp. This is caused by a 'high G event'.
Example
{
  "timestamp": {},
  "gps": Gps,
  "gpsWithTimestamp": GpsWithTimestamp,
  "odometer": FloatWithTimestamp,
  "workingHours": FloatWithTimestamp,
  "engineHours": LongWithTimestamp,
  "address": Address,
  "speedLimit": SpeedLimit,
  "geofenceData": GeofenceData,
  "metaSensorData": [SensorData],
  "ptoHoursData": LongWithTimestamp,
  "driverData": DriverData,
  "canBus": CanBus,
  "canBusWithTimestamp": CanBusWithTimestamp,
  "ignition": Ignition,
  "ignitionWithTimestamp": IgnitionWithTimestamp,
  "driverBehaviour": DriverBehaviour,
  "driverBehaviourWithTimestamp": DriverBehaviourWithTimestamp,
  "temperatures": Temperatures,
  "temperaturesWithTimestamp": TemperaturesWithTimestamp,
  "fuel": Fuel,
  "fuelWithTimestamp": FuelWithTimestamp,
  "misc": Misc,
  "miscWithTimestamp": MiscWithTimestamp,
  "crash": Crash,
  "crashWithTimestamp": CrashWithTimestamp
}

Long

Example
{}

LongWithTimestamp

Fields
Field Name Description
timestamp - Long Timestamp indicating last appearance of value in record
changeTimestamp - Long Timestamp indicating last change time
value - Long Numeric value
Example
{"timestamp": {}, "changeTimestamp": {}, "value": {}}

MetaSensor

Fields
Field Name Description
name - String
key - Int
Example
{"name": "abc123", "key": 987}

Misc

Description

Various data items

Fields
Field Name Description
power - Float External power supply voltage (commonly the vehicle power system)
vehicleBusType - String Vehicle data bus the tracker is connected to
Example
{
  "power": 987.65,
  "vehicleBusType": "xyz789"
}

MiscWithTimestamp

Description

Various data items

Fields
Field Name Description
power - FloatWithTimestamp External power supply voltage (commonly the vehicle power system)
vehicleBusType - StringWithTimestamp Vehicle data bus the tracker is connected to
Example
{
  "power": FloatWithTimestamp,
  "vehicleBusType": StringWithTimestamp
}

Person

Fields
Field Name Description
id - UUID!
version - Long!
createdAt - Long!
updatedAt - Long!
isDeleted - Boolean!
isUser - Boolean!
isDriver - Boolean!
fleetId - UUID!
email - String
phone - String
firstName - String
lastName - String
globalUserId - String
licenseNumber - String
licenseIssuedIn - String
employeeId - String
customFields - [CustomField]
driverTokens - [DriverToken]
roles - [Role]
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "isDeleted": true,
  "isUser": false,
  "isDriver": true,
  "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "email": "abc123",
  "phone": "xyz789",
  "firstName": "abc123",
  "lastName": "abc123",
  "globalUserId": "xyz789",
  "licenseNumber": "abc123",
  "licenseIssuedIn": "abc123",
  "employeeId": "xyz789",
  "customFields": [CustomField],
  "driverTokens": [DriverToken],
  "roles": [Role]
}

PersonInputFields

Description

The set of person input field names supported in fieldmask

Values
Enum Value Description

email

first_name

last_name

license_number

license_issued_in

employee_id

is_driver

phone

Example
"email"

PlatformEntity

Fields
Field Name Description
id - UUID!
version - Long!
createdAt - Long!
updatedAt - Long!
isDeleted - Boolean!
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "isDeleted": false
}

RawFuelMap

Fields
Field Name Description
key - Int
value - Float
Example
{"key": 123, "value": 123.45}

RawFuelMapWithTimestamp

Fields
Field Name Description
key - Int
value - Float
timestamp - Long
changeTimestamp - Long
Example
{"key": 123, "value": 123.45, "timestamp": {}, "changeTimestamp": {}}

Role

Fields
Field Name Description
id - UUID!
version - Long!
createdAt - Long! UTC, unix epoch milliseconds
updatedAt - Long! UTC, unix epoch milliseconds
isDeleted - Boolean!
fleetId - UUID!
name - String
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "isDeleted": true,
  "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "name": "xyz789"
}

Rule

Fields
Field Name Description
id - UUID!
name - String
enabled - Boolean
ruleType - String
vehicles - RuleVehicles
geofenceIds - [UUID]
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "name": "abc123",
  "enabled": false,
  "ruleType": "abc123",
  "vehicles": RuleVehicles,
  "geofenceIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ]
}

RuleVehicles

Fields
Field Name Description
assignedVehicleIds - [UUID]
assignedGroupIds - [UUID]
assignedToAll - Boolean
Example
{
  "assignedVehicleIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ],
  "assignedGroupIds": [
    "e0980b37-f595-48ec-a2f1-8c4c70765d5a"
  ],
  "assignedToAll": false
}

Sensor

Fields
Field Name Description
name - String Sensor name
source - String Input source for sensor
Example
{
  "name": "xyz789",
  "source": "xyz789"
}

SensorData

Description

Datapoint from sensor

Fields
Field Name Description
key - Int
value - String
timestamp - Long
changeTimestamp - Long
Example
{
  "key": 123,
  "value": "abc123",
  "timestamp": {},
  "changeTimestamp": {}
}

SensorMap

Fields
Field Name Description
key - Int
value - String
Example
{"key": 123, "value": "xyz789"}

SpeedLimit

Fields
Field Name Description
placeId - String Place id, originated from geo info provider
limit - Int Speed limit (KMH)
Example
{"placeId": "xyz789", "limit": 123}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

StringWithTimestamp

Fields
Field Name Description
timestamp - Long Timestamp indicating last appearance of value in record
changeTimestamp - Long Timestamp indicating last change time
value - String String value
Example
{
  "timestamp": {},
  "changeTimestamp": {},
  "value": "xyz789"
}

TemperatureMap

Fields
Field Name Description
key - Int Numeric index
value - Float
Example
{"key": 987, "value": 123.45}

TemperatureMapWithTimestamp

Fields
Field Name Description
key - Int
value - Float
timestamp - Long
changeTimestamp - Long
Example
{"key": 987, "value": 987.65, "timestamp": {}, "changeTimestamp": {}}

TemperatureSensorMap

Fields
Field Name Description
key - Int Numeric index
value - String
Example
{"key": 987, "value": "abc123"}

TemperatureSensorMapWithTimestamp

Fields
Field Name Description
key - Int
value - String
timestamp - Long
changeTimestamp - Long
Example
{
  "key": 987,
  "value": "xyz789",
  "timestamp": {},
  "changeTimestamp": {}
}

Temperatures

Description

Temperatures measured by sensor (degrees C)

Fields
Field Name Description
temperatures - [TemperatureMap] Key value map with index and temperature value
temperatureSensorIds - [TemperatureSensorMap] Key value map with index and temperature sensor name
Example
{
  "temperatures": [TemperatureMap],
  "temperatureSensorIds": [TemperatureSensorMap]
}

TemperaturesWithTimestamp

Description

Temperatures measured by sensor (degrees C)

Fields
Field Name Description
temperatures - [TemperatureMapWithTimestamp] Key value map with index and temperature value
temperatureSensorIds - [TemperatureSensorMapWithTimestamp] Key value map with index and temperature sensor name
Example
{
  "temperatures": [TemperatureMapWithTimestamp],
  "temperatureSensorIds": [
    TemperatureSensorMapWithTimestamp
  ]
}

TirePressureMap

Fields
Field Name Description
key - String
value - Float
Example
{"key": "abc123", "value": 987.65}

TirePressureMapWithTimestamp

Fields
Field Name Description
key - String
value - Float
timestamp - Long
changeTimestamp - Long
Example
{
  "key": "abc123",
  "value": 123.45,
  "timestamp": {},
  "changeTimestamp": {}
}

TirePressureStatusMap

Fields
Field Name Description
key - String
value - String
Example
{
  "key": "xyz789",
  "value": "abc123"
}

TirePressureStatusMapWithTimestamp

Fields
Field Name Description
key - String
value - String
timestamp - Long
changeTimestamp - Long
Example
{
  "key": "xyz789",
  "value": "abc123",
  "timestamp": {},
  "changeTimestamp": {}
}

UUID

Example
"e0980b37-f595-48ec-a2f1-8c4c70765d5a"

UnassignDriverInput

Fields
Input Field Description
vehicleId - UUID! Id of the vehicle
driverId - UUID Id of the driver, if defined then driver assignment will be ended only if input driverId matches the driverId of the assignment
endTimestamp - Long UTC epoch timestamp in milliseconds of the driver assignment end. If omitted defaults to now. Is allowed up to 10 days into the past
Example
{
  "vehicleId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "endTimestamp": {}
}

UpdateAddressInput

Fields
Input Field Description
address - String Street and number
city - String City name
region - String State abbreviation
countryCode - String An ISO 3166-1 alpha-2 code
postalCode - String ZIP Code
fieldMask - [UpdateAddressInputFields!]!

A list of entity field names to specify which changes to apply for core entity.

Example: [city, country_code, postal_code]

Example
{
  "address": "xyz789",
  "city": "abc123",
  "region": "abc123",
  "countryCode": "abc123",
  "postalCode": "xyz789",
  "fieldMask": ["address"]
}

UpdateAddressInputFields

Values
Enum Value Description

address

city

region

country_code

postal_code

Example
"address"

UpdateDriverTokenInput

Fields
Input Field Description
driverId - UUID Id of the driver
value - String Token value
fieldMask - [DriverTokenInputFields!]! List of affected fields by current mutation
Example
{
  "driverId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "value": "abc123",
  "fieldMask": ["driver_id"]
}

UpdateGroupInput

Fields
Input Field Description
name - String
description - String
parentId - UUID
externalId - String
fieldMask - [GroupInputFields!]!
Example
{
  "name": "abc123",
  "description": "abc123",
  "parentId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "externalId": "xyz789",
  "fieldMask": ["name"]
}

UpdatePersonInput

Description

Person mutation parameter, containing values to be changed and field mask to enforce the changes

Fields
Input Field Description
email - String Person email address
firstName - String Person first name
lastName - String Person last name
licenseNumber - String Driver license number
licenseIssuedIn - String Driver license issued in
employeeId - String Employee ID
isDriver - Boolean Is person a driver
phone - String Person phone number
fieldMask - [PersonInputFields!]!

A list of entity field names to specify which changes to apply for core entity.

Example: [first_name, last_name, email]

Example
{
  "email": "abc123",
  "firstName": "abc123",
  "lastName": "xyz789",
  "licenseNumber": "abc123",
  "licenseIssuedIn": "abc123",
  "employeeId": "xyz789",
  "isDriver": false,
  "phone": "xyz789",
  "fieldMask": ["email"]
}

Vehicle

Fields
Field Name Description
id - UUID!
version - Long!
createdAt - Long!
updatedAt - Long!
isDeleted - Boolean!
name - String
fleetId - UUID!
vin - String
licensePlate - String
make - String
model - String
year - Int
latestData - LatestData
lastData - CommonFormat Use latestData instead
assignedGroups - [Group]
assignedDevices - [Device] List of devices, connected to a vehicle. Device details (except ID) are hidden (null) if the current user has no data access to the device.
assignedLabels - [Label]
lastOdometer - Float Latest odometer reading Use odometer from latestData instead
lastWorkingHours - Float Use workingHours from latestData instead
deactivated - Boolean!
vehicleType - VehicleType
customFields - [CustomField]
workSchedule - WorkSchedule
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "isDeleted": true,
  "name": "abc123",
  "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "vin": "abc123",
  "licensePlate": "xyz789",
  "make": "abc123",
  "model": "abc123",
  "year": 123,
  "latestData": LatestData,
  "lastData": CommonFormat,
  "assignedGroups": [Group],
  "assignedDevices": [Device],
  "assignedLabels": [Label],
  "lastOdometer": 987.65,
  "lastWorkingHours": 123.45,
  "deactivated": true,
  "vehicleType": VehicleType,
  "customFields": [CustomField],
  "workSchedule": WorkSchedule
}

VehicleInput

Description

Vehicle mutation parameter, containing values to be changed and field mask to enforce the changes

Fields
Input Field Description
name - String
vin - String
licensePlate - String
make - String
model - String
year - Int
deactivated - Boolean
vehicleTypeId - UUID
fieldMask - [VehicleInputFields!]!

A list of entity field names to specify which changes to apply for core entity.

Example: [name, license_plate]

Example
{
  "name": "xyz789",
  "vin": "xyz789",
  "licensePlate": "abc123",
  "make": "abc123",
  "model": "xyz789",
  "year": 123,
  "deactivated": false,
  "vehicleTypeId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "fieldMask": ["name"]
}

VehicleInputFields

Description

The set of vehicle input field names supported in fieldmask

Values
Enum Value Description

name

vin

license_plate

make

model

year

deactivated

vehicle_type_id

Example
"name"

VehicleType

Fields
Field Name Description
id - UUID!
name - String
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "name": "abc123"
}

WorkSchedule

Fields
Field Name Description
id - UUID!
version - Long!
createdAt - Long! UTC, unix epoch milliseconds
updatedAt - Long! UTC, unix epoch milliseconds
isDeleted - Boolean!
name - String
fleetId - UUID!
isDefault - Boolean Indicates that this is the fleet's default work schedule
beginGrace - Int Begin grace period, in seconds
endGrace - Int End grace period, in seconds
periods - [WorkSchedulePeriod]
Example
{
  "id": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "version": {},
  "createdAt": {},
  "updatedAt": {},
  "isDeleted": true,
  "name": "abc123",
  "fleetId": "e0980b37-f595-48ec-a2f1-8c4c70765d5a",
  "isDefault": true,
  "beginGrace": 987,
  "endGrace": 123,
  "periods": [WorkSchedulePeriod]
}

WorkSchedulePeriod

Fields
Field Name Description
weekday - DayOfWeek
begin - Int Time of day, represented as number of seconds since day start
duration - Int Duration in seconds
Example
{"weekday": "MONDAY", "begin": 123, "duration": 123}

WrappedReport

Fields
Field Name Description
reportId - String!
report - JSON
Example
{"reportId": "xyz789", "report": {}}

WrappedReportInput

Fields
Input Field Description
reportId - String!
input - JSON!
Example
{"reportId": "abc123", "input": {}}

WrappedReportInputs

Fields
Field Name Description
id - String
title - String
description - String
onlyFleetTimezone - Boolean
inputs - JSON
Example
{
  "id": "xyz789",
  "title": "xyz789",
  "description": "xyz789",
  "onlyFleetTimezone": true,
  "inputs": {}
}