Skip to content

REST API Reference

The Globe Tracker RESTful API provides access to a wide range of IoT and logistics data. This reference covers all available resources, endpoints, request/response formats, and error handling. The API follows REST principles and uses JSON for payloads.

https://api.gtsense.globetracker.io/

All API requests require authentication using OpenID Connect. You will be provided with the following credentials:

  • client-id: An identifier used by the authentication server to ensure that the client is authorized to make a request on behalf of the user.
  • client-secret: A secret passphrase used by the authentication server to ensure that the client is authorized to make a request on behalf of the user.
  • username: Your unique user ID for authorization.
  • password: The password associated with your username.

To obtain a JWT access token, use the following request:

Terminal window
curl --silent \
https://<client-id>:<client-secret>@keycloak.apps.prod.globetracker.me/auth/realms/gtsense/protocol/openid-connect/token \
-d "grant_type=password&scope=openid+profile+read&username=<username>&password=<password>"

The response will include an access_token (JWT). Include this token in the Authorization header for all API requests:

Terminal window
Authorization: Bearer $TOKEN

The JWT token expires after 20 minutes (see the exp property in the payload).

EntityDescription
AssetAn entity being tracked.
LocationA GPS position, may include heading, etc.
OwnerRegistered owner of the asset or data record.
Sensor dataSensor data from an asset.
Reefer dataReefer data from an asset.
CommandCommand sent to a reefer-connected asset.
ZoneNamed geographical area, which locations can refer to.
SpecificationOperational settings, ranges, and notification settings for assets.
Booking dataBooking data in flexible JSON format.
NotificationAlerts/events raised by settings, ranges, and notifications.

VerbUsage
GETRetrieve a resource
POSTCreate a new resource
PUTReplace an existing resource
PATCHUpdate an existing resource (partial)
DELETEDelete an existing resource

The API uses standard HTTP status codes:

  • 1xx: Informational
  • 2xx: Success (e.g., 200 OK, 201 Created)
  • 3xx: Redirection
  • 4xx: Client Error (e.g., 400 Bad Request, 401 Unauthorized)
  • 5xx: Server Error

Error responses (status code >= 400) return a JSON object describing the problem. Example:

{
"error": "Invalid request",
"message": "The 'name' field is required."
}

  • 1000 requests per hour per API key
  • 10 concurrent requests per API key

Below are the main resources and their entity field definitions. For full endpoint details and example requests, please refer to the Swagger documentation.

Note: All date fields (such as whenCreated, whenUpdated, etc.) are in ISO8601 format.

An entity being tracked, such as a container, trailer, or other asset managed by Globe Tracker.

FieldTypeOptionalDescription
idStringfalseUnique GT Sense assigned asset identifier, never changes. Size: 36.
nameStringfalseUnique owner/customer assigned asset identifier, may change. Size: 255.
disabledBooleantrueShould the GT Sense GUI hide this asset.
noteStringtrueOptional owner/customer note. Size: 255.
tagsStringtrueList of comma separated owner/customer tag words for searching and classification. Size: 255.
ownerIdStringfalseAsset owner identifier. Size: 36.
whenCreatedStringfalseWhen created (ISO8601).
whenUpdatedStringfalseWhen last updated (ISO8601).
[{
"whenCreated" : "2015-01-27T13:27:58.437Z",
"whenUpdated" : "2015-01-29T12:41:42.830Z",
"assetTags" : "REEFER,TK,MP4000,MP4000",
"ownerId" : "c29a854d-b98f-4ecc-ad18-ecfb91025067",
"id" : "89249552-160e-45c0-91e7-ca0c8eb173c0",
"name" : "STRU581950-8"
}, {
"whenCreated" : "2017-06-13T14:38:07.842Z",
"whenUpdated" : "2017-06-13T14:39:03.751Z",
"assetTags" : "REEFER,TK",
"ownerId" : "c29a854d-b98f-4ecc-ad18-ecfb91025067",
"id" : "3f16d4c6-adeb-45e5-a539-4f989ce612ed",
"name" : "ASSET-80049"
}, {
"whenCreated" : "2017-06-13T14:39:52.635Z",
"whenUpdated" : "2020-08-13T00:10:04.125Z",
"assetTags" : "REEFER,CARRIER",
"ownerId" : "c29a854d-b98f-4ecc-ad18-ecfb91025067",
"id" : "85e5ae99-f722-4633-b40e-48eeff445008",
"name" : "ASSET-80050"
}]

