igloo
Docs / igloohome / Webhooks / Bridge Events

Bridge Events

Bridge devices send webhook notifications for two kinds of events: events the Bridge generates automatically on its own, and events triggered by a job you sent to the Bridge (see Lock Jobs and Bridge Jobs).

All webhook requests are signed — see Webhook Security for how to validate them.

Bridge Automated Events

These events are caused by the Bridge device itself and occur automatically, without user intervention.

Event Type Number Mapping
Job Complete 3
Activity Log Received 5
Bridge Connection 10

Job Complete Event

{
  "payload": {
    "event": {
      "id": "string",
      "type": 3,
      "data": {
        "jobId": "string",
        "jobStatus": 0
      },
      "date": "ISODATE",
      "proxyTransportMethod": 2,
      "proxyId": "string"
    },
    "product": {
      "id": "string",
      "type": 1
    }
  }
}

type is always 3 for Job Complete events. data also carries job-specific fields — see Job Result Payloads. proxyId is the Bridge device ID that relayed the command; product.id is the target lock device ID.

Job Status Codes

Code Status Description
0 Success Job completed successfully
1 Generic Error Job failed due to generic error
2 Operation In Progress Another operation is currently running on the device

Supported Job Types

The following job types trigger Job Complete Event webhooks:

Job Type ID Operation Name Description
1 Lock Engage the lock mechanism
2 Unlock Disengage the lock mechanism
4 Create PIN Add a new custom PIN code to the device
5 Delete PIN Remove an existing custom PIN code
9 Get Battery Level Retrieve current battery percentage
10 Get Status Fetch current lock state and diagnostics
15 Get Logs Get device activity logs

Activity Log Received Event

{
  "payload": {
    "event": {
      "id": "string",
      "type": 5,
      "data": {
        "activityLogs": [
          {
            "logType": 0,
            "entryDate": 0,
            "operationId": 0,
            "keyId": 0,
            "pin": "string",
            "newPin": "string",
            "pinType": 0,
            "value1": 0,
            "value2": 0,
            "value3": 0,
            "value4": 0,
            "value5": 0,
            "time1": 0,
            "time2": 0
          }
        ]
      },
      "date": "ISODATE",
      "proxyTransportMethod": 2,
      "proxyId": "string"
    },
    "product": {
      "id": "string",
      "type": 1
    }
  }
}

activityLogs is an array of lock activity objects. Fields on each activity object other than pin, newPin, pinType, and value1-value5/time1-time2 are always present; those are populated only for the log types that use them.

Every lock activity object has these common fields:

Common Field Description
logType An integer indicating the type of event
entryDate The time since UNIX epoch in seconds that the event occurred
keyId Identifier of the eKey used for guest operations, or 0 if it was an event initiated via a Bluetooth Admin key or via the lock's keypad
operationId An identifier of the Bluetooth command operation that generated this activity log, or undefined if there was no operationId defined for that particular command

Some log types are populated with additional fields:

Log Type Translation Additional Fields Description
11 Bluetooth unlock N/A N/A
13 Bluetooth set time time1 The time the clock was set to
14 Change volume via keypad value1, value2 Previous volume, new volume
15 Change volume via Bluetooth value1, value2 Previous volume, new volume
16 Wrong PIN pin The wrong PIN that was attempted
17 PIN exceeded maximum length pin The PIN that was attempted
18 Unlock with master PIN pin The master PIN
19 Unlock with generated PIN previously used at least once (permanent, duration, weekly etc) pin The PIN used to unlock
20 Use a one-time PIN pin The PIN that was used
21 Use a permanent PIN for the first time pin The PIN that was used
22 Use a duration PIN for the first time pin The PIN that was used
23 Use a weekly PIN for the first time pin The PIN that was used
24 Use a monthly PIN for the first time pin The PIN that was used
25 Use a weekday PIN for the first time pin The PIN that was used
26 Use a weekend PIN for the first time pin The PIN that was used
27 Create a new PIN via Bluetooth pin, time1, time2, pinType The PIN that was used; start time if sent via Bluetooth; end time if sent via Bluetooth; the type of PIN used
28 Change PIN via keypad pin, newPin The original PIN; the new PIN it is changed to
29 Change PIN via Bluetooth pin, newPin, time1, time2, pinType The original PIN; the new PIN, if sent via Bluetooth; start/end time if sent via Bluetooth; the PIN type if sent via Bluetooth
30 Delete PIN via keypad pin The PIN that was deleted
31 Delete PIN via Bluetooth pin The PIN that was deleted
32 Change Master PIN pin, newPin The old master PIN; the new master PIN
33 Change auto-relock via keypad value1, value2 Time of timer autorelock in seconds; time of sensor autorelock in seconds
34 Change auto-relock via Bluetooth value1 Time of sensor autorelock in seconds, or 0 if disabled
35 Change incorrect PIN lockout count via keypad value1, value2 Previous value of incorrect PIN lockout count; new value
36 Change incorrect PIN lockout count via Bluetooth value1, value2 Previous value, or 0 if disabled; new value, or 0 if disabled
37 Bluetooth lock N/A N/A
38 Enable auto-unlock value1, value2 1 if enabled, 0 if disabled; minimum RSSI to unlock when touched, actual RSSI value = value2 + 256
39 Blacklist eKey value3 eKey ID
40 Unblacklist eKey value3 eKey ID
41 Change daylight savings time N/A N/A
42 Add key card value5 Card UID
43 Key card unlock value5 Card UID
44 Delete key card value5 Card UID
45 Set LED brightness value1 Brightness
46 Set relock alarm value1 Time before alarm sounds after opening in seconds, or 0 if disabled
47 Auto-relock lock (after opening and closing the lock) N/A N/A
48 Auto-relock lock (without first opening the lock) N/A N/A
49 Lock via keypad/button N/A N/A
50 Unlock via button N/A N/A
51 Lock with key/thumbturn N/A N/A
52 Unlock with key/thumbturn N/A N/A
53 Attempted break-in N/A N/A
54 Add fingerprint value2 Fingerprint UID
55 Delete fingerprint value2 Fingerprint UID
56 Fingerprint unlock value1, value2 0 if unlock was successful, else a Bluetooth command result code; fingerprint UID (null if unsuccessful)
57 Invalid key card unlock attempt value5 Card UID

Bridge Connection Event

Sent when a Bridge (EB1X) connects to or disconnects from the server. Use it to update device status, trigger alerts, or drive automation when connectivity changes.

{
  "payload": {
    "event": {
      "id": "string",
      "type": 10,
      "data": {
        "isOnline": true
      },
      "date": "ISODATE",
      "proxyTransportMethod": 2
    },
    "product": {
      "id": "string",
      "type": 1
    }
  }
}

type is always 10 for Bridge Connection events. data.isOnline is true when the bridge is online (connected), false when offline (disconnected). product.id is the Bridge device ID.

Bridge Targeted Events

Bridge Targeted Events are sent when a Bridge device processes a job that targets the Bridge itself (see Bridge Jobs).

Event Type Number Mapping
Job Processed 3

Get Device Status

{
  "payload": {
    "event": {
      "id": "string",
      "type": 3,
      "data": {
        "jobId": "string",
        "jobStatus": 0,
        "wifiNetworkStatus": 0,
        "wifiNetworkSsid": "string",
        "wifiNetworkIpaddr": "string",
        "wifiNetworkDns": "string",
        "wifiNetworkChannel": 0,
        "wifiNetworkBand": 0,
        "wifiNetworkRssi": 0,
        "lockRssiList": [0],
        "locksMaxCapacity": 0,
        "locksCurrentAdded": 0
      },
      "date": "ISODATE",
      "proxyTransportMethod": 0
    },
    "product": {
      "id": "string",
      "type": 2
    }
  }
}

Job Status

Job Status Number Mapping
Success 0
Generic failure 1
Another operation is in progress 2

WiFi Network Status

WiFi Network Status Number Mapping
Connected 0
Disconnected/SSID not found/Invalid Password 2
No Internet Connectivity 5