NAV
Shell Python JavaScript

Gemone REST API v1.0.1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Documentation about Gemone REST API calls.

Not all datapoints will contain information for your assets. The availability of information is dependent on the machine and telematics device.

Introduction

Working hours

There are different ways to think about what should be considered as “Working hours“. We let the customers fine tune this categorization, by allowing them to select which inputs (eg: Moving, Hour counter, Key switch, Battery charging) defines that this particular asset is working. The working hours can also be calculated from CAN data, when there is a matching protocol available for the asset respective make, model, and year of manufacture. They can also be obtained directly via API integration with the OEM, that will provide the most up to date information for this asset.

Hour counter

This represents the hour reader that we have available on the asset. It’s possible to be derived via the CAN bus, or via some other digital input defined. More information about how to request this information is available in the endpoint getAssetStatusDetails.

AEMP datapoints

Token request example

Client secret and client id needs to be substituted.

Code sample

curl --location --request POST 'https://auth.gemone.com/auth/realms/gemone/protocol/openid-connect/token' \
 -H 'Content-Type: application/x-www-form-urlencoded' \
 --data-urlencode 'grant_type=client_credentials' \
 --data-urlencode 'client_secret=<client secret>' \
 --data-urlencode 'client_id=<client id>'
   // Sample only available for shell
   // Sample only available for shell

Authentication

Scope Scope Description

Account

getAccountsTree (Deprecated)

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/tree \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/tree', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/tree',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/tree

Returns account with nested sub accounts

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id

Example responses

200 Response