Booking data in a flexible JSON format, representing shipment or booking information associated with an asset.

FieldTypeSizeOptionalDescription
nameString50trueThe name of the booking data. The name should be unique within the customer.
ownerIdString36trueUnique owner string identifier. If not provided, GT API set it to current user.
typeStringenumfalseThe type of the booking data. Valid types are as follows: ‘SEABOARD_V1’
jsonDataObjectnatrueThe booking data itself. It should be a valid json.
{
"name": "SPEC-3",
"type": "CUST_V1",
"whenCreated": "2015-01-27T13:27:58.437Z",
"whenUpdated": "2015-01-29T12:41:42.830Z",
"whoCreated": "arnar3@acme.com",
"ownerId": "c29a854d-b98f-4ecc-ad18-ecfb91025067",
"jsonData": {
"OfficeId": "Torshavn",
"BookNbr": 6206344
},
"id": "da1181d0-c7c9-4d75-974e-7d3923357090"
}

A GPS position report, which may include heading, speed, altitude, and associated asset and zone information.

FieldTypeOptionalDescription
idStringfalseUnique GT Sense assigned location identifier, never changes. Size: 20.
ownerIdStringfalseLocation owner identifier. Size: 36.
latitudeNumberfalseLatitude in degrees. Size: -99.999999 to 99.999999
longitudeNumberfalseLongitude in degrees. Size: -99.999999 to 99.999999
altitudeNumbertrueAltitude in meters. Size: -99999.99 to 99999.99
headingNumbertrueHeading in degrees. Size: -999.9 to 999.9
speedNumbertrueSpeed in km/h. -999.999 to 999.999
assetIdStringfalseId of asset generating this location. Size: 36.
whenCreatedStringfalseWhen created. Size: 20.
zoneIdStringtrueComma separated Zone ids. Size: 100.
{
"whenCreated": "2015-02-09T14:11:46.874Z",
"whenUpdated": "2015-03-27T15:46:06.454Z",
"ownerId": "dff711a5-685f-442e-a1ae-a860b541d5e7",
"id": "79b508eb-072f-4a4a-9fa2-0eb5da960c3d",
"name": "ECC-RHU706"
}

A registered owner of an asset or data record, representing a customer or organization in the system.

FieldTypeOptionalDescription
idStringfalseUnique GT Sense assigned owner identifier, never changes. Size: 36.
nameStringfalseUnique owner name. Size: 255
noteStringtrueOwner note. Size: 255.
disabledBooleantrueShould the GT Sense GUI hide this owner. When not shown value is false.
whenCreatedStringfalseWhen created. Size: 20.
whenUpdatedStringfalseWhen last updated. Size: 20.
childIdsArraytrueOptional child owners with visible data. Array with Strings.
ownerIdStringtrueOptional parent owner with data viewing rights. Size: 36.
{
"whenCreated": "2018-03-19T15:20:57.017Z",
"whenUpdated": "2018-03-19T15:37:37.017Z",
"disabled": true,
"note": "Acme18 Shipping Line Inc.",
"name": "Acme18 Inc.",
"ownerId": "dff711a5-685f-442e-a1ae-a860b541d5e7",
"id": "f05de594-fc61-44b2-8301-65d873bbcd8f",
"childIds": ["g05de594-fc61-44b2-8301-65d873bbcd8f"]
}

Sensor data collected from an asset, such as temperature, humidity, acceleration, or other sensor measurements.

