Download OpenAPI specification:
Welcome to the Trackonomy Core Services API documentation. This comprehensive API provides real-time asset tracking, device management, and messaging capabilities for enterprise customers.
All API endpoints require JWT Bearer token authentication. Include your token in the Authorization header:
Authorization: Bearer <your-jwt-token>
To obtain an access token, make a POST request to the Auth0 OAuth endpoint:
curl --request POST \
--url https://application-core-services-dev.us.auth0.com/oauth/token \
--header 'Content-Type: application/json' \
--data '{
"client_id": "customer_client_id",
"audience": "application_audience",
"grant_type": "password",
"username": "customer@trackonomysystems.com",
"password": "customer_password"
}'
Response:
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 86400
}
Use the access_token from the response in the Authorization header for all API requests.
Most endpoints require the following headers:
customer_id: Your customer identifierauthorized_groups: Your authorized group for access controlcorrelation_id: Optional request correlation ID for trackingRetrieves the latest location event data for a specific asset (AWB). Returns detailed information about the asset's current location, event type, and timestamp.
| asset_id required | string Example: Asset Barcode Asset identifier to fetch location data for |
| event | string Example: event=sensor Optional event type filter. Use "sensor" to get sensor-specific data |
| customer_id required | string Example: Unique customer UUID Customer identifier for the request |
| authorized_groups required | string Example: Unique customer sub-group UUID Authorized groups for access control |
| correlation_id | string Example: UUID Optional correlation ID for request tracking |
{- "version": "1.0.0",
- "uuid": "a51799fa-4765-4f9c-9460-2d44fc2fe27f",
- "vendor_id": "c59f7130-e0b7-4aff-ac6e-a97dcfbd9222",
- "assets": [
- {
- "trk_asset_id": "EXAMPLE BARCODE",
- "vendor_asset_id": "EXAMLE ID",
- "event_type": "location",
- "timestamp": 1730813898,
- "sensors": [
- {
- "type": "ambient_temp",
- "data": 19,
- "units": "°C"
}, - {
- "type": "probe_temp",
- "data": -3,
- "units": "°C"
}, - {
- "type": "shock",
- "data": 2.3,
- "units": "g"
}, - {
- "type": "humidity",
- "data": 28,
- "units": "%"
}, - {
- "type": "pressure",
- "data": 101325,
- "units": "Pa"
}, - {
- "type": "light",
- "data": 34,
- "units": "lx"
}
], - "lat": 33.6388667,
- "lon": -84.41425556,
- "location_detailed": "214 Devcon Dr",
- "location": "San Jose"
}
]
}Decodes a BLE packet from a single device and returns sensor data including temperature, battery, shock events, and other telemetry information.
| mac_id required | string Example: Trackonomy device macid Device MAC address |
| customer_id required | string Example: Unique customer UUID Customer identifier |
| authorized_groups required | string Example: Unique customer sub-group UUID Authorized groups for access control |
| product_id required | string Example: Unique Trackonomy device identifier Product identifier |
| ble_packet required | string Example: Encoded Trackonomy device data BLE packet data to decode |
| scan_time required | string Example: Event time Scan timestamp |
{- "qr_code": "TRK123456789",
- "cts": 1730813898,
- "ts": 1730813898,
- "bat": 3.2,
- "temp": 22.5,
- "over_temp": 35,
- "over_temp_ts": 1730813800,
- "shock": 2.5,
- "shock_ts": 1730813800,
- "shock_count": 3,
- "fw_ver": "1.2.3"
}Processes multiple BLE packets from different devices in a single request. Ideal for bulk operations and batch processing.
| customer_id required | string Example: Unique customer UUID Customer identifier |
| authorized_groups required | string Example: Unique customer sub-group UUID Authorized groups for access control |
| mac_id required | string |
| ble_packet required | string |
| product_id required | string |
| scan_time required | string |
[- {
- "mac_id": "A1B2C3D4E5F6",
- "ble_packet": "XXXXXXXXXX",
- "product_id": "example-device",
- "scan_time": "1730813898"
}, - {
- "mac_id": "A1B2C3D4E5F6",
- "ble_packet": "YYYYYYYYYYYY",
- "product_id": "example-device",
- "scan_time": "1730813899"
}
][- {
- "mac_id": "A1B2C3D4E5F6",
- "qr_code": "TRK123456789",
- "cts": 1730813898,
- "ts": 1730813898,
- "bat": 3.2,
- "temp": 22.5,
- "error": "Invalid BLE packet"
}
]Processes external messages including device patches and manifest data. Supports different message types for various data processing needs.
| customer_id required | string Example: Unique customer UUID Customer identifier |
| authorized_groups required | string Example: Unique customer sub-group UUID Authorized groups for access control |
| message_type required | string Enum: "DEVICE_DATA" "MANIFEST_DATA" "CARGOIQ" Example: DEVICE_DATA Type of message to process |
| message_type | string Enum: "DEVICE_DATA" "MANIFEST_DATA" "CARGOIQ" |
| data | object Message data payload |
{- "message_type": "MANIFEST_DATA",
- "data": {
- "asset_barcode": "EXAMPLE BARCODE",
- "shipped_date": 1755907016,
- "shipment_id": "EXAMPLE SHIPMENT ID",
- "container_id": "EXAMPLE CONTAINER ID"
}
}{- "message": "Successfully processed the message",
- "code": 201
}