Skip to main content

Get a List of Events

This API call returns a specified number of the most recent events of all devices within a group.
The number of events must be specified using the limit parameter (max: 10.000).

info

Events are retained for 32 days maximum.

tip

Use Forwarding to get real time events instead of polling the API


Authentication​

Type: Basic Authentication
Credentials: Email + Password


Method & Endpoint​

Method: GET
Endpoint: https://tracking.ilockit.bike/api/reports/events


Query Parameters​

KeyValue
limit(integer) e.g. 5000
groupId(integer) e.g. 4

HTTP Headers​

accept: application/json

Responses​

  • 200 OK: Request successful
  • 400 Bad Request: Missing or malformed input
  • 401 Unauthorized: Authentication failed

Event Types​

The following events can be triggered:

  • deviceOnline: Device came online
  • deviceUnknown: Device went offline
  • lockInfo: Lock battery and status info
  • lockStatus: Lock state change (e.g., open/close)
  • error: Invalid command or execution failed
  • acknowledge: Command accepted and executed
  • fwInfo: Information about device firmware
  • requestFwPacket: Device requests OTA update package
  • unknown: Unknown command received from the lock

Additional event types for command tracking:

  • command: Command sent via API
  • commandExpired: Command expired before execution
  • wrongPayload: Command contained invalid data
tip

📝 For PRO locks and GPS locks (with firmware version 34.0 and above), event responses may contain the eventId of the original request — allowing correlation between sent commands and resulting events.

Error events​

If there is something wrong with a received command, the lock sends error messages to the server. The event has the type error and the errorCode gives details about the status event, as seen in this example:

[
{
"id": 25758,
"attributes": {
"errorCode": "wrongLength"
},
"deviceId": 274,
"type": "error",
"serverTime": "2020-12-16T14:32:22.000+0000",
"positionId": 0,
"geofenceId": 0,
"maintenanceId": 0,
"commandId": 0
}
]

The following errors can occur:

  • wrongCommand: Unknown command received
  • wrongCrc CRC: doesn’t fit to received message
  • wrongLength: Wrong message size received
  • authFailed: Authentication failed (e.g. locking command)

Example Response​

Device Online Event​

[
{
"id": 20912,
"attributes": {},
"deviceId": 64443,
"type": "deviceOnline",
"serverTime": "2020-04-20T10:04:54.000+0000",
"positionId": 0,
"geofenceId": 0,
"maintenanceId": 0,
"commandId": 0
}
]

Lock Info Status Package​

[
{
"id": 189141899,
"attributes": {
"batteryLevel": 59,
"lockState": 0,
"firmwareVersion": 2.5,
"charging": 0,
"theftMode": 0,
"alarmArmed": 1,
"alarmSettings": 2,
"soundSettings": 0,
"bootloaderVersion": 3,
"lockStateChain": 0,
"eventId": 34480
},
"deviceId": 30055,
"type": "lockInfo",
"serverTime": "2025-07-29T03:40:14.000+0000",
"positionId": 0,
"geofenceId": 0,
"maintenanceId": 0,
"commandId": 0
}
]

Attributes

  • batteryLevel: Value in percentage 0 - 100%
  • lockState: Current locking status 0 - open, 1 - closed, 2 - undefined
  • firmwareVersion: Firmware version installed on the lock
  • charging: Is the lock currently being charged 0 - false, 1 - true
  • theftMode: Is theftMode activated 0 - false, 1 - true
  • alarmArmed: Is the alarm armed 0 - false, 1 - true
  • alarmSettings: The current alarm setting.
  • soundSettings: The current sound setting.
  • bootloaderVersion: Bootloader version installed on the lock
  • lockStateChain: Current locking status of the chain 0 - open, 1 closed
  • eventId: Corresponding event ID if the event was trigged by a command, otherwise 0
info

Depending on the device and firmware version not all attributes are available in the status package

Lock Status Event​

A lockStatus event is sent by the lock whenever its state changes, e.g. when it is opened or closed or when an alarm is triggered. The statusCode attribute describes what happened.

[
{
"id": 189142310,
"attributes": {
"statusCode": "closedApp"
},
"deviceId": 30055,
"type": "lockStatus",
"serverTime": "2025-07-29T08:15:34.000+0000",
"positionId": 0,
"geofenceId": 0,
"maintenanceId": 0,
"commandId": 0
}
]

Attributes

  • statusCode: The status reported by the lock (see table below)
info

lockStatus events never contain an eventId. The eventId only links a response to a command sent from the server to the lock. A status event is initiated by the lock itself, so it has no command to refer to.

Status Codes​

The status codes apply to sharing locks only.

statusCodeDescription
openedAppLock was opened via the app (Bluetooth)
closedAppLock was closed via the app (Bluetooth)
openedGsmLock was opened via a cloud command
closedGsmLock was closed via a cloud command
openedButtonLock was opened with the button on the lock (proximity unlock)
closedButtonLock was closed with the button on the lock
openedCodeLock was opened by entering the color code
openedUartLock was opened via the UART interface
closedUartLock was closed via the UART interface
closedChainThe chain was closed
closeBlockedThe bolt was blocked while closing
openBlockedThe bolt was blocked while opening
lockMovedThe lock was moved and couldn't close
alarmThe alarm was triggered
loadCompleteCharging is complete
trackAllTracking mode switched to continuous tracking
trackLpwTracking mode switched to low power tracking
gsmUpdateSuccessfulOTA Firmware update was successful
gsmUpdateFailedOTA Firmware update failed

tip

If you want to correlate a specific event with a previously sent command, store the eventId returned in the command response. Use this ID to match later events.