FieldTypeOptionalDescription
idStringfalseUnique sensor data identifier.
sensorIdStringfalseId of sensor generating this sensor data. Size: 36.
typeStringfalseType of measurement, one of TEMPERATURE, HUMIDITY, X_ACCELERATION, Y_ACCELERATION, Z_ACCELERATION, FUEL_LEVEL, X_PEAK_ACCELERATION, Y_PEAK_ACCELERATION, Z_PEAK_ACCELERATION, BATTERY_VOLTAGE, EXTERNAL_POWER_VOLTAGE, PRESSURE.
valueNumberfalseMeasurement value. Depending on sensor data it will return string instead.
assetIdStringfalseId of asset generating this sensor data. Size: 36.
whenCreatedStringfalseWhen created. Size: 20.
[
{
"value": 24,
"id": "4",
"whenCreated": "2018-09-01T17:15:08Z",
"sensorId": "ba0e9980-8b2c-4d70-9f9d-baf682d38c5a",
"sensorType": "GTCM",
"ownerId": "c29a854d-b98f-4ecc-ad18-ecfb91025067",
"type": "HUMIDITY",
"assetId": "ba0e9980-8b2c-4d70-9f9d-baf682d38c5a"
},
{
"value": 29.47,
"id": "5",
"whenCreated": "2018-09-01T17:15:08Z",
"sensorId": "ba0e9980-8b2c-4d70-9f9d-baf682d38c5a",
"sensorType": "GTCM",
"ownerId": "c29a854d-b98f-4ecc-ad18-ecfb91025067",
"type": "TEMPERATURE",
"assetId": "ba0e9980-8b2c-4d70-9f9d-baf682d38c5a"
}
]

Data collected from a refrigerated container (reefer), including controller settings, sensor measurements, alerts, and flags.

FieldTypeOptionalDescription
idStringfalseUnique GT Sense assigned reefer data identifier, never changes. Size: 20.
assetIdStringfalseId of asset generating this reefer data. Size: 36.
ownerIdStringfalseReefer data owner identifier. Size: 36.
reeferClassStringtrueClass of reefer controller. Currently one of CR, CR0, CRTT, DK, MH, SC, LD, TK, TKTT
dataObjectfalseThe reefer data. Size: na
whenCreatedStringfalseWhen created. Size: 20.
{
"id": "1",
"whenCreated": "2018-09-01T17:12:24Z",
"ownerId": "dff711a5-685f-442e-a1ae-a860b541d5e7",
"data": {},
"gensetManufacturer": "EMERSON",
"assetId": "a4c6fa3e-e73b-4f49-b5c0-c5db00af2825"
}

A command sent to a reefer-connected asset, such as starting PTI, setting temperature, or other remote actions.

FieldTypeOptionalDescription
idStringfalseUnique command identifier
assetIdStringfalseAssociated asset identifier
typeStringfalseCommand type
parametersObjecttrueCommand parameters
statusStringtrueCommand status
whenCreatedStringfalseWhen created
{
"id": "17",
"whenCreated": "2024-04-17T14:34:15.600Z",
"whoCreated": "GT.development",
"uniqueId": "17",
"command": "StartPti",
"ownerId": "86202B41-F7B6-4256-808F-09FF31FD9554",
"assetId": "79b508eb-072f-4a4a-9fa2-0eb5da960c3d"
}

An event triggered by settings, ranges, or notifications within the GT Sense Platform, such as alerts or status changes.

FieldTypeOptionalDescription
subjectStringfalseSubject of the event.
assetIdStringfalseId of asset generating this event.
severityStringfalseSeverity of event, one of INFO, ALERT.
ownerIdStringfalseEvent owner identifier.
currentDataStringfalseJSON payload containing the current value as a String and whenCreated.
prevDataStringtrueJSON payload containing the previous value as a String and whenCreated.
[
{
"ownerId": "dff711a5-685f-442e-a1ae-a860b541d5e7",
"severity": "INFO",
"subject": "Asset SMLG3648 fuel level has dropped by 23.0000%",
"currentData": {
"value": "52",
"whenCreated": "2022-08-09T14:54:02.000Z"
},
"prevData": {
"value": "75",
"whenCreated": "2022-08-09T14:44:01.000Z"
},
"assetId": "cfd14ab2-a131-r33c-rc9c-ier6bcc9a4f6"
}
]