{
  "id": "11111111-0000-0000-0000-000000000000",
  "name": "My big rental company",
  "parent_account_id": null,
  "parent_account_name": null,
  "subaccounts": [
    {
      "id": "22222222-0000-0000-0000-000000000000",
      "name": "My smaller rental company",
      "parent_account_id": "11111111-0000-0000-0000-000000000000",
      "parent_account_name": "My big rental company",
      "subaccounts": []
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Accounts account-with-sub-accounts
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getAccounts

Code samples

# You can also use wget
curl -X GET /api/v1/accounts \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts

Returns list of accounts accessible for the token

Example responses

200 Response

{
  "values": [
    {
      "id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "name": "ACME Co.",
      "country": "Belgium",
      "country_code": "BE",
      "first_name": "John",
      "last_name": "Smith",
      "language_code": "EN",
      "address_line_1": "Random Street 12",
      "address_line_2": "Unit 4",
      "postal_code": 21355,
      "city": "Brussels",
      "timezone": "Europe/Brussels"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Accounts accounts
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

Access key management

Get up and running with our API fleet components that enable users to manage all the access control components & link/unlink them with assets and operators.

createAccessKeyForAccount

This operation will allow you to create an access key for the specified account.

Code samples

# You can also use wget
curl -X POST /api/v1/accounts/{account-id}/access-keys \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/api/v1/accounts/{account-id}/access-keys', headers = headers)

print(r.json())

const inputBody = '{
  "name": "Forklift's access key",
  "code": "123123",
  "code_type": "visual",
  "type": "pincode"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/access-keys',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /api/v1/accounts/{account-id}/access-keys

Creates access key for given account id

Body parameter

{
  "name": "Forklift's access key",
  "code": "123123",
  "code_type": "visual",
  "type": "pincode"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
body body accessKeyPostRequest true Access key creation request body

Example responses

200 Response

{
  "id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
  "name": "Forklift's access key",
  "visual_code": "123123",
  "physical_code": "000001E0F3",
  "source_code_type": "visual",
  "type": "pincode"
}

Responses

Status Meaning Description Schema
200 OK Successful operation of creating access key accessKey
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getAccessKeysForAccount

Get the entire access keys details per customer: All the access keys belonging to this customer, will be returned with this request.

Get the access key information details in the response for a specific access key.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/access-keys \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/access-keys', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/access-keys',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/access-keys

Returns access-keys for given account id

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)

Example responses

200 Response

{
  "values": [
    {
      "id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
      "name": "Forklift's access key",
      "visual_code": "123123",
      "physical_code": "000001E0F3",
      "source_code_type": "visual",
      "type": "pincode"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Access keys for given account id accessKeys
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

getAccessKey

Get the access key information details in the response for a specific access key.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/access-keys/{access-key-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/access-keys/{access-key-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/access-keys/{access-key-id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/access-keys/{access-key-id}

Returns information about an access key

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
access-key-id path string(uuid) true Asset id

Example responses

200 Response

{
  "id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
  "name": "Forklift's access key",
  "visual_code": "123123",
  "physical_code": "000001E0F3",
  "source_code_type": "visual",
  "type": "pincode"
}

Responses

Status Meaning Description Schema
200 OK Access key details accessKey
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

updateAccessKey

Every device must be claimed, before it's linked to an asset. This operation will allow the user to update the access key details.

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/access-keys/{access-key-id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/access-keys/{access-key-id}', headers = headers)

print(r.json())

const inputBody = '{
  "name": "Forklift's access key",
  "code": "123123",
  "code_type": "visual"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/access-keys/{access-key-id}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/access-keys/{access-key-id}

Update given access key

Body parameter

{
  "name": "Forklift's access key",
  "code": "123123",
  "code_type": "visual"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
access-key-id path string(uuid) true Asset id
body body accessKeyPutRequest true Access key update request body

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Access key updated None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

deleteAccessKey

Delete a specific access key for this account.

Code samples

# You can also use wget
curl -X DELETE /api/v1/accounts/{account-id}/access-keys/{access-key-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('/api/v1/accounts/{account-id}/access-keys/{access-key-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/access-keys/{access-key-id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /api/v1/accounts/{account-id}/access-keys/{access-key-id}

Deletes given access key

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
access-key-id path string(uuid) true Asset id

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Access key deleted None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

Asset management

Get up and running with our API fleet components that enable users to create, read, update or delete assets from the GemOne platform.

getAssetsForAccount

All the assets belonging to the fleet, that have a device connected, will be returned with this request.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets

Returns assets for given account id

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
has_device query boolean false Determines if requested assets should have linked device (true - only assets with linked device, false - assets without linked devices, null / not given - all assets)
name query string false Search for asset by exact name (case insensitive)
external_ref_id query string false Search for asset by exact external reference id match
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)

Example responses

200 Response

{
  "values": [
    {
      "id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
      "name": "Forklift 1",
      "make": "MY20",
      "model": "MY20",
      "serial": "455346666",
      "last_data_received_time": "2018-06-20T16:27:30.000Z",
      "status": "WORKING",
      "linked_device_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
      "external_ref_id": "anystring",
      "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Assets for given account id assets
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Page not found 404
500 Internal Server Error Internal server error 500

createAssetForAccount

This operation will allow you to immediately create an asset and have it allocated on your fleet.

Code samples

# You can also use wget
curl -X POST /api/v1/accounts/{account-id}/assets \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/api/v1/accounts/{account-id}/assets', headers = headers)

print(r.json())

const inputBody = '{
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "remarks": "Remark",
  "is_rental": true,
  "types": [
    "onroad",
    "offroad"
  ],
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "external_ref_id": "anystring"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /api/v1/accounts/{account-id}/assets

Creates asset for given account id

Body parameter

{
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "remarks": "Remark",
  "is_rental": true,
  "types": [
    "onroad",
    "offroad"
  ],
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "external_ref_id": "anystring"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
body body assetPostRequest true Asset creation request body

Example responses

200 Response

{
  "id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "external_ref_id": "anystring",
  "remarks": "Remark",
  "is_rental": true,
  "types": [
    "onroad",
    "offroad"
  ],
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
}

Responses

Status Meaning Description Schema
200 OK Successful operation of creating asset assetPostPatchResponse
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
409 Conflict Already exist 409
500 Internal Server Error Internal server error 500

getAssetDetails

Get the asset information in the response for a specific asset id.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}

Returns asset details

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id

Example responses

200 Response

{
  "id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "last_data_received_time": "2018-06-20T16:27:30.000Z",
  "status": "WORKING",
  "linked_device_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "can_delete": {
    "status": false,
    "messages": [
      "LBL_ASSET_LINKED_TO_ACCESS_KEYS"
    ]
  },
  "external_ref_id": "anystring",
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "remarks": "Remark",
  "types": [
    "onroad",
    "offroad"
  ],
  "is_rental": true
}

Responses

Status Meaning Description Schema
200 OK Asset details assetDetails
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

patchAsset

This endpoint enables users to update the current asset details and update them to the correct values.

Code samples

# You can also use wget
curl -X PATCH /api/v1/accounts/{account-id}/assets/{asset-id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('/api/v1/accounts/{account-id}/assets/{asset-id}', headers = headers)

print(r.json())

const inputBody = '{
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "remarks": "Remark",
  "is_rental": true,
  "types": [
    "onroad",
    "offroad"
  ],
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "external_ref_id": "anystring"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /api/v1/accounts/{account-id}/assets/{asset-id}

Updates given fields of asset

Body parameter

{
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "remarks": "Remark",
  "is_rental": true,
  "types": [
    "onroad",
    "offroad"
  ],
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "external_ref_id": "anystring"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
body body assetPatchRequest true Asset patch results

Example responses

200 Response

{
  "id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "external_ref_id": "anystring",
  "remarks": "Remark",
  "is_rental": true,
  "types": [
    "onroad",
    "offroad"
  ],
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
}

Responses

Status Meaning Description Schema
200 OK Changed asset assetPostPatchResponse
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

deleteAsset

The delete endpoint allows you to delete single existing assets. Conditions for deletion: When an asset has a linked device it cannot be deleted. It also cannot be deleted when it's included on a geofence or public link.

Code samples

# You can also use wget
curl -X DELETE /api/v1/accounts/{account-id}/assets/{asset-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('/api/v1/accounts/{account-id}/assets/{asset-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /api/v1/accounts/{account-id}/assets/{asset-id}

Deletes given asset

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id

Example responses

401 Response

{
  "title": "string",
  "status": 401,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Asset deleted None
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getAssetStatusDetails

The below command allows users to understand where the hour counter data is coming from. It might be derived from a CAN protocol, in this case the field “protocol” will be filled in with the respective protocol in place, or if it’s derived via other input defined (eg: Moving, Hour counter, Key switch, Battery charging), the respective “input” will be displayed to the users.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/status \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/status', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/status',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/status

Returns asset status details

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id

Example responses

200 Response

{
  "can": {
    "protocol": "HYSTER_J_22_35_XN",
    "current_seconds": 17872312
  },
  "input": {
    "current_seconds": 17872312
  }
}

Responses

Status Meaning Description Schema
200 OK Asset status assetStatusDetails
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

replaceAccessKeyLinkedToCustomerAsset

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/assets/{asset-id}/access-keys \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/assets/{asset-id}/access-keys', headers = headers)

print(r.json())

const inputBody = '{
  "access_key_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/access-keys',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/assets/{asset-id}/access-keys

Replaces access key linked to customer asset

Body parameter

{
  "access_key_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
body body replaceAccessKeysRequest true Replace access keys request body

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Replaced access keys linked with customer asset None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getOperatorLinkedToCustomerAsset

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/operators \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/operators', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/operators',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/operators

Returns operators linked to customer asset

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id

Example responses

200 Response

{
  "operators": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "roles": [
        "OPERATOR"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Operators linked with customer asset operatorsLinkedToAsset
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

replaceOperatorLinkedToCustomerAsset

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/assets/{asset-id}/operators \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/assets/{asset-id}/operators', headers = headers)

print(r.json())

const inputBody = '{
  "operators": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "roles": [
        "OPERATOR"
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/operators',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/assets/{asset-id}/operators

Replaces operators linked to customer asset

Body parameter

{
  "operators": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "roles": [
        "OPERATOR"
      ]
    }
  ]
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
body body operatorsLinkedToAsset true Replace operators request body

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Replaced operators linked with customer asset None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

linkDeviceToAsset

This endpoint enables users to link a claimed device into an existing asset. The existing asset must not have a linked device, otherwise the operation will not succeed.

Pre-requisites: the device must be claimed on this company account, the asset must not have a linked device.

Code samples

# You can also use wget
curl -X POST /api/v1/accounts/{account-id}/assets/{asset-id}/devices/{device-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/api/v1/accounts/{account-id}/assets/{asset-id}/devices/{device-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/devices/{device-id}',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /api/v1/accounts/{account-id}/assets/{asset-id}/devices/{device-id}

Links device to an asset

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
device-id path string(uuid) true Device id

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Device linked None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

unlinkDeviceFromAsset

This endpoint enables users to unlink a device from an existing asset. A new asset can be linked to this device in the future.

Code samples

# You can also use wget
curl -X DELETE /api/v1/accounts/{account-id}/assets/{asset-id}/devices/{device-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('/api/v1/accounts/{account-id}/assets/{asset-id}/devices/{device-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/devices/{device-id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /api/v1/accounts/{account-id}/assets/{asset-id}/devices/{device-id}

Unlinks device from an asset

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
device-id path string(uuid) true Device id

Example responses

401 Response

{
  "title": "string",
  "status": 401,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Device unlinked None
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getLabelsLinkedToAsset (Deprecated)

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/labels \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/labels', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/labels',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/labels

Get the labels linked to the asset

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id

Example responses

200 Response

{
  "label_ids": [
    "ea4afdd6-0c23-11ed-861d-0242ac120002"
  ]
}

Responses

Status Meaning Description Schema
200 OK Labels linked to asset labelsLinkedToAsset
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

replaceLabelsLinkedToAsset (Deprecated)

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/assets/{asset-id}/labels \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/assets/{asset-id}/labels', headers = headers)

print(r.json())

const inputBody = '{
  "label_ids": [
    "ea4afdd6-0c23-11ed-861d-0242ac120002"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/labels',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/assets/{asset-id}/labels

Replace the labels linked to the asset

Body parameter

{
  "label_ids": [
    "ea4afdd6-0c23-11ed-861d-0242ac120002"
  ]
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
body body replaceLabelsLinkedToAssetRequest true Array of labels ids to be linked with asset

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Labels linked to the asset None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getLabelsLinkedToAssetV2

Code samples

# You can also use wget
curl -X GET /api/v2/accounts/{account-id}/assets/{asset-id}/labels \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v2/accounts/{account-id}/assets/{asset-id}/labels', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v2/accounts/{account-id}/assets/{asset-id}/labels',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v2/accounts/{account-id}/assets/{asset-id}/labels

Get the labels linked to the asset

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id

Example responses

200 Response

[
  {
    "label_id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
    "label_group_id": "fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f"
  }
]

Responses

Status Meaning Description Schema
200 OK Labels linked to asset labelGroupsAndLabelsLinkedToAsset
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

replaceLabelsLinkedToAssetV2

Code samples

# You can also use wget
curl -X PUT /api/v2/accounts/{account-id}/assets/{asset-id}/labels \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v2/accounts/{account-id}/assets/{asset-id}/labels', headers = headers)

print(r.json())

const inputBody = '[
  {
    "label_id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
    "label_group_id": "fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f"
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v2/accounts/{account-id}/assets/{asset-id}/labels',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v2/accounts/{account-id}/assets/{asset-id}/labels

Replace the labels linked to the asset

Body parameter

[
  {
    "label_id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
    "label_group_id": "fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f"
  }
]

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
body body replaceLabelsLinkedToAssetV2Request true Array of label group and label ids to be linked with asset

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Labels linked to the asset None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

Operator management

Get up and running with our API fleet components that enable users to create, read, update or delete operators from the GemOne platform.

getOperatorsForAccount

This operation will allow the users to read all the operators within this company.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/operators \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/operators', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/operators',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/operators

Returns operators for given account id

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)

Example responses

200 Response

{
  "values": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "language": "pl-PL",
      "roles": [
        "OPERATOR"
      ],
      "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
      "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
      "first_name": "string",
      "last_name": "string",
      "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Operators for given account id operators
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

createOperator

This operation will allow you to immediately create an operator and have it created on your Access & Safety module.

Code samples

# You can also use wget
curl -X POST /api/v1/accounts/{account-id}/operators \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/api/v1/accounts/{account-id}/operators', headers = headers)

print(r.json())

const inputBody = '{
  "first_name": "string",
  "last_name": "string",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/operators',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /api/v1/accounts/{account-id}/operators

Creates an operator

Body parameter

{
  "first_name": "string",
  "last_name": "string",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
body body createOperatorRequest true Operator data

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "first_name": "string",
  "last_name": "string",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}

Responses

Status Meaning Description Schema
200 OK Operator created operatorDetailsResponse
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getOperatorDetails

Alternatively we can get the specific details of a single operator by using the below endpoint.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/operators/{operator-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/operators/{operator-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/operators/{operator-id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/operators/{operator-id}

Get an operator details

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
operator-id path string(uuid) true Operator id

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "first_name": "string",
  "last_name": "string",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}

Responses

Status Meaning Description Schema
200 OK Success operatorDetailsResponse
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

updateOperator

This endpoint enables users to update the current operator details and update them to the correct values.

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/operators/{operator-id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/operators/{operator-id}', headers = headers)

print(r.json())

const inputBody = '{
  "first_name": "string",
  "last_name": "string",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/operators/{operator-id}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/operators/{operator-id}

Updates an operator

Body parameter

{
  "first_name": "string",
  "last_name": "string",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
operator-id path string(uuid) true Operator id
body body updateOperatorRequest true Operator data

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "first_name": "string",
  "last_name": "string",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}

Responses

Status Meaning Description Schema
200 OK Operator updated operatorDetailsResponse
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

deleteOperator

The delete endpoint allows you to delete single existing operators. There are no pre-requirements to proceed with the operator deletion, which means that this operation will happen, even if there are other entities linked with the specified operator.

Code samples

# You can also use wget
curl -X DELETE /api/v1/accounts/{account-id}/operators/{operator-id}?force=true \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('/api/v1/accounts/{account-id}/operators/{operator-id}', params={
  'force': 'true'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/operators/{operator-id}?force=true',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /api/v1/accounts/{account-id}/operators/{operator-id}

Deletes an operator

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
operator-id path string(uuid) true Operator id
force query boolean true Delete also links from operator to assets, access keys, licenses, and trainings. In case the flag is not set and an operator has links, then a request will be rejected.

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Operator deleted None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

replaceAccessKeyLinkedToCustomerOperator

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/operators/{operator-id}/access-keys \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/operators/{operator-id}/access-keys', headers = headers)

print(r.json())

const inputBody = '{
  "access_key_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/operators/{operator-id}/access-keys',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/operators/{operator-id}/access-keys

Replaces access key linked to customer operator

Body parameter

{
  "access_key_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
operator-id path string(uuid) true Operator id
body body replaceAccessKeysRequest true Replace access keys request body

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Replaced access keys linked with customer operator None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getAssetsLinkedToOperator

Gives the possibility to know which assets are linked to operators by using the below endpoint.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/operators/{operator-id}/assets \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/operators/{operator-id}/assets', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/operators/{operator-id}/assets',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/operators/{operator-id}/assets

Returns list of assets linked to an operator

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
operator-id path string(uuid) true Operator id

Example responses

200 Response

{
  "assets": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "roles": [
        "OPERATOR"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Assets for given account id assetsLinkedToAnOperator
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Page not found 404
500 Internal Server Error Internal server error 500

replaceAssetLinkedToCustomerOperator

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/operators/{operator-id}/assets \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/operators/{operator-id}/assets', headers = headers)

print(r.json())

const inputBody = '{
  "assets": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "roles": [
        "OPERATOR"
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/operators/{operator-id}/assets',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/operators/{operator-id}/assets

Replaces assets linked to customer operator

Body parameter

{
  "assets": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "roles": [
        "OPERATOR"
      ]
    }
  ]
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
operator-id path string(uuid) true Operator id
body body assetsLinkedToAnOperator true Replace assets request body

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Replaced assets linked with customer operator None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getOperatorLicenses

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/operators/{operator-id}/licenses \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/operators/{operator-id}/licenses', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/operators/{operator-id}/licenses',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/operators/{operator-id}/licenses

Returns list of operator licenses

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
operator-id path string(uuid) true Operator id

Example responses

200 Response

{
  "values": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "expiration_date": "2019-08-24T14:15:22Z",
      "expire_in": 0
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Operator licenses licenses
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Page not found 404
500 Internal Server Error Internal server error 500

Device management

Get up and running with our API fleet components that enable users to get device details, claim and unclaim devices from the GemOne platform.

getDevicesForAccount

Get all the required device information details. We can read all the devices within this company by using this endpoint.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/devices \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/devices', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/devices',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/devices

Returns devices for given account id

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)

Example responses

200 Response

{
  "values": [
    {
      "id": "a3cef5e5-2c92-4fe8-a6ce-81056c57e8e7",
      "imei_number": "104905062020",
      "customer_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
      "device_model": {
        "id": "65e4ab04-20e0-11ea-941c-42010a8400bc",
        "type": "OWASYS",
        "type_label": "Sapphire",
        "model": "OWA4X",
        "model_label": "V3"
      },
      "linked_asset_id": "36568506-1bcf-41b6-96d2-688f89971a39"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Devices for given account id devices
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

claimDeviceForAccount

Every device must be claimed, before it's linked to an asset. This operation will allow the user to claim the device, and operate with this device on the fleet.

Code samples

# You can also use wget
curl -X POST /api/v1/accounts/{account-id}/devices \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/api/v1/accounts/{account-id}/devices', headers = headers)

print(r.json())

const inputBody = '{
  "imei_number": "104905062020"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/devices',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /api/v1/accounts/{account-id}/devices

Claims device for given account id

Body parameter

{
  "imei_number": "104905062020"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
body body claimDeviceRequest true Imei of claimed device

Example responses

200 Response

{
  "imei_number": "104905062020",
  "id": "a3cef5e5-2c92-4fe8-a6ce-81056c57e8e7"
}

Responses

Status Meaning Description Schema
200 OK Claims device for given account id claimedDeviceResponse
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
409 Conflict Device is already claimed 404
500 Internal Server Error Internal server error 500

getDeviceDetails

This endpoint will provide all the specific details of a single device.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/devices/{device-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/devices/{device-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/devices/{device-id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/devices/{device-id}

Returns device details

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
device-id path string(uuid) true Device id

Example responses

200 Response

{
  "id": "a3cef5e5-2c92-4fe8-a6ce-81056c57e8e7",
  "imei_number": "104905062020",
  "customer_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "device_model": {
    "id": "65e4ab04-20e0-11ea-941c-42010a8400bc",
    "type": "OWASYS",
    "type_label": "Sapphire",
    "model": "OWA4X",
    "model_label": "V3"
  },
  "linked_asset_id": "36568506-1bcf-41b6-96d2-688f89971a39"
}

Responses

Status Meaning Description Schema
200 OK Device details device
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

unclaimDeviceDetails

The un-claiming operation will completely remove the device id from the fleet, and it won't be possible to visualize it or use it afterwards.

Code samples

# You can also use wget
curl -X DELETE /api/v1/accounts/{account-id}/devices/{device-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('/api/v1/accounts/{account-id}/devices/{device-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/devices/{device-id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /api/v1/accounts/{account-id}/devices/{device-id}

Unclaims device from given account id

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
device-id path string(uuid) true Device id

Example responses

401 Response

{
  "title": "string",
  "status": 401,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Device unclaimed None
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getDeviceByImei

Code samples

# You can also use wget
curl -X GET /api/v1/devices/imei/{imei} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/devices/imei/{imei}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/devices/imei/{imei}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/devices/imei/{imei}

Get device details by IMEI number

Parameters

Name In Type Required Description
imei path string true Device IMEI number

Example responses

200 Response

{
  "id": "a3cef5e5-2c92-4fe8-a6ce-81056c57e8e7",
  "imei_number": "104905062020",
  "customer_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "device_model": {
    "id": "65e4ab04-20e0-11ea-941c-42010a8400bc",
    "type": "OWASYS",
    "type_label": "Sapphire",
    "model": "OWA4X",
    "model_label": "V3"
  },
  "linked_asset_id": "36568506-1bcf-41b6-96d2-688f89971a39"
}

Responses

Status Meaning Description Schema
200 OK Device details deviceByImei
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

Organisational unit management

getOrganisationalUnits

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/organisational-units \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/organisational-units', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/organisational-units',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/organisational-units

Returns organisational units for given account id

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id

Example responses

200 Response

{
  "values": [
    {
      "id": "0452d5be-60bf-4aa8-8d34-f75e968297f6",
      "name": "Orange",
      "supervisor_first_name": "Will",
      "supervisor_last_name": "Smith",
      "supervisor_email": "supervisor@email.com",
      "supervisor_phone_number": "+481234566789"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Organisational units for given account id organisational-units
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

Label management

createLabel

Code samples

# You can also use wget
curl -X POST /api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels', headers = headers)

print(r.json())

const inputBody = '{
  "name": "Forklift",
  "color": "#FF00CC"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels

Creates a label

Body parameter

{
  "name": "Forklift",
  "color": "#FF00CC"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
label-group-id path string(uuid) true Label group id
body body upsertLabelRequest true Label data

Example responses

201 Response

{
  "id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
  "name": "Forklift",
  "color": "#FF00CC"
}

Responses

Status Meaning Description Schema
201 Created Successful operation of creating label label
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

updateLabel

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels/{label-id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels/{label-id}', headers = headers)

print(r.json())

const inputBody = '{
  "name": "Forklift",
  "color": "#FF00CC"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels/{label-id}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels/{label-id}

Updates a label

Body parameter

{
  "name": "Forklift",
  "color": "#FF00CC"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
label-group-id path string(uuid) true Label group id
label-id path string(uuid) true Label id
body body upsertLabelRequest true Label data

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Label updated None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

deleteLabel

Code samples

# You can also use wget
curl -X DELETE /api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels/{label-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('/api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels/{label-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels/{label-id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /api/v1/accounts/{account-id}/label-groups/{label-group-id}/labels/{label-id}

Deletes label

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
label-group-id path string(uuid) true Label group id
label-id path string(uuid) true Label id

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Label deleted None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

replaceAssetsLinkedToLabel

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/labels/{label-id}/assets \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/labels/{label-id}/assets', headers = headers)

print(r.json())

const inputBody = '{
  "asset_ids": [
    "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/labels/{label-id}/assets',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/labels/{label-id}/assets

Replace the assets linked to the label

Body parameter

{
  "asset_ids": [
    "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
  ]
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
label-id path string(uuid) true Label id
body body replaceAssetsLinkedToLabelRequest true Array of assets ids to be linked with label

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Assets linked to the label None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

Label group management

getLabelGroupsWithLabels

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/label-groups \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/label-groups', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/label-groups',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/label-groups

Returns all asset label groups with labels

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id

Example responses

200 Response

{
  "values": [
    {
      "id": "fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f",
      "name": "Forklifts",
      "labels": [
        {
          "id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
          "name": "Forklift",
          "color": "#FF00CC"
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Returns all asset label groups with labels labelGroupsWithLabels
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

createLabelGroup

Code samples

# You can also use wget
curl -X POST /api/v1/accounts/{account-id}/label-groups \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/api/v1/accounts/{account-id}/label-groups', headers = headers)

print(r.json())

const inputBody = '{
  "name": "Forklifts",
  "type": "asset"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/label-groups',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /api/v1/accounts/{account-id}/label-groups

Creates a label group

Body parameter

{
  "name": "Forklifts",
  "type": "asset"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
body body createLabelGroupRequest true Label group data

Example responses

201 Response

{
  "id": "fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f",
  "name": "Forklifts",
  "customer_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
}

Responses

Status Meaning Description Schema
201 Created Successful operation of creating label group labelGroup
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

updateLabelGroup

Code samples

# You can also use wget
curl -X PUT /api/v1/accounts/{account-id}/label-groups/{label-group-id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('/api/v1/accounts/{account-id}/label-groups/{label-group-id}', headers = headers)

print(r.json())

const inputBody = '{
  "name": "Forklifts",
  "type": "asset"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/label-groups/{label-group-id}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /api/v1/accounts/{account-id}/label-groups/{label-group-id}

Updates a label group

Body parameter

{
  "name": "Forklifts",
  "type": "asset"
}

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
label-group-id path string(uuid) true Label group id
body body createLabelGroupRequest true Label group data

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Label group updated None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

deleteLabelGroup

Code samples

# You can also use wget
curl -X DELETE /api/v1/accounts/{account-id}/label-groups/{label-group-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('/api/v1/accounts/{account-id}/label-groups/{label-group-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/label-groups/{label-group-id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /api/v1/accounts/{account-id}/label-groups/{label-group-id}

Deletes label group

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
label-group-id path string(uuid) true Label group id

Example responses

400 Response

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Responses

Status Meaning Description Schema
204 No Content Label group deleted None
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

Checklist management

getChecklistsWithQuestions

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/checklists \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/checklists', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/checklists',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/checklists

Returns checklists for given account ID

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)

Example responses

200 Response

{
  "values": [
    {
      "id": "6442f074-2b72-4999-9e2e-150ca9d0ca7a",
      "version_id": "fed0a688-f4fb-41d5-a3e5-f1652d88c9ad",
      "name": "Pre-Op Check",
      "description": "Pre-Operation Checklist",
      "default_language": "pl-PL",
      "supported_languages": [
        "pl-PL"
      ],
      "created_at": "2025-01-01T12:34:56.789Z",
      "questions": [
        {
          "id": 1,
          "critical": true,
          "fixed": true,
          "phase": "PRE",
          "answer": "NO",
          "title": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Checklists for given account id checklists
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

getChecklistWithQuestions

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/checklists/{checklist-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/checklists/{checklist-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/checklists/{checklist-id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/checklists/{checklist-id}

Returns checklist details

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
checklist-id path string(uuid) true Checklist id

Example responses

200 Response

{
  "id": "6442f074-2b72-4999-9e2e-150ca9d0ca7a",
  "version_id": "fed0a688-f4fb-41d5-a3e5-f1652d88c9ad",
  "name": "Pre-Op Check",
  "description": "Pre-Operation Checklist",
  "default_language": "pl-PL",
  "supported_languages": [
    "pl-PL"
  ],
  "created_at": "2025-01-01T12:34:56.789Z",
  "questions": [
    {
      "id": 1,
      "critical": true,
      "fixed": true,
      "phase": "PRE",
      "answer": "NO",
      "title": {
        "property1": "string",
        "property2": "string"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Checklist details checklist
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getChecklistVersionsWithQuestions

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/checklists/{checklist-id}/versions \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/checklists/{checklist-id}/versions', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/checklists/{checklist-id}/versions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/checklists/{checklist-id}/versions

Returns checklist versions for given account ID

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
checklist-id path string(uuid) true Checklist id
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)

Example responses

200 Response

{
  "values": [
    {
      "id": "6442f074-2b72-4999-9e2e-150ca9d0ca7a",
      "version_id": "fed0a688-f4fb-41d5-a3e5-f1652d88c9ad",
      "name": "Pre-Op Check",
      "description": "Pre-Operation Checklist",
      "default_language": "pl-PL",
      "supported_languages": [
        "pl-PL"
      ],
      "created_at": "2025-01-01T12:34:56.789Z",
      "questions": [
        {
          "id": 1,
          "critical": true,
          "fixed": true,
          "phase": "PRE",
          "answer": "NO",
          "title": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Checklist versions for given checklist id checklists
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Page not found 404
500 Internal Server Error Internal server error 500

getChecklistVersionWithQuestions

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/checklists/{checklist-id}/versions/{version-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/checklists/{checklist-id}/versions/{version-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/checklists/{checklist-id}/versions/{version-id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/checklists/{checklist-id}/versions/{version-id}

Returns checklist version details

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
checklist-id path string(uuid) true Checklist id
version-id path string(uuid) true Checklist version id

Example responses

200 Response

{
  "id": "6442f074-2b72-4999-9e2e-150ca9d0ca7a",
  "version_id": "fed0a688-f4fb-41d5-a3e5-f1652d88c9ad",
  "name": "Pre-Op Check",
  "description": "Pre-Operation Checklist",
  "default_language": "pl-PL",
  "supported_languages": [
    "pl-PL"
  ],
  "created_at": "2025-01-01T12:34:56.789Z",
  "questions": [
    {
      "id": 1,
      "critical": true,
      "fixed": true,
      "phase": "PRE",
      "answer": "NO",
      "title": {
        "property1": "string",
        "property2": "string"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Checklist version details checklist
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getChecklistResults

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/checklist-results?begin=2022-01-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/checklist-results', params={
  'begin': '2022-01-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/checklist-results?begin=2022-01-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/checklist-results

Returns checklist results for given account ID

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) false End date(exclusive) if not present it defaults to now()
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)

Example responses

200 Response

{
  "values": [
    {
      "id": "5d5e63fb-0563-424d-9662-0c9f1bbcc8be",
      "asset_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
      "operator_id": "2164bc0e-4861-4464-8b5e-e8c8be72f220",
      "checklist_id": "6442f074-2b72-4999-9e2e-150ca9d0ca7a",
      "version_id": "fed0a688-f4fb-41d5-a3e5-f1652d88c9ad",
      "start_time": "2025-03-08T01:30:00.000-05:00",
      "duration_in_seconds": 37,
      "result": "SUCCESS",
      "answers": [
        {
          "question_id": 1,
          "end_time": "2025-03-08T01:30:00.000-05:00",
          "answer": "NO"
        }
      ]
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Checklist versions for given checklist id checklistResults
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

Session management

getSessions

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/sessions?session_start_from=2025-03-08T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/sessions', params={
  'session_start_from': '2025-03-08T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/sessions?session_start_from=2025-03-08T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/sessions

Get sessions

Returns sessions for given account id

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)
session_start_from query string(date-time) true The start of the session_start range (inclusive).
session_start_to query string(date-time) false The end of the session_start range (exclusive).
exclude_ongoing query boolean false When set to false also shows sessions that are not finished yet

Detailed descriptions

session_start_from: The start of the session_start range (inclusive). The range cannot exceed 31 days. If querying for more than 31 days in the past, please provide session_start_to parameter

session_start_to: The end of the session_start range (exclusive). If omitted, the current time now() is assumed. The range cannot exceed 31 days.

Example responses

200 Response

{
  "values": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "operator_id": "fa9de6bb-1df8-4ba6-9e6d-1172fbf7e166",
      "session_start": "2019-08-24T14:15:22Z",
      "session_end": "2019-08-24T14:15:22Z",
      "access_key_id": "43338e2f-017a-495c-9154-5c2583b83035",
      "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK A list of sessions. sessions
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

User management

getAccountUsers

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/users \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/users', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/users',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/users

Returns users that belongs to account

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)

Example responses

200 Response

{
  "values": [
    {
      "id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "first_name": "Adam",
      "last_name": "Smith",
      "email": "adam.sosnowski@test.pl",
      "phone_number": 111222333,
      "language_id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "hour_format\"": 24,
      "date_format": "DD/MM/YYYY",
      "distance_measurement": "metric",
      "volume_measurement\"": "metric",
      "tenant_id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "status": "ACTIVE",
      "tenant_admin": true
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  },
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  }
}

Responses

Status Meaning Description Schema
200 OK User list users
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

getUsers

Code samples

# You can also use wget
curl -X GET /api/v1/users \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/users', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/users',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/users

Returns users that belongs to tenant

Parameters

Name In Type Required Description
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)

Example responses

200 Response

{
  "values": [
    {
      "id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "first_name": "Adam",
      "last_name": "Smith",
      "email": "adam.sosnowski@test.pl",
      "phone_number": 111222333,
      "language_id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "hour_format\"": 24,
      "date_format": "DD/MM/YYYY",
      "distance_measurement": "metric",
      "volume_measurement\"": "metric",
      "tenant_id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "status": "ACTIVE",
      "tenant_admin": true
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  },
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  }
}

Responses

Status Meaning Description Schema
200 OK User list users
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

getUserAccounts

Code samples

# You can also use wget
curl -X GET /api/v1/users/{user-id}/accounts \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/users/{user-id}/accounts', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/users/{user-id}/accounts',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/users/{user-id}/accounts

Returns user accounts with corresponding role

Parameters

Name In Type Required Description
user-id path string(uuid) true User id

Example responses

200 Response

{
  "values": [
    {
      "account_id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "role_id": "282ef8ee-334a-11ed-9bae-872086dc14b3"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK List of account ids and corresponding role id Inline
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» values [object] false none List of account and role pairs
»» account_id string(UUID) false none none
»» role_id string(UUID) false none none

getRole

Code samples

# You can also use wget
curl -X GET /api/v1/roles/{role-id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/roles/{role-id}', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/roles/{role-id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/roles/{role-id}

Returns role with list of rights

Parameters

Name In Type Required Description
role-id path string(uuid) true Role id

Example responses

200 Response

{
  "name": "INVOICE_MANAGER",
  "rights": [
    {
      "name": "fleet_management",
      "access": "USER",
      "description": "Gives option to only view assets and devices"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Role with list of rights Inline
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» name string false none none
» rights [right] false none none
»» name string false none none
»» access string false none none
»» description string false none none

Enumerated Values

Property Value
access USER
access ADMIN

getAccountUserSubscriptions

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/users/{user-id}/subscriptions \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/users/{user-id}/subscriptions', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/users/{user-id}/subscriptions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/users/{user-id}/subscriptions

Returns users email notification subscriptions

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
user-id path string(uuid) true User id

Example responses

200 Response

{
  "values": [
    {
      "type": "alert",
      "label": "IMPACT_WARNING",
      "alert_definition_id": "662dec1e-e1b0-4cf1-9b7b-ce073ca84b66"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK User details subscriptions
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

Impact management

getImpacts

This endpoint allows users to get all the impact data, such as severity, total force, direction, latitude, longitude, for a given timestamp defined by the users.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/impacts?begin=2022-01-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/impacts', params={
  'begin': '2022-01-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/impacts?begin=2022-01-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/impacts

Get impacts

Returns impacts for given account id.

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)
begin query string(date-time) true The start of the range (inclusive).
end query string(date-time) false End date(exclusive) if not present it defaults to now()

Detailed descriptions

begin: The start of the range (inclusive). The range cannot exceed 31 days. If querying for more than 31 days in the past, please provide end parameter

Example responses

200 Response

{
  "values": [
    {
      "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
      "operator_id": "fa9de6bb-1df8-4ba6-9e6d-1172fbf7e166",
      "timestamp": "2019-08-24T14:15:22Z",
      "magnitude": 2220.1211,
      "severity": "UNKNOWN",
      "direction": "UNKNOWN"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK A list of impacts. impacts
400 Bad Request Bad request 400
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
500 Internal Server Error Internal server error 500

AEMP datapoints

getCargo-load

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/cargo-load?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/cargo-load', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/cargo-load?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/cargo-load

Returns a collection of cargo-load

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "cargo_weight": {
        "unit": "GRAM",
        "value": 12
      },
      "overload_bridged": true,
      "handling_mode_suspended": true,
      "handling_mode_fork": true,
      "load": true,
      "weight": 0,
      "handling_mode_bucket": true,
      "load_count": 0,
      "cargo_load": 0,
      "overload": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation cargo-load
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getErrors

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/errors?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/errors', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/errors?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/errors

Returns a collection of errors

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "active_errors": [
        {
          "error_message": "message",
          "severity": "UNKNOWN",
          "error_code": "23"
        }
      ],
      "errors": [
        {
          "severity": "UNKNOWN",
          "code": "23",
          "type": "J1939",
          "active": true,
          "source": "ENGINE"
        }
      ],
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation errors
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getHour-counter

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hour-counter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hour-counter', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hour-counter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hour-counter

Returns a collection of hour-counter

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "hour_counter": true,
      "total_hours": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation hour-counter
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getLocation

Via the below endpoint, we can get the location details for a given asset. The response will include latitude, longitude, GPS quality, and timestamp for a respective asset location.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/location?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/location', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/location?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/location

Returns a collection of location

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "altitude": 0,
      "indoor": true,
      "location": {
        "latitude": 29.97827,
        "longitude": 31.13116
      },
      "source": "GPS",
      "speed": 0,
      "quality": 3,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation location
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-def-tank

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-def-tank?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-def-tank', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-def-tank?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-def-tank

Returns a collection of main-engine-def-tank

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "level_percentage": 3,
      "level_low_warning": true,
      "level_liters": 0,
      "level_warning": "NO_WARNING",
      "actual_dosing": 0,
      "temperature": 0,
      "level_state": "NO_WARNING",
      "concentration": 0,
      "doser_pressure": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-def-tank
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-idle-hours

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-idle-hours?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-idle-hours', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-idle-hours?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-idle-hours

Returns a collection of main-engine-idle-hours

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "total_idle_non_operating_hours": 0,
      "total_idle_hours": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-idle-hours
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-running

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-running?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-running', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-running?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-running

Returns a collection of main-engine-running

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "operating_state": "string",
      "running": true,
      "total_running_hours": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "engine_speed": 3,
      "number_of_starts": 3
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-running
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getPower-takeoff

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/power-takeoff?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/power-takeoff', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/power-takeoff?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/power-takeoff

Returns a collection of power-takeoff

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "total_power_takeoff": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation power-takeoff
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

Other datapoints

getAssetCumulativeOperatingHours

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/cumulative-operating-hours \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/cumulative-operating-hours', headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/cumulative-operating-hours',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/cumulative-operating-hours

Returns asset cumulative operating hours

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) false Begin date(inclusive)
end query string(date-time) false End date(exclusive)

Example responses

200 Response

{
  "hour": 123.4,
  "datetime": "2022-04-26T13:27:53.001Z"
}

Responses

Status Meaning Description Schema
200 OK Cumulative Operating Hours cumulative_operating_hours
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getAssetErrors

Requesting the information below, will retrieve all the respective asset errors.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/errors?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/errors', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/errors?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/errors

Returns enriched asset errors

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)
page query integer(int32) false Page number(min = 1, default = 1)
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)

Example responses

200 Response

{
  "values": [
    {
      "error_code": "UNK_89:15",
      "error_message": "TILT SENSOR - FAULT",
      "severity": "UNKNOWN",
      "active": "true",
      "activated_at": "2022-03-31T12:42:10.153154700Z",
      "deactivated_at": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  },
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  }
}

Responses

Status Meaning Description Schema
200 OK Enriched asset errors for a given machine trouble_codes
401 Unauthorized Unauthorized access 401
403 Forbidden Forbidden 403
404 Not Found Not found 404
500 Internal Server Error Internal server error 500

getAccelerator-pedal

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/accelerator-pedal?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/accelerator-pedal', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/accelerator-pedal?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/accelerator-pedal

Returns a collection of accelerator-pedal

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "position": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation accelerator-pedal
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getAccess-control

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/access-control?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/access-control', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/access-control?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/access-control

Returns a collection of access-control

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "session_active": true,
      "session_id": "string",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation access-control
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getActivity

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/activity?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/activity', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/activity?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/activity

Returns a collection of activity

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "operating": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation activity
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getAlert

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/alert?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/alert', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/alert?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/alert

Returns a collection of alert

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "pothole": true,
      "slope_rating_sensor": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation alert
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getAuxiliary-engine-engine

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/auxiliary-engine-engine?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/auxiliary-engine-engine', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/auxiliary-engine-engine?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/auxiliary-engine-engine

Returns a collection of auxiliary-engine-engine

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "running": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation auxiliary-engine-engine
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getBattery

This endpoint provides relevant battery information such as: Battery percentage, disconnected from the chassis (Y/N), charging (Y/N), in use (Y/N), voltage.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/battery?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/battery', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/battery?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/battery

Returns a collection of battery

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "time_since_last_charge": 3,
      "low": true,
      "chassis_disconnected": true,
      "percentage": 3,
      "charging": true,
      "last_charge_capacity_added": 0,
      "temperature": 0,
      "in_use": true,
      "charge_count": 3,
      "voltage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation battery
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getBattery-charger

This endpoint provides relevant battery information such as: Battery percentage, disconnected from the chassis (Y/N), charging (Y/N), in use (Y/N), voltage.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/battery-charger?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/battery-charger', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/battery-charger?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/battery-charger

Returns a collection of battery-charger

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "indicator": true,
      "connected": true,
      "state_of_charge": 3,
      "connection_state": "string",
      "output_current": 0,
      "output_voltage": 0,
      "ac_input_voltage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "status": "string"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation battery-charger
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getBrake

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/brake?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/brake', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/brake?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/brake

Returns a collection of brake

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "active": true,
      "low_fluid_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation brake
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getDevice-battery

This endpoint allows users to request device battery data such as percentage, voltage and timestamp.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-battery?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-battery', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-battery?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-battery

Returns a collection of device-battery

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "percentage": 3,
      "in_use": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "voltage": 0
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation device-battery
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getDevice-connectivity

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-connectivity?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-connectivity', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-connectivity?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-connectivity

Returns a collection of device-connectivity

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "last_packet_received": "2021-03-10T08:51:17.000Z",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation device-connectivity
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getDevice-gsm-quality

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-gsm-quality?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-gsm-quality', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-gsm-quality?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/device-gsm-quality

Returns a collection of device-gsm-quality

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "quality": 3,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation device-gsm-quality
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getEmergency-pump

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/emergency-pump?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/emergency-pump', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/emergency-pump?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/emergency-pump

Returns a collection of emergency-pump

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "running": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation emergency-pump
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getEmergency-stop

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/emergency-stop?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/emergency-stop', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/emergency-stop?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/emergency-stop

Returns a collection of emergency-stop

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "active": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation emergency-stop
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getEnvironment

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/environment?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/environment', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/environment?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/environment

Returns a collection of environment

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "air_temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation environment
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getGenerator-bus

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-bus?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-bus', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-bus?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-bus

Returns a collection of generator-bus

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "l3_watts": 0,
      "l3_l1_voltage": 0,
      "phase_rotation": 3,
      "l1_watts": 0,
      "l2_l3_voltage": 0,
      "earth_current": 0,
      "l1_current": 0,
      "current_lag_lead": 3,
      "frequency": 0,
      "2_frequency": 0,
      "l1_n_voltage": 0,
      "l2_n_voltage": 0,
      "l2_current": 0,
      "l3_current": 0,
      "l2_watts": 0,
      "l3_n_voltage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "l1_l2_voltage": 0
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation generator-bus
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getGenerator-controls

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-controls?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-controls', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-controls?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-controls

Returns a collection of generator-controls

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "control_mode": "string",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation generator-controls
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getGenerator-generator

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-generator?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-generator', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-generator?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-generator

Returns a collection of generator-generator

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "l3_watts": 0,
      "l3_l1_voltage": 0,
      "phase_rotation": 3,
      "current_max": 0,
      "l1_watts": 0,
      "l2_l3_voltage": 0,
      "charge_alternator_voltage": 0,
      "l_n_voltage_average": 0,
      "frequency": 0,
      "l2_n_voltage": 0,
      "l2_current": 0,
      "l_l_voltage_average": 0,
      "current_min": 0,
      "l3_current": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "l1_l2_voltage": 0,
      "l_l_voltage_difference": 0,
      "l_n_voltage_max": 0,
      "baud_rate": 0,
      "l_n_voltage_difference": 0,
      "current_difference": 0,
      "l_l_voltage_max": 0,
      "earth_current": 0,
      "current_lag_lead": 3,
      "l1_current": 0,
      "l_n_voltage_min": 0,
      "l1_n_voltage": 0,
      "current_average": 0,
      "l_l_voltage_min": 0,
      "l2_watts": 0,
      "l3_n_voltage": 0
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation generator-generator
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getGenerator-mains

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-mains?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-mains', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-mains?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/generator-mains

Returns a collection of generator-mains

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "mains_l1_n_voltage": 0,
      "mains_phase_rotation": 0,
      "mains_l2_n_voltage": 0,
      "mains_l2_current": 0,
      "mains_voltage_phase_lag_lead": 3,
      "mains_earth_current": 0,
      "mains_frequency": 0,
      "mains_l3_current": 0,
      "mains_l1_l2_voltage": 0,
      "mains_l2_watts": 0,
      "mains_l1_watts": 0,
      "mains_l3_n_voltage": 0,
      "mains_current_lag_lead": 0,
      "mains_l3_watts": 0,
      "mains_l2_l3_voltage": 0,
      "mains_l1_current": 0,
      "mains_l3_l1_voltage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation generator-mains
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getHydraulic-filter

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hydraulic-filter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hydraulic-filter', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hydraulic-filter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hydraulic-filter

Returns a collection of hydraulic-filter

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "clogging_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation hydraulic-filter
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getHydraulic-pump

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hydraulic-pump?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hydraulic-pump', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hydraulic-pump?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/hydraulic-pump

Returns a collection of hydraulic-pump

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "running": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation hydraulic-pump
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getImpact

This endpoint allows users to get all the impact data, such as severity, total force, direction, latitude, longitude, for a given timestamp defined by the users.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/impact?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/impact', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/impact?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/impact

Returns a collection of impact

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "severity": "STANDARD",
      "x": 0,
      "y": 0,
      "location": {
        "latitude": 29.97827,
        "longitude": 31.13116
      },
      "z": 0,
      "total_force": 0,
      "speed": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "direction": "FRONT"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation impact
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getKey-switch

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/key-switch?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/key-switch', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/key-switch?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/key-switch

Returns a collection of key-switch

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "run": true,
      "accessory": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation key-switch
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-boom-position

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-position?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-position', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-position?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-position

Returns a collection of main-boom-position

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "horizontal_reach_shutdown": true,
      "extended_length": 0,
      "working": true,
      "angle": 0,
      "moving_down": true,
      "transport": true,
      "moving_up": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-boom-position
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-boom-telescope

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-telescope?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-telescope', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-telescope?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-telescope

Returns a collection of main-boom-telescope

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "fully_retracted": true,
      "override": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-boom-telescope
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-boom-weight

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-weight?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-weight', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-weight?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-boom-weight

Returns a collection of main-boom-weight

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "max_load": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-boom-weight
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-air-filter

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-air-filter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-air-filter', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-air-filter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-air-filter

Returns a collection of main-engine-air-filter

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "differential_pressure": 0,
      "clogging_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-air-filter
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-alternator

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-alternator?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-alternator', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-alternator?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-alternator

Returns a collection of main-engine-alternator

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "charging": true,
      "not_charging_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-alternator
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-charging

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-charging?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-charging', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-charging?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-charging

Returns a collection of main-engine-charging

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "charging": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-charging
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-coolant

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-coolant?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-coolant', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-coolant?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-coolant

Returns a collection of main-engine-coolant

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "low": true,
      "percentage": 0,
      "temperature": 0,
      "temperature_warning": "NO_WARNING",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-coolant
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-ecu

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-ecu?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-ecu', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-ecu?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-ecu

Returns a collection of main-engine-ecu

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "wheel_based_speed": 0,
      "actual_torque": 0,
      "desired_operating_speed": 0,
      "engine_load": 0,
      "pump_time": 0,
      "temperature": 0,
      "throttle_position": "string",
      "requested_torque": 0,
      "requested_speed_limit": 0,
      "standstill_request_reason": "string",
      "enabled": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-ecu
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-errors

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-errors?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-errors', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-errors?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-errors

Returns a collection of main-engine-errors

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "errors": [
        {
          "severity": "UNKNOWN",
          "code": "23",
          "type": "J1939",
          "active": true,
          "source": "ENGINE"
        }
      ],
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-errors
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-fuel-tank

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-fuel-tank?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-fuel-tank', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-fuel-tank?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-fuel-tank

Returns a collection of main-engine-fuel-tank

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "total_active_regeneration_hours": 0,
      "level_percentage": 0,
      "level_liters": 0,
      "fuel_efficiency": 0,
      "low": true,
      "temperature": 0,
      "fuel_consumption": 0,
      "total_fuel_used": 0,
      "idle_fuel_level": 0,
      "fuel_delivery_pressure": 0,
      "water_in_fuel_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-fuel-tank
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-intercooler

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-intercooler?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-intercooler', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-intercooler?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-intercooler

Returns a collection of main-engine-intercooler

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-intercooler
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-manifold

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-manifold?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-manifold', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-manifold?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-manifold

Returns a collection of main-engine-manifold

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "inlet_air_pressure": 0,
      "intake_pressure": 0,
      "barometric_pressure": 0,
      "intake_temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-manifold
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-oil

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-oil?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-oil', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-oil?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-oil

Returns a collection of main-engine-oil

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "oil_pressure": 0,
      "exchange_request": true,
      "oil_temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-oil
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-oil-filter

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-oil-filter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-oil-filter', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-oil-filter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-oil-filter

Returns a collection of main-engine-oil-filter

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "life_remaining": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-oil-filter
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-particulate-filter

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-particulate-filter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-particulate-filter', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-particulate-filter?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-particulate-filter

Returns a collection of main-engine-particulate-filter

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "diesel_particulate_filter_active_regeneration_inhibited_due_to_inhibit_switch": "INHIBITED",
      "differential_pressure": 0,
      "passive_regen": true,
      "ash_load": 0,
      "diesel_particulate_filter_active_regeneration_status": "ACTIVE",
      "diesel_particulate_filter_lamp": "ON_FAST_BLINK",
      "active_regen": true,
      "regen_needed": true,
      "outlet_pressure": 0,
      "ash_filter_exchange_request": true,
      "diesel_particulate_filter_status": "REGENERATION_NEEDED_HIGHEST_LEVEL",
      "soot_load": 0,
      "time_since_last_active_regeneration": 3,
      "total_number_of_active_regenerations": 3,
      "active_regen_inhibited": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "full": true
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-particulate-filter
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-scr

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-scr?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-scr', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-scr?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-scr

Returns a collection of main-engine-scr

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "scr_lamp": true,
      "operator_inducement": true,
      "forced_status": "string",
      "outlet_nox": 0,
      "intake_nox": 0,
      "clean_status": "string",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-scr
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-secondary-fuel-tank

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-secondary-fuel-tank?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-secondary-fuel-tank', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-secondary-fuel-tank?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-secondary-fuel-tank

Returns a collection of main-engine-secondary-fuel-tank

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "level_percentage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-secondary-fuel-tank
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-status-lamps

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-status-lamps?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-status-lamps', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-status-lamps?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-status-lamps

Returns a collection of main-engine-status-lamps

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "stop_lamp": true,
      "protect_lamp": true,
      "malfunction_indicator": true,
      "warning_lamp": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-status-lamps
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-transmission

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-transmission?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-transmission', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-transmission?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-transmission

Returns a collection of main-engine-transmission

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "oil_pressure": 0,
      "current_gear": 3,
      "oil_temperature_warning": true,
      "direction_engaged": 3,
      "oil_temperature": 0,
      "oil_pressure_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-transmission
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-turbo-charger

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-turbo-charger?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-turbo-charger', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-turbo-charger?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-turbo-charger

Returns a collection of main-engine-turbo-charger

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "intake_pressure": 0,
      "intake_temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-turbo-charger
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMain-engine-vibration

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-vibration?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-vibration', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-vibration?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/main-engine-vibration

Returns a collection of main-engine-vibration

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "vibration": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation main-engine-vibration
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMileage

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/mileage?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/mileage', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/mileage?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/mileage

Returns a collection of mileage

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "total_mileage": 3,
      "total_mileage_since_reset": 3,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation mileage
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getMovement

Requesting this information will provide the information about if the asset is moving or not, and the last timestamp received.

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/movement?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/movement', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/movement?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/movement

Returns a collection of movement

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "travel_mode": true,
      "stow_state": true,
      "forward": true,
      "backward": true,
      "moving": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation movement
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getOperator

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/operator?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/operator', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/operator?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/operator

Returns a collection of operator

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "presence": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation operator
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getOrientation

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/orientation?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/orientation', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/orientation?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/orientation

Returns a collection of orientation

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "tilted": true,
      "roll": 0,
      "pitch": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation orientation
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getOutrigger-all

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-all?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-all', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-all?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-all

Returns a collection of outrigger-all

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "level": true,
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation outrigger-all
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getOutrigger-back-left

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-back-left?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-back-left', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-back-left?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-back-left

Returns a collection of outrigger-back-left

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation outrigger-back-left
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getOutrigger-back-right

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-back-right?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-back-right', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-back-right?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-back-right

Returns a collection of outrigger-back-right

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation outrigger-back-right
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getOutrigger-front-left

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-front-left?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-front-left', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-front-left?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-front-left

Returns a collection of outrigger-front-left

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation outrigger-front-left
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getOutrigger-front-right

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-front-right?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-front-right', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-front-right?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/outrigger-front-right

Returns a collection of outrigger-front-right

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation outrigger-front-right
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getParking-brake

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/parking-brake?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/parking-brake', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/parking-brake?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/parking-brake

Returns a collection of parking-brake

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "active": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation parking-brake
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getPlatform

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/platform?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/platform', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/platform?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/platform

Returns a collection of platform

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "elevation_state": "string",
      "tilt_angle_y": 0,
      "current_mode": true,
      "tilt_angle_x": 0,
      "overload_count": 3,
      "load": 0,
      "telescope_state": "string",
      "zone": "string",
      "exceeds_min_height": true,
      "exceeds_max_height": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "height": 0
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation platform
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getPlatform-guard

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/platform-guard?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/platform-guard', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/platform-guard?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/platform-guard

Returns a collection of platform-guard

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "crush_guard_enabled": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation platform-guard
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getPower-plug

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/power-plug?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/power-plug', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/power-plug?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/power-plug

Returns a collection of power-plug

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "in": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation power-plug
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getRear-axle

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/rear-axle?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/rear-axle', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/rear-axle?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/rear-axle

Returns a collection of rear-axle

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "strain_gauge_min": 0,
      "strain_gauge_avg": 0,
      "strain_gauge_max": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation rear-axle
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getScissors-position

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/scissors-position?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/scissors-position', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/scissors-position?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/scissors-position

Returns a collection of scissors-position

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "moving_up": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation scissors-position
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getSecondary-boom-position

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/secondary-boom-position?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/secondary-boom-position', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/secondary-boom-position?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/secondary-boom-position

Returns a collection of secondary-boom-position

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "working": true,
      "transport": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation secondary-boom-position
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getSteering

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/steering?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/steering', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/steering?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/steering

Returns a collection of steering

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation steering
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getSwitch-controller

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-controller?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-controller', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-controller?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-controller

Returns a collection of switch-controller

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "ground": true,
      "remote": true,
      "platform": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation switch-controller
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getSwitch-deadman

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-deadman?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-deadman', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-deadman?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-deadman

Returns a collection of switch-deadman

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "seat": true,
      "joystick": true,
      "seat_belt": true,
      "foot": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation switch-deadman
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getSwitch-function

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-function?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-function', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-function?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-function

Returns a collection of switch-function

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "function_enabled": true,
      "auxiliary": true,
      "drive": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation switch-function
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getSwitch-main

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-main?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-main', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-main?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-main

Returns a collection of switch-main

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "closed": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation switch-main
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getSwitch-platform-key

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-platform-key?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-platform-key', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-platform-key?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/switch-platform-key

Returns a collection of switch-platform-key

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "run": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation switch-platform-key
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

getTiller

Code samples

# You can also use wget
curl -X GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/tiller?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/tiller', params={
  'begin': '2022-01-21T01:30:00.000-05:00',  'end': '2022-04-21T01:30:00.000-05:00'
}, headers = headers)

print(r.json())


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/tiller?begin=2022-01-21T01%3A30%3A00.000-05%3A00&end=2022-04-21T01%3A30%3A00.000-05%3A00',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /api/v1/accounts/{account-id}/assets/{asset-id}/datapoints/tiller

Returns a collection of tiller

Parameters

Name In Type Required Description
account-id path string(uuid) true Customer id
asset-id path string(uuid) true Asset id
begin query string(date-time) true Begin date(inclusive)
end query string(date-time) true End date(exclusive)
limit query integer(int32) false Number of results per page(min = 1, max = 1000, default = 100)

Example responses

200 Response

{
  "values": [
    {
      "head_activated": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation tiller
400 Bad Request Bad Request 400
401 Unauthorized Unauthorized 401
403 Forbidden Forbidden 403
404 Not Found Not Found 404
500 Internal Server Error Internal Server Error 500

Schemas

400

{
  "title": "string",
  "status": 400,
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
title problemTitle true none A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized
status integer(int32) true none The HTTP status code generated by the origin server for this occurrence of the problem
detail problemDetail true none A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

401

{
  "title": "string",
  "status": 401,
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
title problemTitle true none A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized
status integer(int32) true none The HTTP status code generated by the origin server for this occurrence of the problem
detail problemDetail true none A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

403

{
  "title": "string",
  "status": 403,
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
title problemTitle true none A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized
status integer(int32) true none The HTTP status code generated by the origin server for this occurrence of the problem
detail problemDetail true none A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

404

{
  "title": "string",
  "status": 404,
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
title problemTitle true none A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized
status integer(int32) true none The HTTP status code generated by the origin server for this occurrence of the problem
detail problemDetail true none A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

409

{
  "title": "string",
  "status": 409,
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
title problemTitle true none A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized
status integer(int32) true none The HTTP status code generated by the origin server for this occurrence of the problem
detail problemDetail true none A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

500

{
  "title": "string",
  "status": 500,
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
title problemTitle true none A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized
status integer(int32) true none The HTTP status code generated by the origin server for this occurrence of the problem
detail problemDetail true none A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

accelerator-pedal

{
  "values": [
    {
      "position": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Accelerator Pedal
» position number(double)¦null false none Expressed in percentage e.g. 28.56
» timestamp string(date-time) false none In UTC
_links _links false none none

access-control

{
  "values": [
    {
      "session_active": true,
      "session_id": "string",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Access Control
» session_active boolean¦null false none State of the session. True means that machine is unblocked & ignition is on. False means that either ignition is off or machine is blocked.
» session_id string¦null false none Unique identifier of the session.
» timestamp string(date-time) false none In UTC
_links _links false none none

activity

{
  "values": [
    {
      "operating": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Activity
» operating boolean¦null false none State of input configured as operating hours input
» timestamp string(date-time) false none In UTC
_links _links false none none

alert

{
  "values": [
    {
      "pothole": true,
      "slope_rating_sensor": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Alert
» pothole boolean¦null false none Pot hole sensor is active. Asset cannot be used.
» slope_rating_sensor boolean¦null false none Slope rating sensor is active. Asset cannot be used.
» timestamp string(date-time) false none In UTC
_links _links false none none

auxiliary-engine-engine

{
  "values": [
    {
      "running": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Auxiliary Engine
» running boolean¦null false none Auxiliary drive is running. In case an input is connected, this datapoint is matching with the "Auxiliary drive" label
» timestamp string(date-time) false none In UTC
_links _links false none none

battery

{
  "values": [
    {
      "time_since_last_charge": 3,
      "low": true,
      "chassis_disconnected": true,
      "percentage": 3,
      "charging": true,
      "last_charge_capacity_added": 0,
      "temperature": 0,
      "in_use": true,
      "charge_count": 3,
      "voltage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Battery
» time_since_last_charge integer¦null false none How long it has been since the last charge, expressed in seconds.
» low boolean¦null false none Indicates if the battery is low.
» chassis_disconnected boolean¦null false none Chassis disconnected. Input filtering should be used. In case an input is connected, this datapoint is matching with the "chassis" label
» percentage integer¦null false none Expressed in percentage e.g. 28
» charging boolean¦null false none Charging. In case an input is connected, this datapoint is matching with the "Charging" or "Battery charging" label
» last_charge_capacity_added number(double)¦null false none The added battery capacity from the last charge, expressed in Amp hours.
» temperature number(double)¦null false none Expressed in °C. Temperature of the battery.
» in_use boolean¦null false none In use
» charge_count integer¦null false none How many times the battery has been charged.
» voltage number(double)¦null false none Expressed in mV e.g. 25109.0
» timestamp string(date-time) false none In UTC
_links _links false none none

battery-charger

{
  "values": [
    {
      "indicator": true,
      "connected": true,
      "state_of_charge": 3,
      "connection_state": "string",
      "output_current": 0,
      "output_voltage": 0,
      "ac_input_voltage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "status": "string"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Battery Charger
» indicator boolean¦null false none Indicates if the battery charger is charging.
» connected boolean¦null false none Indicates if the charger is connected
» state_of_charge integer¦null false none Expressed in percentage e.g. 28
» connection_state string¦null false none The state of the connection between the battery charger and the battery
» output_current number(double)¦null false none Expressed in milliampere, the output current of the battery charger
» output_voltage number(double)¦null false none Expressed in millivolt, the output voltage of the battery charger
» ac_input_voltage number(double)¦null false none Expressed in millivolt, the AC input voltage of the battery charger
» timestamp string(date-time) false none In UTC
» status string¦null false none The status of the battery charger.
_links _links false none none

brake

{
  "values": [
    {
      "active": true,
      "low_fluid_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Brake
» active boolean¦null false none Brake active
» low_fluid_warning boolean¦null false none Indicates if a warning is issued because the brake fluid is low.
» timestamp string(date-time) false none In UTC
_links _links false none none

cargo-load

{
  "values": [
    {
      "cargo_weight": {
        "unit": "GRAM",
        "value": 12
      },
      "overload_bridged": true,
      "handling_mode_suspended": true,
      "handling_mode_fork": true,
      "load": true,
      "weight": 0,
      "handling_mode_bucket": true,
      "load_count": 0,
      "cargo_load": 0,
      "overload": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Cargo Load
» cargo_weight object¦null false none Converted some analog input to some unit
»» unit string¦null false none none
»» value number(double)¦null false none none
» overload_bridged boolean¦null false none Overload bridged
» handling_mode_suspended boolean¦null false none Indicates if handling mode is set to suspended.
» handling_mode_fork boolean¦null false none Indicates if handling mode is set to fork.
» load boolean¦null false none Load expressed as true/false. In case an input is connected, this datapoint is matching with the "Laden" label
» weight number(double)¦null false none The weight of the load of the cargo/platform, expressed in KG
» handling_mode_bucket boolean¦null false none Indicates if handling mode is set to bucket.
» load_count number(double)¦null false none Total Cargo Load Count
» cargo_load number(double)¦null false none Load sensing expressed in mV
» overload boolean¦null false none Overload
» timestamp string(date-time) false none In UTC
_links _links false none none

device-battery

{
  "values": [
    {
      "percentage": 3,
      "in_use": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "voltage": 0
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Device Battery
» percentage integer¦null false none Expressed in % (eg. 90)
» in_use boolean¦null false none Device Battery In Use
» timestamp string(date-time) false none In UTC
» voltage number(double)¦null false none Expressed in mV e.g. 8682
_links _links false none none

device-connectivity

{
  "values": [
    {
      "last_packet_received": "2021-03-10T08:51:17.000Z",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Device Connectivity
» last_packet_received string(date-time)¦null false none Expressed in Zulu time e.g. 2021-03-10T08:51:17.000Z
» timestamp string(date-time) false none In UTC
_links _links false none none

device-gsm-quality

{
  "values": [
    {
      "quality": 3,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Device GSM Quality
» quality integer¦null false none Expressed in values 1 to 5 (5 meaning best quality) and where 0 means no signal
» timestamp string(date-time) false none In UTC
_links _links false none none

emergency-pump

{
  "values": [
    {
      "running": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Emergency Pump
» running boolean¦null false none Emergency pump running
» timestamp string(date-time) false none In UTC
_links _links false none none

emergency-stop

{
  "values": [
    {
      "active": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Emergency Stop
» active boolean¦null false none Emergency stop is used
» timestamp string(date-time) false none In UTC
_links _links false none none

environment

{
  "values": [
    {
      "air_temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Environment
» air_temperature number(double)¦null false none Expressed in °C, the temperature of the air surrounding the machine
» timestamp string(date-time) false none In UTC
_links _links false none none

errors

{
  "values": [
    {
      "active_errors": [
        {
          "error_message": "message",
          "severity": "UNKNOWN",
          "error_code": "23"
        }
      ],
      "errors": [
        {
          "severity": "UNKNOWN",
          "code": "23",
          "type": "J1939",
          "active": true,
          "source": "ENGINE"
        }
      ],
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Errors
» active_errors [object]¦null false none array with objects e.g. [{'suspect_param_nr':1}, {'suspect_param_nr':2}]
»» error_message string¦null false none none
»» severity string¦null false none none
»» error_code string¦null false none none
» errors [object]¦null false none Array with errors objects. This uses a new error flow, where you can directly control if the error is closed or not.
»» severity string false none Severity of the error: UNKNOWN, LOW, MEDIUM, HIGH
»» code string false none Identifier of the error
»» type string false none Type of the error, is a discriminator for the code when constructing the error message. If the error follows a certain standard, the type should be the standard name, e.g. J1939, J1587, J1708, OBDII, etc.
»» active boolean false none Indicates if the error is opened or closed
»» source string false none Source of the error: TRACKER, MACHINE, ENGINE, BMS
» timestamp string(date-time) false none In UTC
_links _links false none none

generator-bus

{
  "values": [
    {
      "l3_watts": 0,
      "l3_l1_voltage": 0,
      "phase_rotation": 3,
      "l1_watts": 0,
      "l2_l3_voltage": 0,
      "earth_current": 0,
      "l1_current": 0,
      "current_lag_lead": 3,
      "frequency": 0,
      "2_frequency": 0,
      "l1_n_voltage": 0,
      "l2_n_voltage": 0,
      "l2_current": 0,
      "l3_current": 0,
      "l2_watts": 0,
      "l3_n_voltage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "l1_l2_voltage": 0
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Bus
» l3_watts number(double)¦null false none Expressed in watt
» l3_l1_voltage number(double)¦null false none Expressed in millivolt
» phase_rotation integer¦null false none Rotation of the bus
» l1_watts number(double)¦null false none Expressed in watt
» l2_l3_voltage number(double)¦null false none Expressed in millivolt
» earth_current number(double)¦null false none Expressed in milliampere
» l1_current number(double)¦null false none Expressed in milliampere
» current_lag_lead integer¦null false none Expressed in degrees
» frequency number(double)¦null false none Expressed in hertz
» 2_frequency number(double)¦null false none Expressed in hertz
» l1_n_voltage number(double)¦null false none Expressed in millivolt
» l2_n_voltage number(double)¦null false none Expressed in millivolt
» l2_current number(double)¦null false none Expressed in milliampere
» l3_current number(double)¦null false none Expressed in milliampere
» l2_watts number(double)¦null false none Expressed in watt
» l3_n_voltage number(double)¦null false none Expressed in millivolt
» timestamp string(date-time) false none In UTC
» l1_l2_voltage number(double)¦null false none Expressed in millivolt
_links _links false none none

generator-controls

{
  "values": [
    {
      "control_mode": "string",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Generator Controls
» control_mode string¦null false none The control mode
» timestamp string(date-time) false none In UTC
_links _links false none none

generator-generator

{
  "values": [
    {
      "l3_watts": 0,
      "l3_l1_voltage": 0,
      "phase_rotation": 3,
      "current_max": 0,
      "l1_watts": 0,
      "l2_l3_voltage": 0,
      "charge_alternator_voltage": 0,
      "l_n_voltage_average": 0,
      "frequency": 0,
      "l2_n_voltage": 0,
      "l2_current": 0,
      "l_l_voltage_average": 0,
      "current_min": 0,
      "l3_current": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "l1_l2_voltage": 0,
      "l_l_voltage_difference": 0,
      "l_n_voltage_max": 0,
      "baud_rate": 0,
      "l_n_voltage_difference": 0,
      "current_difference": 0,
      "l_l_voltage_max": 0,
      "earth_current": 0,
      "current_lag_lead": 3,
      "l1_current": 0,
      "l_n_voltage_min": 0,
      "l1_n_voltage": 0,
      "current_average": 0,
      "l_l_voltage_min": 0,
      "l2_watts": 0,
      "l3_n_voltage": 0
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Generator
» l3_watts number(double)¦null false none Expressed in watt
» l3_l1_voltage number(double)¦null false none Expressed in millivolt
» phase_rotation integer¦null false none The generator phase rotation
» current_max number(double)¦null false none Expressed in milliampere
» l1_watts number(double)¦null false none Expressed in watt
» l2_l3_voltage number(double)¦null false none Expressed in millivolt
» charge_alternator_voltage number(double)¦null false none Expressed in millivolt
» l_n_voltage_average number(double)¦null false none Expressed in millivolt
» frequency number(double)¦null false none Expressed in hertz
» l2_n_voltage number(double)¦null false none Expressed in millivolt
» l2_current number(double)¦null false none Expressed in milliampere
» l_l_voltage_average number(double)¦null false none Expressed in millivolt
» current_min number(double)¦null false none Expressed in milliampere
» l3_current number(double)¦null false none Expressed in milliampere
» timestamp string(date-time) false none In UTC
» l1_l2_voltage number(double)¦null false none Expressed in millivolt
» l_l_voltage_difference number(double)¦null false none Expressed in millivolt
» l_n_voltage_max number(double)¦null false none Expressed in millivolt
» baud_rate number(double)¦null false none Baud rate of the generator
» l_n_voltage_difference number(double)¦null false none Expressed in millivolt
» current_difference number(double)¦null false none Expressed in milliampere
» l_l_voltage_max number(double)¦null false none Expressed in millivolt
» earth_current number(double)¦null false none Expressed in milliampere
» current_lag_lead integer¦null false none Expressed in degrees
» l1_current number(double)¦null false none Expressed in milliampere
» l_n_voltage_min number(double)¦null false none Expressed in millivolt
» l1_n_voltage number(double)¦null false none Expressed in millivolt
» current_average number(double)¦null false none Expressed in milliampere
» l_l_voltage_min number(double)¦null false none Expressed in millivolt
» l2_watts number(double)¦null false none Expressed in watt
» l3_n_voltage number(double)¦null false none Expressed in millivolt
_links _links false none none

generator-mains

{
  "values": [
    {
      "mains_l1_n_voltage": 0,
      "mains_phase_rotation": 0,
      "mains_l2_n_voltage": 0,
      "mains_l2_current": 0,
      "mains_voltage_phase_lag_lead": 3,
      "mains_earth_current": 0,
      "mains_frequency": 0,
      "mains_l3_current": 0,
      "mains_l1_l2_voltage": 0,
      "mains_l2_watts": 0,
      "mains_l1_watts": 0,
      "mains_l3_n_voltage": 0,
      "mains_current_lag_lead": 0,
      "mains_l3_watts": 0,
      "mains_l2_l3_voltage": 0,
      "mains_l1_current": 0,
      "mains_l3_l1_voltage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Mains
» mains_l1_n_voltage number(double)¦null false none Expressed in millivolt
» mains_phase_rotation number(double)¦null false none The mains phase rotation
» mains_l2_n_voltage number(double)¦null false none Expressed in millivolt
» mains_l2_current number(double)¦null false none Expressed in milliampere
» mains_voltage_phase_lag_lead integer¦null false none Expressed in degrees
» mains_earth_current number(double)¦null false none Expressed in milliampere
» mains_frequency number(double)¦null false none Expressed in hertz
» mains_l3_current number(double)¦null false none Expressed in milliampere
» mains_l1_l2_voltage number(double)¦null false none Expressed in millivolt
» mains_l2_watts number(double)¦null false none Expressed in watt
» mains_l1_watts number(double)¦null false none Expressed in watt
» mains_l3_n_voltage number(double)¦null false none Expressed in millivolt
» mains_current_lag_lead number(double)¦null false none Expressed in degrees
» mains_l3_watts number(double)¦null false none Expressed in watt
» mains_l2_l3_voltage number(double)¦null false none Expressed in millivolt
» mains_l1_current number(double)¦null false none Expressed in milliampere
» mains_l3_l1_voltage number(double)¦null false none Expressed in millivolt
» timestamp string(date-time) false none In UTC
_links _links false none none

hour-counter

{
  "values": [
    {
      "hour_counter": true,
      "total_hours": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Hour Counter
» hour_counter boolean¦null false none Hour counter of asset is running. In case an input is connected, this datapoint is matching with the "Hour counter" or "Equipment run" label
» total_hours number(double)¦null false none Expressed in seconds. The current total lifetime operating hours of the machine is expressed as the cumulative quantity of time during which the machine’s engine has been running. This is generally the value of the hourmeter on the machine.
» timestamp string(date-time) false none In UTC
_links _links false none none

hydraulic-filter

{
  "values": [
    {
      "clogging_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Hydraulic Filter
» clogging_warning boolean¦null false none Indicates if a warning is issued for a clogged hydraulic filter.
» timestamp string(date-time) false none In UTC
_links _links false none none

hydraulic-pump

{
  "values": [
    {
      "running": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Hydraulic Pump
» running boolean¦null false none Hydraulic pump running. In case an input is connected, this datapoint is matching with the "Hydraulic pump" label
» timestamp string(date-time) false none In UTC
_links _links false none none

impact

{
  "values": [
    {
      "severity": "STANDARD",
      "x": 0,
      "y": 0,
      "location": {
        "latitude": 29.97827,
        "longitude": 31.13116
      },
      "z": 0,
      "total_force": 0,
      "speed": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "direction": "FRONT"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Impact
» severity string¦null false none Severity of an impact
» x number(double)¦null false none Accelerometer X-axis value [mG]
» y number(double)¦null false none Accelerometer Y-axis value [mG]
» location object¦null false none Latitude and longitude expressed in decimals
»» latitude number(double)¦null false none Asset latitude
»» longitude number(double)¦null false none Asset longitude
» z number(double)¦null false none Accelerometer Z-axis value [mG]
» total_force number(double)¦null false none Total amplitude of the impact [mG] - as calculated by the device (including Z-filtering)
» speed number(double)¦null false none Expressed in km/h
» timestamp string(date-time) false none In UTC
» direction string¦null false none Impact direction
_links _links false none none

Enumerated Values

Property Value
severity UNKNOWN
severity STANDARD
severity WARNING
severity CRITICAL
direction UNKNOWN
direction FRONT
direction BACK
direction RIGHT
direction LEFT

key-switch

{
  "values": [
    {
      "run": true,
      "accessory": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Key Switch
» run boolean¦null false none Key switch is in run position. In case an input is connected, this datapoint is matching with the "Ignition" label
» accessory boolean¦null false none Key switch is in accessory position. In case an input is connected, this datapoint is matching with the "Key switch" label
» timestamp string(date-time) false none In UTC
_links _links false none none

location

{
  "values": [
    {
      "altitude": 0,
      "indoor": true,
      "location": {
        "latitude": 29.97827,
        "longitude": 31.13116
      },
      "source": "GPS",
      "speed": 0,
      "quality": 3,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Location
» altitude number(double)¦null false none Expressed in m
» indoor boolean¦null false none Indicates if machine is located indoors.
» location object¦null false none Latitude and longitude expressed in decimals
»» latitude number(double)¦null false none Asset latitude
»» longitude number(double)¦null false none Asset longitude
» source string false none Source of the location data, can be GPS, WIFI, NETWORK
» speed number(double)¦null false none Expressed in km/h
» quality integer¦null false none Expressed in values 1 to 5 (5 meaning best quality)
» timestamp string(date-time) false none In UTC
_links _links false none none

Enumerated Values

Property Value
source GPS
source WIFI
source NETWORK

main-boom-position

{
  "values": [
    {
      "horizontal_reach_shutdown": true,
      "extended_length": 0,
      "working": true,
      "angle": 0,
      "moving_down": true,
      "transport": true,
      "moving_up": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Position
» horizontal_reach_shutdown boolean¦null false none Main boom is in unstable position. Horizontal reach shutdown alert is on.
» extended_length number(double)¦null false none Expressed in meters, how much the boom is extended.
» working boolean¦null false none Main boom is in working position
» angle number(double)¦null false none The tilt angle x of the platform expressed in degrees.
» moving_down boolean¦null false none Main boom is moving down
» transport boolean¦null false none Main boom is in transport position
» moving_up boolean¦null false none Main boom is moving up
» timestamp string(date-time) false none In UTC
_links _links false none none

main-boom-telescope

{
  "values": [
    {
      "fully_retracted": true,
      "override": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Telescope
» fully_retracted boolean¦null false none Indicates if the main boom telescope is fully retracted.
» override boolean¦null false none Overrides the safety system. Operator’s inhibition of the hydraulic movement cut-off.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-boom-weight

{
  "values": [
    {
      "max_load": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Weight
» max_load number(double)¦null false none The maximum load that the main boom can support, expressed in kilograms.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-air-filter

{
  "values": [
    {
      "differential_pressure": 0,
      "clogging_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Air Filter
» differential_pressure number(double)¦null false none Air pressure difference before and after engine air filter, expressed as in kPa.
» clogging_warning boolean¦null false none Indicates if the air filter is clogged.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-alternator

{
  "values": [
    {
      "charging": true,
      "not_charging_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Alternator
» charging boolean¦null false none Main engine is charging the battery
» not_charging_warning boolean¦null false none Indicates if a warning is issued because the alternator is not charging.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-charging

{
  "values": [
    {
      "charging": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Charging
» charging boolean¦null false none Main engine is charging the battery
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-coolant

{
  "values": [
    {
      "low": true,
      "percentage": 0,
      "temperature": 0,
      "temperature_warning": "NO_WARNING",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Coolant
» low boolean¦null false none Main engine coolant level is low
» percentage number(double)¦null false none Main engine coolant level percentage
» temperature number(double)¦null false none Expressed in °C
» temperature_warning string¦null false none Indicates if the coolant fluid is too hot.
» timestamp string(date-time) false none In UTC
_links _links false none none

Enumerated Values

Property Value
temperature_warning NO_WARNING
temperature_warning ABOVE_105_DEGREES
temperature_warning ERROR
temperature_warning NOT_AVAILABLE

main-engine-def-tank

{
  "values": [
    {
      "level_percentage": 3,
      "level_low_warning": true,
      "level_liters": 0,
      "level_warning": "NO_WARNING",
      "actual_dosing": 0,
      "temperature": 0,
      "level_state": "NO_WARNING",
      "concentration": 0,
      "doser_pressure": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Def Tank
» level_percentage integer¦null false none Expressed in percentage e.g. 28
» level_low_warning boolean¦null false none Warning if DEF level is below certain percentage.
» level_liters number(double)¦null false none The remaining amount of liters of diesel exhaust fluid left in the tank.
» level_warning string¦null false none Warning if DEF level is below certain percentage.
» actual_dosing number(double)¦null false none The actual dosing of the Diesel Exhaust fluid expressed in grams per hour.
» temperature number(double)¦null false none Expressed in °C. Temperature of the diesel exhaust fluid in the storage tank.
» level_state string¦null false none State of the def tank
» concentration number(double)¦null false none The concentration of urea in water in the Diesel Exhaust Fluid, expressed as a percentage.
» doser_pressure number(double)¦null false none The pressure of the doser for Diesel Exhaust Fluid expressed in kPa.
» timestamp string(date-time) false none In UTC
_links _links false none none

Enumerated Values

Property Value
level_warning NO_WARNING
level_warning BELOW_15_PERCENT
level_warning BELOW_10_PERCENT
level_warning BELOW_5_PERCENT
level_warning ERROR
level_warning NOT_AVAILABLE
level_state NO_WARNING
level_state BELOW_15_PERCENT
level_state BELOW_10_PERCENT
level_state BELOW_5_PERCENT
level_state ERROR
level_state NOT_AVAILABLE

main-engine-ecu

{
  "values": [
    {
      "wheel_based_speed": 0,
      "actual_torque": 0,
      "desired_operating_speed": 0,
      "engine_load": 0,
      "pump_time": 0,
      "temperature": 0,
      "throttle_position": "string",
      "requested_torque": 0,
      "requested_speed_limit": 0,
      "standstill_request_reason": "string",
      "enabled": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Engine Control Unit
» wheel_based_speed number(double)¦null false none The speed of the vehicle which is calculated based on the wheels, expressed in km/h.
» actual_torque number(double)¦null false none Expressed as a percentage. The actual torque output of the engine.
» desired_operating_speed number(double)¦null false none Expressed in rpm. An indication by the engine of the optimal operating speed of the engine for the current existing conditions.
» engine_load number(double)¦null false none Expressed as a percentage. The load of the engine (Has different values than actual_torque)
» pump_time number(double)¦null false none Total pump time expressed in hours
» temperature number(double)¦null false none Expressed in °C. Temperature of the ECU.
» throttle_position string¦null false none The throttle position.
» requested_torque number(double)¦null false none Expressed as a percentage. The requested torque output of the engine.
» requested_speed_limit number(double)¦null false none Expressed in rpm, the requested speed limit of the engine
» standstill_request_reason string¦null false none Reasons for standstill requests.
» enabled boolean¦null false none Indicates if the ECU is enabled or not.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-errors

{
  "values": [
    {
      "errors": [
        {
          "severity": "UNKNOWN",
          "code": "23",
          "type": "J1939",
          "active": true,
          "source": "ENGINE"
        }
      ],
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Errors
» errors [object]¦null false none array with objects e.g. [{'suspect_param_nr':1}, {'suspect_param_nr':2}]
»» severity string false none Severity of the error: UNKNOWN, LOW, MEDIUM, HIGH
»» code string false none Identifier of the error
»» type string false none Type of the error, is a discriminator for the code when constructing the error message. If the error follows a certain standard, the type should be the standard name, e.g. J1939, J1587, J1708, OBDII, etc.
»» active boolean false none Indicates if the error is opened or closed
»» source string false none Source of the error: TRACKER, MACHINE, ENGINE, BMS
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-fuel-tank

{
  "values": [
    {
      "total_active_regeneration_hours": 0,
      "level_percentage": 0,
      "level_liters": 0,
      "fuel_efficiency": 0,
      "low": true,
      "temperature": 0,
      "fuel_consumption": 0,
      "total_fuel_used": 0,
      "idle_fuel_level": 0,
      "fuel_delivery_pressure": 0,
      "water_in_fuel_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Fuel Tank
» total_active_regeneration_hours number(double)¦null false none Cumulative regeneration hours expressed in seconds
» level_percentage number(double)¦null false none Expressed in percentage e.g. 28.56
» level_liters number(double)¦null false none Expressed in liters
» fuel_efficiency number(double)¦null false none Expressed in kW hour/Liter
» low boolean¦null false none Indicates if the fuel level is low.
» temperature number(double)¦null false none Expressed in °C. Temperature of fuel (or gas) passing through the first fuel control system.
» fuel_consumption number(double)¦null false none Expressed in liters per hour
» total_fuel_used number(double)¦null false none Expressed in liters
» idle_fuel_level number(double)¦null false none Expressed in liters, the fuel used while idle
» fuel_delivery_pressure number(double)¦null false none The pressure of the fuel delivery expressed in kPa.
» water_in_fuel_warning boolean¦null false none Alerts when water in the fuel is detected. Stop the machine immediately.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-idle-hours

{
  "values": [
    {
      "total_idle_non_operating_hours": 0,
      "total_idle_hours": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Idle Hours
» total_idle_non_operating_hours number(double)¦null false none Total engine idle non-operating hours in seconds
» total_idle_hours number(double)¦null false none Total engine idle hours in seconds
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-intercooler

{
  "values": [
    {
      "temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Intercooler
» temperature number(double)¦null false none Expressed in °C, temperature at intercooler.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-manifold

{
  "values": [
    {
      "inlet_air_pressure": 0,
      "intake_pressure": 0,
      "barometric_pressure": 0,
      "intake_temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Manifold
» inlet_air_pressure number(double)¦null false none The measured air pressure at the inlet expressed in kPa.
» intake_pressure number(double)¦null false none The pressure of the manifold measured at the intake expressed in kPa.
» barometric_pressure number(double)¦null false none The measured barometric/atmospheric pressure expressed in kPa.
» intake_temperature number(double)¦null false none Expressed in °C. Temperature at the intake of the manifold.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-oil

{
  "values": [
    {
      "oil_pressure": 0,
      "exchange_request": true,
      "oil_temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Oil
» oil_pressure number(double)¦null false none Expressed in kPa
» exchange_request boolean¦null false none Indicates if a oil exchange is needed.
» oil_temperature number(double)¦null false none Expressed in °C
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-oil-filter

{
  "values": [
    {
      "life_remaining": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Oil Filter
» life_remaining number(double)¦null false none Expressed in % (example 91.2)
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-particulate-filter

{
  "values": [
    {
      "diesel_particulate_filter_active_regeneration_inhibited_due_to_inhibit_switch": "INHIBITED",
      "differential_pressure": 0,
      "passive_regen": true,
      "ash_load": 0,
      "diesel_particulate_filter_active_regeneration_status": "ACTIVE",
      "diesel_particulate_filter_lamp": "ON_FAST_BLINK",
      "active_regen": true,
      "regen_needed": true,
      "outlet_pressure": 0,
      "ash_filter_exchange_request": true,
      "diesel_particulate_filter_status": "REGENERATION_NEEDED_HIGHEST_LEVEL",
      "soot_load": 0,
      "time_since_last_active_regeneration": 3,
      "total_number_of_active_regenerations": 3,
      "active_regen_inhibited": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "full": true
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Particulate Filter
» diesel_particulate_filter_active_regeneration_inhibited_due_to_inhibit_switch string¦null false none Is the active regeneration inhibited due to the inhibit switch? This SPN indicates the reason for the diesel particulate filter regeneration not being initiated or being exited prior to completion. When this state becomes active the system will not initiate an active regeneration or will exit an active regeneration. The state provides information that may be provided to the driver/service technician as to why the regeneration did not initiate or was exited.
» differential_pressure number(double)¦null false none Expressed as in kPa. Exhaust differential pressure measured between the intake and exhaust of a diesel particulate filter
» passive_regen boolean¦null false none Indicates that the DPF Passive Regeneration is active.
» ash_load number(double)¦null false none Indicates the ash load percent of diesel particulate filter 1. 100% is the level at which diesel particulate filter ash service should be performed. 100% level is the target ash service interval (and if ash service is not immediately performed, ash loading can continue beyond 100%).
» diesel_particulate_filter_active_regeneration_status string¦null false none Is the active regeneration active? Indicates the state of diesel particulate filter active regeneration. This is an aggregate of bank 1 and bank 2. It is a system status and not individual bank status.
» diesel_particulate_filter_lamp string¦null false none Status of the diesel particulate filter lamp.
» active_regen boolean¦null false none Indicates that the DPF Active Regeneration is active.
» regen_needed boolean¦null false none Indicates that the DPF Regeneration is needed.
» outlet_pressure number(double)¦null false none The pressure of the diesel particulate filter measured at the outlet expressed in kPa.
» ash_filter_exchange_request boolean¦null false none Indicates a request to exchange the ash filter.
» diesel_particulate_filter_status string¦null false none Indicates the state of the diesel particulate filter regeneration need and urgency. Possible states can be: Regeneration not needed, Regeneration needed - lowest level, Regeneration needed - moderate level, Regeneration needed - highest level, not available
» soot_load number(double)¦null false none Expressed in percentage with a max of 250. Indicates the soot load percent of diesel particulate filter 1. 100% is the level at which active diesel particulate filter regeneration should be triggered. 100% level is the active regeneration trigger level (and if conditions are not favorable for regeneration, soot loading can continue beyond 100%). During normal operation and regeneration a value 0% will indicate a fully regenerated diesel particulate filter. Values of 25%, 50% and 75% will indicate the general level of soot prior to the 100% level where an active regeneration is needed.
» time_since_last_active_regeneration integer¦null false none Expressed in seconds. Indicates the time since the last active regeneration event of diesel particulate filter.
» total_number_of_active_regenerations integer¦null false none Indicates the total amount of active regenerations.
» active_regen_inhibited boolean¦null false none Indicates that the DPF Active Regeneration is inhibited.
» timestamp string(date-time) false none In UTC
» full boolean¦null false none Main engine particulate filter is full
_links _links false none none

Enumerated Values

Property Value
diesel_particulate_filter_active_regeneration_inhibited_due_to_inhibit_switch NOT_INHIBITED
diesel_particulate_filter_active_regeneration_inhibited_due_to_inhibit_switch INHIBITED
diesel_particulate_filter_active_regeneration_inhibited_due_to_inhibit_switch NOT_AVAILABLE
diesel_particulate_filter_active_regeneration_status NOT_ACTIVE
diesel_particulate_filter_active_regeneration_status ACTIVE
diesel_particulate_filter_active_regeneration_status REGENERATION_NEEDED
diesel_particulate_filter_active_regeneration_status NOT_AVAILABLE
diesel_particulate_filter_lamp OFF
diesel_particulate_filter_lamp ON_SOLID
diesel_particulate_filter_lamp ON_FAST_BLINK
diesel_particulate_filter_lamp ON_VERY_FAST_BLINK
diesel_particulate_filter_lamp NOT_AVAILABLE
diesel_particulate_filter_status REGENERATION_NOT_NEEDED
diesel_particulate_filter_status REGENERATION_NEEDED_LOWEST_LEVEL
diesel_particulate_filter_status REGENERATION_NEEDED_MODERATE_LEVEL
diesel_particulate_filter_status REGENERATION_NEEDED_HIGHEST_LEVEL
diesel_particulate_filter_status NOT_AVAILABLE

main-engine-running

{
  "values": [
    {
      "operating_state": "string",
      "running": true,
      "total_running_hours": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "engine_speed": 3,
      "number_of_starts": 3
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Running
» operating_state string¦null false none The state of the engine
» running boolean¦null false none Indicates if the motor is running. In case an input is connected, this datapoint is matching with the "Engine running", "Engine" or "Traction" label
» total_running_hours number(double)¦null false none Total engine running hours in seconds
» timestamp string(date-time) false none In UTC
» engine_speed integer¦null false none The speed of the engine in RPM
» number_of_starts integer¦null false none The number of times the engine has been started
_links _links false none none

main-engine-scr

{
  "values": [
    {
      "scr_lamp": true,
      "operator_inducement": true,
      "forced_status": "string",
      "outlet_nox": 0,
      "intake_nox": 0,
      "clean_status": "string",
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none SCR
» scr_lamp boolean¦null false none If true, the Selective Catalytic Reduction system (SCR) is in warning mode.
» operator_inducement boolean¦null false none Indicates if the operator inducement is active.
» forced_status string¦null false none Indicates the forced execution status of diesel particulate filter regeneration.
» outlet_nox number(double)¦null false none Expressed as in ppm. The amount of combined NO and NO2 in the exhaust entering the SCR system.
» intake_nox number(double)¦null false none Expressed as in ppm. The amount of combined NO and NO2 in the exhaust entering the SCR system.
» clean_status string¦null false none The status of the diesel particulate filter.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-secondary-fuel-tank

{
  "values": [
    {
      "level_percentage": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Secondary Fuel Tank
» level_percentage number(double)¦null false none Expressed in percentage e.g. 28.56
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-status-lamps

{
  "values": [
    {
      "stop_lamp": true,
      "protect_lamp": true,
      "malfunction_indicator": true,
      "warning_lamp": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Status Lamps
» stop_lamp boolean¦null false none Main engine stop lamp status
» protect_lamp boolean¦null false none Protect engine stop lamp status
» malfunction_indicator boolean¦null false none Main engine malfunction indicator status
» warning_lamp boolean¦null false none Warning engine stop lamp status
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-transmission

{
  "values": [
    {
      "oil_pressure": 0,
      "current_gear": 3,
      "oil_temperature_warning": true,
      "direction_engaged": 3,
      "oil_temperature": 0,
      "oil_pressure_warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Transmission
» oil_pressure number(double)¦null false none Expressed in kPa
» current_gear integer¦null false none Current gear of transmission
» oil_temperature_warning boolean¦null false none Indicates if a warning is issued for the transmission oil temperature
» direction_engaged integer¦null false none The direction that the transmission is engaged in
» oil_temperature number(double)¦null false none Expressed in °C
» oil_pressure_warning boolean¦null false none Indicates if a warning is issued for the transmission oil pressure
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-turbo-charger

{
  "values": [
    {
      "intake_pressure": 0,
      "intake_temperature": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Turbo Charger
» intake_pressure number(double)¦null false none The measured air pressure at the intake for the turbo charger expressed in kPa.
» intake_temperature number(double)¦null false none Expressed in °C. Temperature at the intake of the turbo charger.
» timestamp string(date-time) false none In UTC
_links _links false none none

main-engine-vibration

{
  "values": [
    {
      "vibration": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Main Engine Vibration
» vibration boolean¦null false none Indicates the motor is vibrating
» timestamp string(date-time) false none In UTC
_links _links false none none

mileage

{
  "values": [
    {
      "total_mileage": 3,
      "total_mileage_since_reset": 3,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Mileage
» total_mileage integer¦null false none Total distance travelled, in meters
» total_mileage_since_reset integer¦null false none Total mileage since reset, in meters
» timestamp string(date-time) false none In UTC
_links _links false none none

movement

{
  "values": [
    {
      "travel_mode": true,
      "stow_state": true,
      "forward": true,
      "backward": true,
      "moving": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Movement
» travel_mode boolean¦null false none Indicates true if the machine is in travel mode. In this mode boom, scissors, outriggers and stabilizers are retracted. This can enable higher safe travel speed.
» stow_state boolean¦null false none Indicates true if the machine is in stow state. In this state it is ready for transportation
» forward boolean¦null false none Indicates whether the machine is moving forward. In case an input is connected, this datapoint is matching with the "Forward" label
» backward boolean¦null false none Indicates whether the machine is moving backward. In case an input is connected, this datapoint is matching with the "Reverse" label
» moving boolean¦null false none Indicates whether the machine is moving. In case an input is connected, this datapoint is matching with the "Moving" label
» timestamp string(date-time) false none In UTC
_links _links false none none

operator

{
  "values": [
    {
      "presence": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Operator
» presence boolean¦null false none Indicates whether the operator is present. Represents state of input configured as "Operator Presence" or "Seat Contact" or "Seat Belt" or "Foot Switch" or "Tiller head"
» timestamp string(date-time) false none In UTC
_links _links false none none

orientation

{
  "values": [
    {
      "tilted": true,
      "roll": 0,
      "pitch": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Orientation
» tilted boolean¦null false none Indication if the machine is tilted
» roll number(double)¦null false none The roll of the machine in degrees
» pitch number(double)¦null false none The pitch of the machine in degrees
» timestamp string(date-time) false none In UTC
_links _links false none none

outrigger-all

{
  "values": [
    {
      "level": true,
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Outrigger All
» level boolean¦null false none Indicates if the outriggers are level
» on_ground boolean¦null false none Indicates all outriggers are on the ground
» timestamp string(date-time) false none In UTC
_links _links false none none

outrigger-back-left

{
  "values": [
    {
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Outrigger back left
» on_ground boolean¦null false none Indicates the back left outrigger is on the ground
» timestamp string(date-time) false none In UTC
_links _links false none none

outrigger-back-right

{
  "values": [
    {
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Outrigger back right
» on_ground boolean¦null false none Indicates the back right outrigger is on the ground
» timestamp string(date-time) false none In UTC
_links _links false none none

outrigger-front-left

{
  "values": [
    {
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Outrigger front left
» on_ground boolean¦null false none Indicates the back left outrigger is on the ground
» timestamp string(date-time) false none In UTC
_links _links false none none

outrigger-front-right

{
  "values": [
    {
      "on_ground": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Outrigger front right
» on_ground boolean¦null false none Indicates the back right outrigger is on the ground
» timestamp string(date-time) false none In UTC
_links _links false none none

parking-brake

{
  "values": [
    {
      "active": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Parking Brake
» active boolean¦null false none Parking brake active
» timestamp string(date-time) false none In UTC
_links _links false none none

platform

{
  "values": [
    {
      "elevation_state": "string",
      "tilt_angle_y": 0,
      "current_mode": true,
      "tilt_angle_x": 0,
      "overload_count": 3,
      "load": 0,
      "telescope_state": "string",
      "zone": "string",
      "exceeds_min_height": true,
      "exceeds_max_height": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z",
      "height": 0
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Platform
» elevation_state string¦null false none The elevation state.
» tilt_angle_y number(double)¦null false none The tilt angle y of the platform expressed in degrees.
» current_mode boolean¦null false none The mode of the platform, true if it is in platform mode, false if it is in ground mode.
» tilt_angle_x number(double)¦null false none The tilt angle x of the platform expressed in degrees.
» overload_count integer¦null false none How many times the machine has been overloaded.
» load number(double)¦null false none The load of the platform, expressed in kg.
» telescope_state string¦null false none The telescope state.
» zone string¦null false none The platform zone.
» exceeds_min_height boolean¦null false none Indicates true if the platform is below the minimum safe height.
» exceeds_max_height boolean¦null false none Indicates true if the platform is above the maximum safe height.
» timestamp string(date-time) false none In UTC
» height number(double)¦null false none Expressed in meters. How high the platform is extended.
_links _links false none none

platform-guard

{
  "values": [
    {
      "crush_guard_enabled": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Platform Guard
» crush_guard_enabled boolean¦null false none Indicates whether the crush guard is activated or not.
» timestamp string(date-time) false none In UTC
_links _links false none none

power-plug

{
  "values": [
    {
      "in": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Power Plug
» in boolean¦null false none Asset plugged in 230V power
» timestamp string(date-time) false none In UTC
_links _links false none none

power-takeoff

{
  "values": [
    {
      "total_power_takeoff": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Cumulative Power Takeoff Hours
» total_power_takeoff number(double)¦null false none Total power takeoff in seconds
» timestamp string(date-time) false none In UTC
_links _links false none none

rear-axle

{
  "values": [
    {
      "strain_gauge_min": 0,
      "strain_gauge_avg": 0,
      "strain_gauge_max": 0,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Rear Axle
» strain_gauge_min number(double)¦null false none none
» strain_gauge_avg number(double)¦null false none none
» strain_gauge_max number(double)¦null false none none
» timestamp string(date-time) false none In UTC
_links _links false none none

scissors-position

{
  "values": [
    {
      "moving_up": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Scissors position
» moving_up boolean¦null false none Scissors lift is moving up
» timestamp string(date-time) false none In UTC
_links _links false none none

secondary-boom-position

{
  "values": [
    {
      "working": true,
      "transport": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Secondary boom position
» working boolean¦null false none Secondary boom is in working position
» transport boolean¦null false none Secondary boom is in transport position
» timestamp string(date-time) false none In UTC
_links _links false none none

steering

{
  "values": [
    {
      "warning": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Steering
» warning boolean¦null false none Indicates if a warning is issued for the steering
» timestamp string(date-time) false none In UTC
_links _links false none none

switch-controller

{
  "values": [
    {
      "ground": true,
      "remote": true,
      "platform": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Switch controller
» ground boolean¦null false none Controller switch is on ground controller
» remote boolean¦null false none Controller switch is on remote controller.
» platform boolean¦null false none Controller switch is on upper/platform controller
» timestamp string(date-time) false none In UTC
_links _links false none none

switch-deadman

{
  "values": [
    {
      "seat": true,
      "joystick": true,
      "seat_belt": true,
      "foot": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Switch deadman
» seat boolean¦null false none Seat contact is active. In case an input is connected, this datapoint is matching with the "Seat contact" label
» joystick boolean¦null false none When the joystick is not pressed, this dead man switch becomes active.
» seat_belt boolean¦null false none Seat contact is active. In case an input is connected, this datapoint is matching with the "Seat belt" label
» foot boolean¦null false none Foot switch is active. In case an input is connected, this datapoint is matching with the "Foot switch" label
» timestamp string(date-time) false none In UTC
_links _links false none none

switch-function

{
  "values": [
    {
      "function_enabled": true,
      "auxiliary": true,
      "drive": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Switch function
» function_enabled boolean¦null false none Indicates if the switch function enabled is enabled.
» auxiliary boolean¦null false none Indicates if the switch function auxiliary is enabled.
» drive boolean¦null false none Function switch is on drive mode
» timestamp string(date-time) false none In UTC
_links _links false none none

switch-main

{
  "values": [
    {
      "closed": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Switch main
» closed boolean¦null false none Main switch is closed
» timestamp string(date-time) false none In UTC
_links _links false none none

switch-platform-key

{
  "values": [
    {
      "run": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Switch platform key
» run boolean¦null false none Platform ignition is in run position
» timestamp string(date-time) false none In UTC
_links _links false none none

tiller

{
  "values": [
    {
      "head_activated": true,
      "timestamp": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [object] false none Tiller
» head_activated boolean¦null false none Tiller head activated (pulled down). In case an input is connected, this datapoint is matching with the "Tiller head" label
» timestamp string(date-time) false none In UTC
_links _links false none none

account-with-sub-accounts

{
  "id": "11111111-0000-0000-0000-000000000000",
  "name": "My big rental company",
  "parent_account_id": null,
  "parent_account_name": null,
  "subaccounts": [
    {
      "id": "22222222-0000-0000-0000-000000000000",
      "name": "My smaller rental company",
      "parent_account_id": "11111111-0000-0000-0000-000000000000",
      "parent_account_name": "My big rental company",
      "subaccounts": []
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
name string true none none
parent_account_id string(uuid) false none none
parent_account_name string false none none
subaccounts [object] false none Nested sub accounts
» id string(uuid) false none none
» name string false none none
» parent_account_id string(uuid) false none none
» parent_account_name string false none none
» subaccounts [object] false none Nested sub accounts

right

{
  "name": "fleet_management",
  "access": "USER",
  "description": "Gives option to only view assets and devices"
}

Properties

Name Type Required Restrictions Description
name string false none none
access string false none none
description string false none none

Enumerated Values

Property Value
access USER
access ADMIN

users

{
  "values": [
    {
      "id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "first_name": "Adam",
      "last_name": "Smith",
      "email": "adam.sosnowski@test.pl",
      "phone_number": 111222333,
      "language_id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "hour_format\"": 24,
      "date_format": "DD/MM/YYYY",
      "distance_measurement": "metric",
      "volume_measurement\"": "metric",
      "tenant_id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "status": "ACTIVE",
      "tenant_admin": true
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  },
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  }
}

Properties

Name Type Required Restrictions Description
values [user] true none Users representation
_links _links true none none
_metadata _metadata true none none

user

{
  "id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
  "first_name": "Adam",
  "last_name": "Smith",
  "email": "adam.sosnowski@test.pl",
  "phone_number": 111222333,
  "language_id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
  "hour_format\"": 24,
  "date_format": "DD/MM/YYYY",
  "distance_measurement": "metric",
  "volume_measurement\"": "metric",
  "tenant_id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
  "status": "ACTIVE",
  "tenant_admin": true
}

Properties

Name Type Required Restrictions Description
id string(uuid) false none none
first_name string false none none
last_name string false none none
email string false none none
phone_number string false none none
language_id string(uuid) false none none
hour_format" string false none none
date_format string false none none
distance_measurement string false none none
volume_measurement" string false none none
tenant_id string(uuid) false none none
status string false none none
tenant_admin boolean false none none

subscriptions

{
  "values": [
    {
      "type": "alert",
      "label": "IMPACT_WARNING",
      "alert_definition_id": "662dec1e-e1b0-4cf1-9b7b-ce073ca84b66"
    }
  ]
}

Properties

Name Type Required Restrictions Description
values [subscription] false none User subscriptions representation

subscription

{
  "type": "alert",
  "label": "IMPACT_WARNING",
  "alert_definition_id": "662dec1e-e1b0-4cf1-9b7b-ce073ca84b66"
}

Properties

oneOf

Name Type Required Restrictions Description
anonymous alertSubscription false none none

xor

Name Type Required Restrictions Description
anonymous customAlertSubscription false none none

xor

Name Type Required Restrictions Description
anonymous reportScheduleSubscription false none none

xor

Name Type Required Restrictions Description
anonymous geofenceBreach false none none

alertSubscription

{
  "type": "alert",
  "label": "IMPACT_WARNING",
  "alert_definition_id": "662dec1e-e1b0-4cf1-9b7b-ce073ca84b66"
}

Properties

Name Type Required Restrictions Description
type string true none none
label string false none none
alert_definition_id string(uuid) true none none

Enumerated Values

Property Value
type alert

customAlertSubscription

{
  "type": "custom_alert",
  "name": "User defined alert based on datapoints",
  "custom_alert_definition_id": "8993e322-efff-44d1-845c-216981436c48"
}

Properties

Name Type Required Restrictions Description
type string true none none
name string false none none
custom_alert_definition_id string(uuid) true none none

Enumerated Values

Property Value
type custom_alert

reportScheduleSubscription

{
  "type": "report_schedule",
  "name": "Used daily usage schedule",
  "schedule_id": "8929bb67-0da1-406c-99d2-5447376a4f58"
}

Properties

Name Type Required Restrictions Description
type string true none none
name string false none none
schedule_id string(uuid) true none none

Enumerated Values

Property Value
type report_schedule

geofenceBreach

{
  "type": "geofence_breach",
  "name": "User custom geofence",
  "geofence_id": "3b717307-4590-48e6-928a-9b2c02bde0b6"
}

Properties

Name Type Required Restrictions Description
type string true none none
name string false none none
geofence_id string(uuid) true none none

Enumerated Values

Property Value
type geofence_breach

accounts

{
  "values": [
    {
      "id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
      "name": "ACME Co.",
      "country": "Belgium",
      "country_code": "BE",
      "first_name": "John",
      "last_name": "Smith",
      "language_code": "EN",
      "address_line_1": "Random Street 12",
      "address_line_2": "Unit 4",
      "postal_code": 21355,
      "city": "Brussels",
      "timezone": "Europe/Brussels"
    }
  ]
}

Properties

Name Type Required Restrictions Description
values [account] false none Accounts representation

account

{
  "id": "282ef8ee-334a-11ed-9bae-872086dc14b3",
  "name": "ACME Co.",
  "country": "Belgium",
  "country_code": "BE",
  "first_name": "John",
  "last_name": "Smith",
  "language_code": "EN",
  "address_line_1": "Random Street 12",
  "address_line_2": "Unit 4",
  "postal_code": 21355,
  "city": "Brussels",
  "timezone": "Europe/Brussels"
}

Properties

Name Type Required Restrictions Description
id string(uuid) false none none
name string false none none
country string false none none
country_code string false none none
first_name string false none none
last_name string false none none
language_code string false none 2 letters code representing a company language
address_line_1 string false none none
address_line_2 string false none none
postal_code string false none none
city string false none none
timezone string false none none

cumulative_operating_hours

{
  "hour": 123.4,
  "datetime": "2022-04-26T13:27:53.001Z"
}

Properties

Name Type Required Restrictions Description
hour number(double) true none Cumulative operating hours calculated based on input configured as operating hours input
datetime string(date-time) true none The date and time indicate when the operating hours of the machine was recorded, if date range provided datetime is equal to end of the range

trouble_codes

{
  "values": [
    {
      "error_code": "UNK_89:15",
      "error_message": "TILT SENSOR - FAULT",
      "severity": "UNKNOWN",
      "active": "true",
      "activated_at": "2022-03-31T12:42:10.153154700Z",
      "deactivated_at": "2022-03-31T12:42:10.153154700Z"
    }
  ],
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  },
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  }
}

Properties

Name Type Required Restrictions Description
values [object] true none Trouble Codes
» error_code string¦null true none Error Code
» error_message string¦null true none Error message
» severity string true none Error severity
» active boolean true none Error activity status
» activated_at string(date-time) true none In UTC
» deactivated_at string(date-time)¦null true none In UTC
_links _links true none none
_metadata _metadata true none none

assetDetails

{
  "id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "last_data_received_time": "2018-06-20T16:27:30.000Z",
  "status": "WORKING",
  "linked_device_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "can_delete": {
    "status": false,
    "messages": [
      "LBL_ASSET_LINKED_TO_ACCESS_KEYS"
    ]
  },
  "external_ref_id": "anystring",
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "remarks": "Remark",
  "types": [
    "onroad",
    "offroad"
  ],
  "is_rental": true
}

Properties

Name Type Required Restrictions Description
id assetId true none Asset id
name assetName true none Asset name
make assetMake true none Asset make
model assetModel true none Asset model
last_data_received_time lastDataReceivedTime true none Date time of the last received asset's packet (UTC)
status assetStatus true none Asset status
linked_device_id linkedDeviceId true none Linked device id. If no value, asset is not linked with device.
can_delete canDelete true none none
external_ref_id assetExternalRefId¦null true none none
department_id assetDepartmentId false none Organizational unit id
serial assetSerial¦null true none none
serial_prefix assetSerialPrefix¦null true none none
year_of_build assetYearOfBuild¦null true none none
remarks assetRemarks¦null true none Asset remarks
types assetTypes¦null false none Asset types
is_rental assetIsRental true none Asset is rental

assetStatusDetails

{
  "can": {
    "protocol": "HYSTER_J_22_35_XN",
    "current_seconds": 17872312
  },
  "input": {
    "current_seconds": 17872312
  }
}

Properties

Name Type Required Restrictions Description
can object false none none
» protocol string true none none
» current_seconds integer true none Current seconds value based on CAN data or OEM integrations
input object true none none
» current_seconds integer true none Current seconds value calculated based input configured in the device settings

accessKeys

{
  "values": [
    {
      "id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
      "name": "Forklift's access key",
      "visual_code": "123123",
      "physical_code": "000001E0F3",
      "source_code_type": "visual",
      "type": "pincode"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [accessKey] true none none
_metadata _metadata true none none
_links _links true none none

devices

{
  "values": [
    {
      "id": "a3cef5e5-2c92-4fe8-a6ce-81056c57e8e7",
      "imei_number": "104905062020",
      "customer_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
      "device_model": {
        "id": "65e4ab04-20e0-11ea-941c-42010a8400bc",
        "type": "OWASYS",
        "type_label": "Sapphire",
        "model": "OWA4X",
        "model_label": "V3"
      },
      "linked_asset_id": "36568506-1bcf-41b6-96d2-688f89971a39"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [device] true none none
_metadata _metadata true none none
_links _links true none none

assets

{
  "values": [
    {
      "id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
      "name": "Forklift 1",
      "make": "MY20",
      "model": "MY20",
      "serial": "455346666",
      "last_data_received_time": "2018-06-20T16:27:30.000Z",
      "status": "WORKING",
      "linked_device_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
      "external_ref_id": "anystring",
      "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [asset] true none none
_metadata _metadata true none none
_links _links true none none

operators

{
  "values": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "language": "pl-PL",
      "roles": [
        "OPERATOR"
      ],
      "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
      "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
      "first_name": "string",
      "last_name": "string",
      "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [operatorDetailsResponse] true none none
_metadata _metadata true none none
_links _links true none none

assetPatchRequest

{
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "remarks": "Remark",
  "is_rental": true,
  "types": [
    "onroad",
    "offroad"
  ],
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "external_ref_id": "anystring"
}

Properties

Name Type Required Restrictions Description
name assetName false none Asset name
make assetMake false none Asset make
model assetModel false none Asset model
serial assetSerial false none none
serial_prefix assetSerialPrefix false none none
year_of_build assetYearOfBuild false none none
remarks assetRemarks false none Asset remarks
is_rental assetIsRental false none Asset is rental
types assetTypes false none Asset types
department_id assetDepartmentId false none Organizational unit id
external_ref_id assetExternalRefId false none none

assetPostRequest

{
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "remarks": "Remark",
  "is_rental": true,
  "types": [
    "onroad",
    "offroad"
  ],
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "external_ref_id": "anystring"
}

Properties

None

assetPostPatchResponse

{
  "id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "serial_prefix": "ff23",
  "year_of_build": 2018,
  "external_ref_id": "anystring",
  "remarks": "Remark",
  "is_rental": true,
  "types": [
    "onroad",
    "offroad"
  ],
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
}

Properties

Name Type Required Restrictions Description
id assetId false none Asset id
name assetName false none Asset name
make assetMake false none Asset make
model assetModel false none Asset model
serial assetSerial false none none
serial_prefix assetSerialPrefix false none none
year_of_build assetYearOfBuild false none none
external_ref_id assetExternalRefId false none none
remarks assetRemarks false none Asset remarks
is_rental assetIsRental false none Asset is rental
types assetTypes false none Asset types
department_id assetDepartmentId false none Organizational unit id

{
  "next": {
    "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
  },
  "self": {
    "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
  }
}

Properties

Name Type Required Restrictions Description
next object true none none
» href string(uri)¦null true none none
self object true none none
» href string(uri) true none none

_metadata

{
  "page_size": 1,
  "page_number": 1,
  "total_pages": 1,
  "total_elements": 1
}

Properties

Name Type Required Restrictions Description
page_size integer(int32) true none Number of elements per page
page_number integer(int32) true none Number of current page
total_pages integer(int32) true none Number of total pages
total_elements integer(int64) true none Number of total elements

organisational-units

{
  "values": [
    {
      "id": "0452d5be-60bf-4aa8-8d34-f75e968297f6",
      "name": "Orange",
      "supervisor_first_name": "Will",
      "supervisor_last_name": "Smith",
      "supervisor_email": "supervisor@email.com",
      "supervisor_phone_number": "+481234566789"
    }
  ]
}

Properties

Name Type Required Restrictions Description
values [organisational-unit] true none none

organisational-unit

{
  "id": "0452d5be-60bf-4aa8-8d34-f75e968297f6",
  "name": "Orange",
  "supervisor_first_name": "Will",
  "supervisor_last_name": "Smith",
  "supervisor_email": "supervisor@email.com",
  "supervisor_phone_number": "+481234566789"
}

Properties

Name Type Required Restrictions Description
id orgUnitId true none Organisational unit id
name orgUnitName true none Organisational unit name
supervisor_first_name supervisorFirstName true none Supervisor firstname
supervisor_last_name supervisorLastName true none Supervisor lastname
supervisor_email supervisorEmail true none Supervisor email
supervisor_phone_number supervisorPhoneNumber true none Supervisor phone number

orgUnitId

"0452d5be-60bf-4aa8-8d34-f75e968297f6"

Organisational unit id

Properties

Name Type Required Restrictions Description
anonymous string false none Organisational unit id

orgUnitName

"Orange"

Organisational unit name

Properties

Name Type Required Restrictions Description
anonymous string false none Organisational unit name

supervisorFirstName

"Will"

Supervisor firstname

Properties

Name Type Required Restrictions Description
anonymous string false none Supervisor firstname

supervisorLastName

"Smith"

Supervisor lastname

Properties

Name Type Required Restrictions Description
anonymous string false none Supervisor lastname

supervisorEmail

"supervisor@email.com"

Supervisor email

Properties

Name Type Required Restrictions Description
anonymous string false none Supervisor email

supervisorPhoneNumber

"+481234566789"

Supervisor phone number

Properties

Name Type Required Restrictions Description
anonymous string false none Supervisor phone number

device

{
  "id": "a3cef5e5-2c92-4fe8-a6ce-81056c57e8e7",
  "imei_number": "104905062020",
  "customer_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "device_model": {
    "id": "65e4ab04-20e0-11ea-941c-42010a8400bc",
    "type": "OWASYS",
    "type_label": "Sapphire",
    "model": "OWA4X",
    "model_label": "V3"
  },
  "linked_asset_id": "36568506-1bcf-41b6-96d2-688f89971a39"
}

Properties

Name Type Required Restrictions Description
id deviceId true none Device id
imei_number imeiNumber true none Imei number
customer_id customerId true none Customer id
device_model deviceModel true none none
linked_asset_id linkedAssetId true none Linked asset id

deviceByImei

{
  "id": "a3cef5e5-2c92-4fe8-a6ce-81056c57e8e7",
  "imei_number": "104905062020",
  "customer_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "device_model": {
    "id": "65e4ab04-20e0-11ea-941c-42010a8400bc",
    "type": "OWASYS",
    "type_label": "Sapphire",
    "model": "OWA4X",
    "model_label": "V3"
  },
  "linked_asset_id": "36568506-1bcf-41b6-96d2-688f89971a39"
}

Properties

Name Type Required Restrictions Description
id deviceId true none Device id
imei_number imeiNumber true none Imei number
customer_id customerId false none Customer id
device_model deviceModel true none none
linked_asset_id linkedAssetId false none Linked asset id

asset

{
  "id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "name": "Forklift 1",
  "make": "MY20",
  "model": "MY20",
  "serial": "455346666",
  "last_data_received_time": "2018-06-20T16:27:30.000Z",
  "status": "WORKING",
  "linked_device_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "external_ref_id": "anystring",
  "department_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
}

Properties

Name Type Required Restrictions Description
id assetId true none Asset id
name assetName true none Asset name
make assetMake true none Asset make
model assetModel true none Asset model
serial assetSerial false none none
last_data_received_time lastDataReceivedTime true none Date time of the last received asset's packet (UTC)
status assetStatus true none Asset status
linked_device_id linkedDeviceId true none Linked device id. If no value, asset is not linked with device.
external_ref_id assetExternalRefId true none none
department_id assetDepartmentId false none Organizational unit id

assetName

"Forklift 1"

Asset name

Properties

Name Type Required Restrictions Description
anonymous string false none Asset name

assetTypes

[
  "onroad",
  "offroad"
]

Asset types

Properties

None

assetIsRental

true

Asset is rental

Properties

Name Type Required Restrictions Description
anonymous boolean false none Asset is rental

assetRemarks

"Remark"

Asset remarks

Properties

Name Type Required Restrictions Description
anonymous string¦null false none Asset remarks

assetMake

"MY20"

Asset make

Properties

Name Type Required Restrictions Description
anonymous string false none Asset make

assetModel

"MY20"

Asset model

Properties

Name Type Required Restrictions Description
anonymous string false none Asset model

assetId

"f9acb205-291b-43d2-aeee-ad0dfc4eba09"

Asset id

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Asset id

lastDataReceivedTime

"2018-06-20T16:27:30.000Z"

Date time of the last received asset's packet (UTC)

Properties

Name Type Required Restrictions Description
anonymous string(date-time)¦null false none Date time of the last received asset's packet (UTC)

assetStatus

"WORKING"

Asset status

Properties

Name Type Required Restrictions Description
anonymous string¦null false none Asset status

Enumerated Values

Property Value
anonymous WORKING
anonymous NOT_WORKING
anonymous LOST_SIGNAL

linkedDeviceId

"f9acb205-291b-43d2-aeee-ad0dfc4eba09"

Linked device id. If no value, asset is not linked with device.

Properties

Name Type Required Restrictions Description
anonymous string(uuid)¦null false none Linked device id. If no value, asset is not linked with device.

assetSerial

"455346666"

equipment serial

Properties

Name Type Required Restrictions Description
equipment serial string false none none

assetSerialPrefix

"ff23"

equipment serial prefix

Properties

Name Type Required Restrictions Description
equipment serial prefix string false none none

assetYearOfBuild

2018

equipment year of build

Properties

Name Type Required Restrictions Description
equipment year of build integer(int64) false none none

assetExternalRefId

"anystring"

external ref id

Properties

Name Type Required Restrictions Description
external ref id string false none none

assetDepartmentId

"f9acb205-291b-43d2-aeee-ad0dfc4eba09"

Organizational unit id

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Organizational unit id

canDelete

{
  "status": false,
  "messages": [
    "LBL_ASSET_LINKED_TO_ACCESS_KEYS"
  ]
}

Properties

Name Type Required Restrictions Description
status boolean true none Show if machine can be deleted (true -> yes, false -> no)
messages [string] true none Reasons why machine cannot be deleted

deviceId

"a3cef5e5-2c92-4fe8-a6ce-81056c57e8e7"

Device id

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Device id

imeiNumber

"104905062020"

Imei number

Properties

Name Type Required Restrictions Description
anonymous string false none Imei number

deviceModel

{
  "id": "65e4ab04-20e0-11ea-941c-42010a8400bc",
  "type": "OWASYS",
  "type_label": "Sapphire",
  "model": "OWA4X",
  "model_label": "V3"
}

Properties

Name Type Required Restrictions Description
id string(uuid) false none Device model id
type string false none none
type_label string false none none
model string false none none
model_label string false none none

customerId

"f9acb205-291b-43d2-aeee-ad0dfc4eba09"

Customer id

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Customer id

linkedAssetId

"36568506-1bcf-41b6-96d2-688f89971a39"

Linked asset id

Properties

Name Type Required Restrictions Description
anonymous string(uuid)¦null false none Linked asset id

claimDeviceRequest

{
  "imei_number": "104905062020"
}

Properties

Name Type Required Restrictions Description
imei_number imeiNumber true none Imei number

claimedDeviceResponse

{
  "imei_number": "104905062020",
  "id": "a3cef5e5-2c92-4fe8-a6ce-81056c57e8e7"
}

Properties

Name Type Required Restrictions Description
imei_number imeiNumber false none Imei number
id deviceId false none Device id

accessKeyPostRequest

{
  "name": "Forklift's access key",
  "code": "123123",
  "code_type": "visual",
  "type": "pincode"
}

Properties

Name Type Required Restrictions Description
name accessKeyName true none Access key name
code accessKeyCode true none Access key code
code_type accessKeyCodeType true none Access key code type
type accessKeyType true none Access key type

accessKeyPutRequest

{
  "name": "Forklift's access key",
  "code": "123123",
  "code_type": "visual"
}

Properties

Name Type Required Restrictions Description
name accessKeyName true none Access key name
code accessKeyCode true none Access key code
code_type accessKeyCodeType true none Access key code type

accessKey

{
  "id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
  "name": "Forklift's access key",
  "visual_code": "123123",
  "physical_code": "000001E0F3",
  "source_code_type": "visual",
  "type": "pincode"
}

Properties

Name Type Required Restrictions Description
id accessKeyId true none Access key id
name accessKeyName true none Access key name
visual_code accessKeyVisualCode true none Access key visual code
physical_code accessKeyPhysicalCode true none Access key physical code
source_code_type accessKeySourceCodeType true none Access key source code type
type accessKeyType true none Access key type

accessKeyId

"ea4afdd6-0c23-11ed-861d-0242ac120002"

Access key id

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Access key id

accessKeyName

"Forklift's access key"

Access key name

Properties

Name Type Required Restrictions Description
anonymous string false none Access key name

accessKeyCode

"123123"

Access key code

Properties

Name Type Required Restrictions Description
anonymous string¦null false none Access key code

accessKeyCodeType

"visual"

Access key code type

Properties

Name Type Required Restrictions Description
anonymous string false none Access key code type

Enumerated Values

Property Value
anonymous visual
anonymous physical

accessKeyVisualCode

"123123"

Access key visual code

Properties

Name Type Required Restrictions Description
anonymous string¦null false none Access key visual code

accessKeyPhysicalCode

"000001E0F3"

Access key physical code

Properties

Name Type Required Restrictions Description
anonymous string¦null false none Access key physical code

accessKeySourceCodeType

"visual"

Access key source code type

Properties

Name Type Required Restrictions Description
anonymous string false none Access key source code type

Enumerated Values

Property Value
anonymous visual
anonymous physical

accessKeyType

"pincode"

Access key type

Properties

Name Type Required Restrictions Description
anonymous string false none Access key type

Enumerated Values

Property Value
anonymous pincode
anonymous rfid_emid_card
anonymous rfid_emid_keyfob
anonymous rfid_hid
anonymous rfid_hid_corporate_1000
anonymous rfid_hid_seos
anonymous rfid_mifare
anonymous rfid_mifare_desfire_ev2_8k

createOperatorRequest

{
  "first_name": "string",
  "last_name": "string",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}

Properties

Name Type Required Restrictions Description
first_name string true none First name
last_name string true none Last name
language string false none Language. Format: (ISO 639-1 language code)-(ISO 3166-1 alpha-2 country code)
roles [string] true none Default roles to be assigned. At least one role is required.
department_id string(uuid) false none Department ID
work_shift_id string(uuid) false none Work shift ID

operatorDetailsResponse

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "first_name": "string",
  "last_name": "string",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}

Properties

Name Type Required Restrictions Description
id string(uuid) false none none
language string false none Language. Format: (ISO 639-1 language code)-(ISO 3166-1 alpha-2 country code)
roles [string] false none none
account_id string(uuid) false none none
department_id string(uuid) false none none
first_name string false none none
last_name string false none none
work_shift_id string(uuid) false none none

updateOperatorRequest

{
  "first_name": "string",
  "last_name": "string",
  "language": "pl-PL",
  "roles": [
    "OPERATOR"
  ],
  "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  "work_shift_id": "ac8f1e9e-746e-412b-8d29-9e2ce442cd62"
}

Properties

Name Type Required Restrictions Description
first_name string true none First name
last_name string true none Last name
language string false none Language. Format: (ISO 639-1 language code)-(ISO 3166-1 alpha-2 country code)
roles [string] true none Default roles to be assigned. At least one role is required.
department_id string(uuid) false none Department ID
work_shift_id string(uuid) false none Work shift ID

replaceAccessKeysRequest

{
  "access_key_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Properties

Name Type Required Restrictions Description
access_key_ids [string] true none none

assetsLinkedToAnOperator

{
  "assets": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "roles": [
        "OPERATOR"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
assets [object] true none none
» id string(uuid) true none Asset id
» roles [string] true none none

operatorsLinkedToAsset

{
  "operators": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "roles": [
        "OPERATOR"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
operators [object] true none none
» id string(uuid) true none none
» roles [string] true none none

createLabelGroupRequest

{
  "name": "Forklifts",
  "type": "asset"
}

Properties

Name Type Required Restrictions Description
name labelGroupName true none Label group name
type labelGroupType true none Label group type: asset or device

upsertLabelRequest

{
  "name": "Forklift",
  "color": "#FF00CC"
}

Properties

Name Type Required Restrictions Description
name labelName true none Label name
color labelColor true none Label color in HEX format

replaceLabelsLinkedToAssetRequest

{
  "label_ids": [
    "ea4afdd6-0c23-11ed-861d-0242ac120002"
  ]
}

Properties

Name Type Required Restrictions Description
label_ids [labelId] true none Array of label ids

replaceLabelsLinkedToAssetV2Request

[
  {
    "label_id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
    "label_group_id": "fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f"
  }
]

Properties

Name Type Required Restrictions Description
label_id labelId true none Label id
label_group_id labelGroupId true none Label group id

replaceAssetsLinkedToLabelRequest

{
  "asset_ids": [
    "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
  ]
}

Properties

Name Type Required Restrictions Description
asset_ids [assetId] true none Array of asset ids

labelsLinkedToAsset

{
  "label_ids": [
    "ea4afdd6-0c23-11ed-861d-0242ac120002"
  ]
}

Properties

Name Type Required Restrictions Description
label_ids [labelId] false none Array of label ids

labelGroupsAndLabelsLinkedToAsset

[
  {
    "label_id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
    "label_group_id": "fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f"
  }
]

Properties

Name Type Required Restrictions Description
label_id labelId true none Label id
label_group_id labelGroupId true none Label group id

labelGroupsWithLabels

{
  "values": [
    {
      "id": "fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f",
      "name": "Forklifts",
      "labels": [
        {
          "id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
          "name": "Forklift",
          "color": "#FF00CC"
        }
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
values [object] false none none
» id labelGroupId true none Label group id
» name labelGroupName true none Label group name
» labels [label] true none Array of labels assigned to group

labelGroup

{
  "id": "fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f",
  "name": "Forklifts",
  "customer_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09"
}

Properties

Name Type Required Restrictions Description
id labelGroupId true none Label group id
name labelGroupName true none Label group name
customer_id customerId true none Customer id

labelGroupType

"asset"

Label group type: asset or device

Properties

Name Type Required Restrictions Description
anonymous string false none Label group type: asset or device

label

{
  "id": "ea4afdd6-0c23-11ed-861d-0242ac120002",
  "name": "Forklift",
  "color": "#FF00CC"
}

Properties

Name Type Required Restrictions Description
id labelId true none Label id
name labelName true none Label name
color labelColor true none Label color in HEX format

labelId

"ea4afdd6-0c23-11ed-861d-0242ac120002"

Label id

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Label id

labelName

"Forklift"

Label name

Properties

Name Type Required Restrictions Description
anonymous string false none Label name

labelColor

"#FF00CC"

Label color in HEX format

Properties

Name Type Required Restrictions Description
anonymous string false none Label color in HEX format

labelGroupId

"fa96bf0f-a3e8-4d5f-9466-e26abbde3e2f"

Label group id

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Label group id

labelGroupName

"Forklifts"

Label group name

Properties

Name Type Required Restrictions Description
anonymous string false none Label group name

checklistId

"6442f074-2b72-4999-9e2e-150ca9d0ca7a"

Checklist ID

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Checklist ID

checklistVersionId

"fed0a688-f4fb-41d5-a3e5-f1652d88c9ad"

Checklist version ID

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Checklist version ID

checklistName

"Pre-Op Check"

Checklist name

Properties

Name Type Required Restrictions Description
anonymous string false none Checklist name

checklistDescription

"Pre-Operation Checklist"

Checklist description

Properties

Name Type Required Restrictions Description
anonymous string false none Checklist description

checklistDefaultLanguage

"pl-PL"

Checklist language. Format: (ISO 639-1 language code)-(ISO 3166-1 alpha-2 country code)

Properties

Name Type Required Restrictions Description
anonymous string false none Checklist language. Format: (ISO 639-1 language code)-(ISO 3166-1 alpha-2 country code)

checklistSupportedLanguages

[
  "pl-PL"
]

Properties

Name Type Required Restrictions Description
anonymous [checklistDefaultLanguage] false none [Checklist language. Format: (ISO 639-1 language code)-(ISO 3166-1 alpha-2 country code)]

checklistCreatedAt

"2025-01-01T12:34:56.789Z"

In UTC

Properties

Name Type Required Restrictions Description
anonymous string(date-time) false none In UTC

questionId

1

Checklist question ID

Properties

Name Type Required Restrictions Description
anonymous integer(int32) false none Checklist question ID

questionCritical

true

Determines if question is critical

Properties

Name Type Required Restrictions Description
anonymous boolean false none Determines if question is critical

questionFixed

true

Determines if question is fixed

Properties

Name Type Required Restrictions Description
anonymous boolean false none Determines if question is fixed

questionPhase

"PRE"

Defines question phase

Properties

Name Type Required Restrictions Description
anonymous string false none Defines question phase

Enumerated Values

Property Value
anonymous PRE
anonymous POST

questionExpectedAnswer

"NO"

Defines expected answer to the question

Properties

Name Type Required Restrictions Description
anonymous string false none Defines expected answer to the question

Enumerated Values

Property Value
anonymous YES
anonymous NO
anonymous NA

questionTitle

{
  "property1": "string",
  "property2": "string"
}

Defines questions in multiple languages

Properties

Name Type Required Restrictions Description
additionalProperties string false none none

checklists

{
  "values": [
    {
      "id": "6442f074-2b72-4999-9e2e-150ca9d0ca7a",
      "version_id": "fed0a688-f4fb-41d5-a3e5-f1652d88c9ad",
      "name": "Pre-Op Check",
      "description": "Pre-Operation Checklist",
      "default_language": "pl-PL",
      "supported_languages": [
        "pl-PL"
      ],
      "created_at": "2025-01-01T12:34:56.789Z",
      "questions": [
        {
          "id": 1,
          "critical": true,
          "fixed": true,
          "phase": "PRE",
          "answer": "NO",
          "title": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [checklist] true none none
_metadata _metadata true none none
_links _links true none none

checklist

{
  "id": "6442f074-2b72-4999-9e2e-150ca9d0ca7a",
  "version_id": "fed0a688-f4fb-41d5-a3e5-f1652d88c9ad",
  "name": "Pre-Op Check",
  "description": "Pre-Operation Checklist",
  "default_language": "pl-PL",
  "supported_languages": [
    "pl-PL"
  ],
  "created_at": "2025-01-01T12:34:56.789Z",
  "questions": [
    {
      "id": 1,
      "critical": true,
      "fixed": true,
      "phase": "PRE",
      "answer": "NO",
      "title": {
        "property1": "string",
        "property2": "string"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description
id checklistId true none Checklist ID
version_id checklistVersionId true none Checklist version ID
name checklistName true none Checklist name
description checklistDescription false none Checklist description
default_language checklistDefaultLanguage true none Checklist language. Format: (ISO 639-1 language code)-(ISO 3166-1 alpha-2 country code)
supported_languages checklistSupportedLanguages true none none
created_at checklistCreatedAt false none In UTC
questions [object] true none none
» id questionId true none Checklist question ID
» critical questionCritical false none Determines if question is critical
» fixed questionFixed false none Determines if question is fixed
» phase questionPhase true none Defines question phase
» answer questionExpectedAnswer true none Defines expected answer to the question
» title questionTitle true none Defines questions in multiple languages

checklistResults

{
  "values": [
    {
      "id": "5d5e63fb-0563-424d-9662-0c9f1bbcc8be",
      "asset_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
      "operator_id": "2164bc0e-4861-4464-8b5e-e8c8be72f220",
      "checklist_id": "6442f074-2b72-4999-9e2e-150ca9d0ca7a",
      "version_id": "fed0a688-f4fb-41d5-a3e5-f1652d88c9ad",
      "start_time": "2025-03-08T01:30:00.000-05:00",
      "duration_in_seconds": 37,
      "result": "SUCCESS",
      "answers": [
        {
          "question_id": 1,
          "end_time": "2025-03-08T01:30:00.000-05:00",
          "answer": "NO"
        }
      ]
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [checklistResult] true none none
_metadata _metadata true none none
_links _links true none none

checklistResult

{
  "id": "5d5e63fb-0563-424d-9662-0c9f1bbcc8be",
  "asset_id": "f9acb205-291b-43d2-aeee-ad0dfc4eba09",
  "operator_id": "2164bc0e-4861-4464-8b5e-e8c8be72f220",
  "checklist_id": "6442f074-2b72-4999-9e2e-150ca9d0ca7a",
  "version_id": "fed0a688-f4fb-41d5-a3e5-f1652d88c9ad",
  "start_time": "2025-03-08T01:30:00.000-05:00",
  "duration_in_seconds": 37,
  "result": "SUCCESS",
  "answers": [
    {
      "question_id": 1,
      "end_time": "2025-03-08T01:30:00.000-05:00",
      "answer": "NO"
    }
  ]
}

Properties

Name Type Required Restrictions Description
id checklistResultId true none Checklist result ID
asset_id assetId true none Asset id
operator_id operatorId true none Operator ID
checklist_id checklistId true none Checklist ID
version_id checklistVersionId true none Checklist version ID
start_time checklistResultStartTime true none Start time of the checklist
duration_in_seconds checklistResultDuration true none Duration of the checklist
result checklistResultResult true none Result of the checklist
answers [object] true none none
» question_id answerQuestionId true none Reference Question ID
» end_time answerEndTime true none Timestamp of given answer
» answer givenAnswer true none Provided answer to the referenced question

checklistResultId

"5d5e63fb-0563-424d-9662-0c9f1bbcc8be"

Checklist result ID

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Checklist result ID

operatorId

"2164bc0e-4861-4464-8b5e-e8c8be72f220"

Operator ID

Properties

Name Type Required Restrictions Description
anonymous string(uuid) false none Operator ID

checklistResultStartTime

"2025-03-08T01:30:00.000-05:00"

Start time of the checklist

Properties

Name Type Required Restrictions Description
anonymous string(date-time) false none Start time of the checklist

checklistResultDuration

37

Duration of the checklist

Properties

Name Type Required Restrictions Description
anonymous integer false none Duration of the checklist

checklistResultResult

"SUCCESS"

Result of the checklist

Properties

Name Type Required Restrictions Description
anonymous string false none Result of the checklist

Enumerated Values

Property Value
anonymous INCOMPLETE
anonymous FAILURE
anonymous WARNING
anonymous SUCCESS

answerQuestionId

1

Reference Question ID

Properties

Name Type Required Restrictions Description
anonymous integer(int32) false none Reference Question ID

answerEndTime

"2025-03-08T01:30:00.000-05:00"

Timestamp of given answer

Properties

Name Type Required Restrictions Description
anonymous string(date-time) false none Timestamp of given answer

givenAnswer

"NO"

Provided answer to the referenced question

Properties

Name Type Required Restrictions Description
anonymous string false none Provided answer to the referenced question

Enumerated Values

Property Value
anonymous YES
anonymous NO
anonymous NA

problemTitle

"string"

A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

Properties

Name Type Required Restrictions Description
anonymous string false none A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

problemDetail

"string"

A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

Properties

Name Type Required Restrictions Description
anonymous string false none A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized

sessions

{
  "values": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "operator_id": "fa9de6bb-1df8-4ba6-9e6d-1172fbf7e166",
      "session_start": "2019-08-24T14:15:22Z",
      "session_end": "2019-08-24T14:15:22Z",
      "access_key_id": "43338e2f-017a-495c-9154-5c2583b83035",
      "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [session] true none none
_metadata _metadata true none none
_links _links true none none

session

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "operator_id": "fa9de6bb-1df8-4ba6-9e6d-1172fbf7e166",
  "session_start": "2019-08-24T14:15:22Z",
  "session_end": "2019-08-24T14:15:22Z",
  "access_key_id": "43338e2f-017a-495c-9154-5c2583b83035",
  "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4"
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none The session ID
operator_id string(uuid) false none none
session_start string(date-time) true none none
session_end string(date-time) false none none
access_key_id string(uuid) true none none
asset_id string(uuid) true none none

impacts

{
  "values": [
    {
      "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
      "operator_id": "fa9de6bb-1df8-4ba6-9e6d-1172fbf7e166",
      "timestamp": "2019-08-24T14:15:22Z",
      "magnitude": 2220.1211,
      "severity": "UNKNOWN",
      "direction": "UNKNOWN"
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [impactResponse] true none none
_metadata _metadata true none none
_links _links true none none

impactResponse

{
  "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
  "operator_id": "fa9de6bb-1df8-4ba6-9e6d-1172fbf7e166",
  "timestamp": "2019-08-24T14:15:22Z",
  "magnitude": 2220.1211,
  "severity": "UNKNOWN",
  "direction": "UNKNOWN"
}

Properties

Name Type Required Restrictions Description
asset_id string(uuid) true none none
operator_id string(uuid) false none none
timestamp string(date-time) true none none
magnitude number(double) true none Force of the impact in mG
severity any false none none
direction any false none none

Enumerated Values

Property Value
severity UNKNOWN
severity STANDARD
severity WARNING
severity CRITICAL
direction UNKNOWN
direction FRONT
direction RIGHT
direction BACK
direction LEFT

licenses

{
  "values": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "expiration_date": "2019-08-24T14:15:22Z",
      "expire_in": 0
    }
  ],
  "_metadata": {
    "page_size": 1,
    "page_number": 1,
    "total_pages": 1,
    "total_elements": 1
  },
  "_links": {
    "next": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/next"
    },
    "self": {
      "href": "https://api.gemone.com/api/v1/accounts/b28582d8-b09d-11ea-b05a-42010a840002/self"
    }
  }
}

Properties

Name Type Required Restrictions Description
values [license] true none none
_metadata _metadata true none none
_links _links true none none

license

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "expiration_date": "2019-08-24T14:15:22Z",
  "expire_in": 0
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
name string true none none
expiration_date string(date-time) false none Date of license expiration. If license is perpetual, this field is null
expire_in number(int32) true none Number of days left until the license expires