Download OpenAPI specification:Download
The public facing Parsyl API
This endpoint serves two purposes. It either sends a One Time Password (OTP) to an email address or phone, or exchanges a client ID and secret pair for an access token. In the first case, the OTP must be exchanged for an access token by calling the token exchange endpoint below. If a client ID and secret are used, no further authentication is required.
The login request
locale | string Enum: "en" "fr" The language to use for the emailed one time password. |
redirectTo | string For internal use only |
string The email address to send a one time password to. |
{- "locale": "en",
- "redirectTo": "string",
- "email": "string"
}
{- "access_token": "string",
- "expires_in": 0,
- "sends": 0,
- "maxSends": 0,
- "retryAfter": 0
}
This endpoint will either exchange a One Time Password (OTP) for an access token, or exchange an expired access token and refresh token pair for a new access token.
refresh | boolean An optional parameter to indicate whether a refresh token should be issued along with the access token |
The login request
token | string The one time password. |
string The email address this one time password was sent to. |
{- "token": "string",
- "email": "string"
}
{- "accessToken": "string",
- "refreshToken": "string"
}
Obtain the list of all shipments
companyId required | any The ID of the company |
limit | any The limit on devices to return |
offset | any The current query offset |
Authorization required | any Authorization JWT token |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "goods": "string",
- "status": "pending",
- "start": 0,
- "stop": 0,
- "autoGenerated": true,
- "origin": {
- "id": "string"
}, - "destination": {
- "id": "string"
}, - "insuredValue": {
- "value": 0,
- "currency": "USD",
- "units": "cents"
}, - "devices": [
- {
- "id": "string",
- "deviceId": "string",
- "niceId": "string",
- "type": "string",
- "label": "string",
- "tags": [
- "string"
], - "firmwareVersion": "string",
- "softDeviceVersion": "string",
- "bootLoaderVersion": "string",
- "batteryCapacityMAH": 0,
- "batteryVoltageMV": 0,
- "batteryDescription": "string",
- "storageCapacityKB": 0,
- "storageDescription": "string",
- "active": true,
- "lifecycle": "string",
- "lastUpload": 0,
- "lastDataUpload": 0,
- "latestSensorData": 0,
- "companyId": "string",
- "companyName": "string",
- "containerId": "string",
- "containerName": "string",
- "associatedAt": 0,
- "latestTemperatureExcursion": 0,
- "latestHumidityExcursion": 0,
- "location": "string",
- "containerAssociationTime": 0,
- "containerDisassociationTime": 0,
- "containerPathId": "string"
}
], - "excursions": {
- "shipmentCount": 0,
- "duration": 0,
- "temperature": {
- "duration": 0,
- "shipmentCount": 0,
- "excursionCount": 0
}, - "humidity": {
- "duration": 0,
- "shipmentCount": 0,
- "excursionCount": 0
}
}
}
]
Create a shipment
companyId required | any The ID of the company |
Authorization required | any Authorization JWT token |
The shipment definition
name | string The name of this shipment. Can be any string. |
description | string A description for this shipment. Can be any string. |
goods | string A description of the contents of this shipment. Can be any string. |
status | string Enum: "pending" "in-transit" "complete" The current status of this shipment. |
start | integer <int64> The start time of this shipment. The time is in Unix Timestamp milliseconds. |
stop | integer <int64> The stop time of this shipment. The time is in Unix Timestamp milliseconds. |
object The identifier (UUID) of the origin waypoint. | |
object The identifier (UUID) of the destination waypoint. | |
object (InsuredValue) | |
Array of objects |
{- "name": "string",
- "description": "string",
- "goods": "string",
- "status": "pending",
- "start": 0,
- "stop": 0,
- "origin": {
- "id": "string"
}, - "destination": {
- "id": "string"
}, - "insuredValue": {
- "value": 0,
- "currency": "USD",
- "units": "cents"
}, - "devices": [
- {
- "deviceId": "string"
}
]
}
{- "id": "string",
- "name": "string",
- "description": "string",
- "goods": "string",
- "status": "pending",
- "start": 0,
- "stop": 0,
- "autoGenerated": true,
- "origin": {
- "id": "string"
}, - "destination": {
- "id": "string"
}, - "insuredValue": {
- "value": 0,
- "currency": "USD",
- "units": "cents"
}, - "devices": [
- {
- "id": "string",
- "deviceId": "string",
- "niceId": "string",
- "type": "string",
- "label": "string",
- "tags": [
- "string"
], - "firmwareVersion": "string",
- "softDeviceVersion": "string",
- "bootLoaderVersion": "string",
- "batteryCapacityMAH": 0,
- "batteryVoltageMV": 0,
- "batteryDescription": "string",
- "storageCapacityKB": 0,
- "storageDescription": "string",
- "active": true,
- "lifecycle": "string",
- "lastUpload": 0,
- "lastDataUpload": 0,
- "latestSensorData": 0,
- "companyId": "string",
- "companyName": "string",
- "containerId": "string",
- "containerName": "string",
- "associatedAt": 0,
- "latestTemperatureExcursion": 0,
- "latestHumidityExcursion": 0,
- "location": "string",
- "containerAssociationTime": 0,
- "containerDisassociationTime": 0,
- "containerPathId": "string"
}
], - "excursions": {
- "shipmentCount": 0,
- "duration": 0,
- "temperature": {
- "duration": 0,
- "shipmentCount": 0,
- "excursionCount": 0
}, - "humidity": {
- "duration": 0,
- "shipmentCount": 0,
- "excursionCount": 0
}
}
}
Update a shipment
companyId required | any The company ID |
shipmentId required | any The ID of the shipment to update |
Authorization required | any Authorization JWT token |
The shipment definition
name | string The name of this shipment. Can be any string. |
description | string A description for this shipment. Can be any string. |
goods | string A description of the contents of this shipment. Can be any string. |
status | string Enum: "pending" "in-transit" "complete" The current status of this shipment. |
start | integer <int64> The start time of this shipment. The time is in Unix Timestamp milliseconds. |
stop | integer <int64> The stop time of this shipment. The time is in Unix Timestamp milliseconds. |
object The identifier (UUID) of the origin waypoint. | |
object The identifier (UUID) of the destination waypoint. | |
object (InsuredValue) | |
Array of objects |
{- "name": "string",
- "description": "string",
- "goods": "string",
- "status": "pending",
- "start": 0,
- "stop": 0,
- "origin": {
- "id": "string"
}, - "destination": {
- "id": "string"
}, - "insuredValue": {
- "value": 0,
- "currency": "USD",
- "units": "cents"
}, - "devices": [
- {
- "deviceId": "string"
}
]
}
{- "id": "string",
- "name": "string",
- "description": "string",
- "goods": "string",
- "status": "pending",
- "start": 0,
- "stop": 0,
- "autoGenerated": true,
- "origin": {
- "id": "string"
}, - "destination": {
- "id": "string"
}, - "insuredValue": {
- "value": 0,
- "currency": "USD",
- "units": "cents"
}, - "devices": [
- {
- "id": "string",
- "deviceId": "string",
- "niceId": "string",
- "type": "string",
- "label": "string",
- "tags": [
- "string"
], - "firmwareVersion": "string",
- "softDeviceVersion": "string",
- "bootLoaderVersion": "string",
- "batteryCapacityMAH": 0,
- "batteryVoltageMV": 0,
- "batteryDescription": "string",
- "storageCapacityKB": 0,
- "storageDescription": "string",
- "active": true,
- "lifecycle": "string",
- "lastUpload": 0,
- "lastDataUpload": 0,
- "latestSensorData": 0,
- "companyId": "string",
- "companyName": "string",
- "containerId": "string",
- "containerName": "string",
- "associatedAt": 0,
- "latestTemperatureExcursion": 0,
- "latestHumidityExcursion": 0,
- "location": "string",
- "containerAssociationTime": 0,
- "containerDisassociationTime": 0,
- "containerPathId": "string"
}
], - "excursions": {
- "shipmentCount": 0,
- "duration": 0,
- "temperature": {
- "duration": 0,
- "shipmentCount": 0,
- "excursionCount": 0
}, - "humidity": {
- "duration": 0,
- "shipmentCount": 0,
- "excursionCount": 0
}
}
}
Get a specific shipment and its details
shipmentId required | any The shipment ID |
Authorization required | any Authorization JWT token |
{- "id": "string",
- "name": "string",
- "description": "string",
- "goods": "string",
- "status": "pending",
- "start": 0,
- "stop": 0,
- "autoGenerated": true,
- "origin": {
- "id": "string"
}, - "destination": {
- "id": "string"
}, - "insuredValue": {
- "value": 0,
- "currency": "USD",
- "units": "cents"
}, - "devices": [
- {
- "id": "string",
- "deviceId": "string",
- "niceId": "string",
- "type": "string",
- "label": "string",
- "tags": [
- "string"
], - "firmwareVersion": "string",
- "softDeviceVersion": "string",
- "bootLoaderVersion": "string",
- "batteryCapacityMAH": 0,
- "batteryVoltageMV": 0,
- "batteryDescription": "string",
- "storageCapacityKB": 0,
- "storageDescription": "string",
- "active": true,
- "lifecycle": "string",
- "lastUpload": 0,
- "lastDataUpload": 0,
- "latestSensorData": 0,
- "companyId": "string",
- "companyName": "string",
- "containerId": "string",
- "containerName": "string",
- "associatedAt": 0,
- "latestTemperatureExcursion": 0,
- "latestHumidityExcursion": 0,
- "location": "string",
- "containerAssociationTime": 0,
- "containerDisassociationTime": 0,
- "containerPathId": "string"
}
], - "excursions": {
- "shipmentCount": 0,
- "duration": 0,
- "temperature": {
- "duration": 0,
- "shipmentCount": 0,
- "excursionCount": 0
}, - "humidity": {
- "duration": 0,
- "shipmentCount": 0,
- "excursionCount": 0
}
}
}
Get all waypoints associated with a company
companyId required | any The ID of the company |
related | any If 'false' don't include the company's related waypoints |
Authorization required | any Authorization JWT token |
[- {
- "id": "string",
- "name": "string",
- "timezone": "string",
- "customName": "string",
- "location": {
- "latitude": 0,
- "longitude": 0
}
}
]
Create a waypoint
companyId required | any The ID of the company |
Authorization required | any Authorization JWT token |
The waypoint definition
name | string The name of this waypoint. Can be any string. |
timezone | string The timezone associated with this waypoint. |
customName | string An alternate name of this waypoint. Can be any string. |
object The location of this waypoint |
{- "name": "string",
- "timezone": "string",
- "customName": "string",
- "location": {
- "latitude": 0,
- "longitude": 0
}
}
{- "id": "string",
- "name": "string",
- "timezone": "string",
- "customName": "string",
- "location": {
- "latitude": 0,
- "longitude": 0
}
}
Get a specific waypoint and its details.
companyId required | any The ID of the company |
waypointId required | any The ID of the waypoint |
Authorization required | any Authorization JWT token |
{- "id": "string",
- "name": "string",
- "timezone": "string",
- "customName": "string",
- "location": {
- "latitude": 0,
- "longitude": 0
}
}
Update a waypoint
companyId required | any The ID of the company |
waypointId required | any The ID of the waypoint |
Authorization required | any Authorization JWT token |
The waypoint definition
name | string The name of this waypoint. Can be any string. |
timezone | string The timezone associated with this waypoint. |
customName | string An alternate name of this waypoint. Can be any string. |
object The location of this waypoint |
{- "name": "string",
- "timezone": "string",
- "customName": "string",
- "location": {
- "latitude": 0,
- "longitude": 0
}
}
{- "id": "string",
- "name": "string",
- "timezone": "string",
- "customName": "string",
- "location": {
- "latitude": 0,
- "longitude": 0
}
}
Parse a Trek advertisement
advertisement required | any Advertisement data as a hex string |
Authorization required | any Authorization JWT token |
{- "deviceId": "string",
- "profileId": "string",
- "ageOfShipmentEnd": {
- "value": 0,
- "units": "string"
}, - "ageOfShipmentStart": {
- "value": 0,
- "units": "string"
}, - "latestTemperature": 0,
- "latestHumidity": 0,
- "dataReady": true,
- "epochUnset": true,
- "button": true,
- "shockEventSeverity": 0,
- "tempUnderSeverity": 0,
- "tempOverSeverity": 0,
- "humidityUnderSeverity": 0,
- "humidityOverSeverity": 0,
- "recordingState": "string",
- "switchTempFailsafeActive": true,
- "selfTestFailed": true,
- "modeSwitch": true,
- "minutesSinceLastRecordingPeriodStarted": 0,
- "minutesSinceLastRecordingPeriodStopped": 0,
- "minutesUntilRecordingStarts": 0,
- "minutesUntilRecordingPeriodStarts": 0,
- "minutesUntilRecordingPeriodStops": 0,
- "minutesSinceCurrentRecordingPeriodStarted": 0,
- "minutesUntilCurrentRecordingPeriodStops": 0
}