A named geographical area, such as a port, country, or custom region, which locations and assets can refer to.

FieldTypeOptionalDescription
idStringfalseUnique GT Sense assigned zone identifier, never changes. Size: 20.
ownerIdStringfalseZone owner identifier. Size: 36.
nameStringfalseCustomer specified name of zone. Size: 32.
typeStringtrueZone type. Size: 32.
noteStringtrueA note for the zone. Size: 254.
whenCreatedStringfalseWhen created. Size: 20.
whenUpdatedStringfalseWhen last updated. Size: 20.
{
"name": "PL-GDN",
"id": "z69246196",
"type": "Port in PL",
"whenCreated": "2016-09-13T10:42:25.200Z",
"whenUpdated": "2019-01-18T15:59:07.638Z",
"note": "Note: Port in PL",
"ownerId": "dff711a5-685f-442e-a1ae-a860b541d5e7"
}

Operational settings, ranges, and notification settings for an asset, defining how it should be monitored and managed.

FieldTypeSizeOptionalDescription
idString36falseUnique specification string identifier.
nameString50trueThe name of the specification.
assetIdString36falseUnique asset string identifier.
assetNameString255falseUnique asset name identifier.
ownerIdString36falseUnique owner string identifier.
typeStringenumfalseThe type of the specification. Valid specification type are as follows: ‘REEFER’,‘GENSET’
settingsObjectnatrueThe set points.
rangesObjectnatrueRanges define the minimum and maximum accepted values for sensors, and also when and how often to notify about unacceptable values.
notificationObjectnatrueNotification define when and how often to notify about some specific events.
whoCreatedString36falseWho created the specification.
whenCreatedString20falseWhen the specification was created.
whenUpdatedString20falseWhen the specification was updated.
{
"name": "ACME1351451-20191129-12102",
"type": "REEFER",
"whenCreated": "2024-04-17T14:33:54.031Z",
"whenUpdated": "2024-04-17T14:33:54.031Z",
"whoCreated": "GT.development",
"ownerId": "c29a854d-b98f-4ecc-ad18-ecfb91025067",
"assetName": "STRU581950-8",
"ranges": {
"cargo": {
"sensors": {
"airExchange": [1, 2, 3, 4],
"co2": [5, 6, 7, 8],
"co": [21, 22, 23, 24],
"o2": [9, 10, 11, 12],
"ethylene": [21, 22, 23, 24],
"nitrogen": [4, 5, 10, 20],
"humidity": [13, 14, 15, 16],
"ambientTemperature": [17, 18, 19, 20],
"returnAirTemperature": [2, 18, 23, 24],
"returnAir2Temperature": [12, 22, 23, 24],
"supplyAirTemperature": [21, 22, 23, 24],
"supplyAir2Temperature": [21, 32, 23, 24],
"usda1Temperature": [20, 22, 23, 24],
"usda2Temperature": [11, 22, 23, 24],
"usda3Temperature": [11, 22, 23, 24],
"usda4Temperature": [1, 22, 23, 24]
}
},
"hardware": {
"sensors": {
"batteryVoltage": [90, 100, null, 12],
"compressorTemperature": [9, 10],
"compressorFrequency": [1, 3, 7],
"condenserPressure": [1, 5, null, 7],
"condenserTemperature": [3, 10, 9],
"condenserFanLevel": ["ERROR", "LOW"],
"evaporatorTemperature": [0, 6],
"evaporatorFanLevel": ["OFF", "HIGH"],
"currentA": [1, 2],
"currentB": [1, 2],
"currentC": [1, 2],
"currentTotal": [1, 2],
"defrostTemperature": [55, 78, 5, 10],
"dischargePressure": [12, 33, 1, 2],
"dischargeTemperature": [1, 2],
"engineCoolantTemperature": [1, 2],
"engineRpm": [1, 2],
"fuelLevel": [50, 75],
"heaterValveOpening": [1, 2],
"lineFrequency": [1, 2],
"lineVoltage": [1, 2],
"modemBatteryVoltage": [1, 2],
"suctionPressure": [1, 2],
"suctionTemperature": [80, 102],
"hotGasValveOpening": [50, 75],
"economizerValveOpening": [50, 75],
"expansionValveOpening": [50, 75]
}
}
},
"settings": {
"cargo": {
"settings": {
"co2Setpoint": 5,
"humiditySetpoint": 75,
"o2Setpoint": 20,
"temperatureSetpoint": 260.4
}
}
},
"id": "d0badd97-8032-4472-939a-45846d640682",
"notification": {
"controller": {
"alarm": {
"default": {
"duration": 2,
"frequency": 4
}
},
"power": {
"default": {
"duration": 3,
"frequency": 5
}
},
"ca": {
"default": {
"duration": 0,
"frequency": 5
}
}
},
"controlModule": {
"scheduler": {
"default": {
"duration": 6,
"frequency": 7
}
}
}
},
"assetId": "ba0e9980-8b2c-4d70-9f9d-baf682d38c5a"
}

