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
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
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.
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
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 |