Alerts and events raised by settings, ranges, and notifications in a Specification, pushed to clients as notifications.

FieldTypeSizeOptionalDescription
idString20falseUnique permanent GT Sense assigned notification identifier.
ownerIdString20falseUnique owner string identifier.
assetIdString20falseUnique asset string identifier.
assetNameString255falseUnique asset name identifier.
whenCreatedString20falseWhen the specification was created.
whenReceivedString20falseWhen notification received on server.
typeString256falseName of notification, or triggering “event”.
specificationIdString256falseUnique specification string identifier.
specificationNameString256trueThe name of the specification. Is optional if not sent in customer Specification
locationLocationnafalseMost recent location to “event” generating notification.
reeferDataReeferDatanafalseReefer status when notification was generated.
assetStateAssetStatenatrueAsset state.
cmDatacmDatanatrueGT Control Module status when notification was generated.
{
"id": "1",
"ownerId": "dff711a5-685f-442e-a1ae-a860b541d5e7",
"assetId": "a4c6fa3e-e73b-4f49-b5c0-c5db00af2825",
"assetName": "GZEU450084-3",
"whenCreated": "2024-04-17T14:33:54.031Z",
"whenReceived": "2024-04-17T14:33:54.031Z",
"type": "ALERT",
"specificationId": "d0badd97-8032-4472-939a-45846d640682",
"specificationName": "ACME1351451-20191129-12102",
"location": {
"id": "z69246196",
"name": "PL-GDN",
"type": "Port in PL",
"whenCreated": "2016-09-13T10:42:25.200Z",
"whenUpdated": "2019-01-18T15:59:07.638Z",
"note": "Note: Port in PL",
"ownerId": "dff711a5-685f-442e-a1ae-a860b541d5e7"
},
"reeferData": {
"id": "1",
"whenCreated": "2018-09-01T17:12:24Z",
"ownerId": "dff711a5-685f-442e-a1ae-a860b541d5e7",
"data": {},
"gensetManufacturer": "EMERSON",
"assetId": "a4c6fa3e-e73b-4f49-b5c0-c5db00af2825"
},
"assetState": {
"powerOffSince": null,
"powerOnSince": "2024-04-17T14:33:54.031Z",
"lastDefrost": null
},
"cmData": {
"deviceId": "GTCM123456",
"serial": "SN1234567890",
"ownerId": "dff711a5-685f-442e-a1ae-a860b541d5e7",
"firmwareVersion": "1.0.0.0",
"configuration": "{...}",
"lastUpdated": "2024-04-17T14:33:54.031Z"
}
}