Devices API Reference
API endpoints for managing devices.
Get Devices
https://api.igloohome.co/home/devicesReturns a list of devices paired to the account. Devices include locks, as well as non-lock devices.
| Device Type |
|---|
| Lock |
| Keypad |
| Bridge |
| Fob |
Query Parameters
limitnumber<int32>
Number of objects to return, from 1 to 300. Defaults to 100.- Constraints:
>= 1,<= 300 - Default:
100 - Example:
30
- Constraints:
cursorstring
The pagination cursor.cursoris a string ID that marks your place in the list. For instance, if you make a list request and receive 100 objects, withnextCursorof2sThyA1jii6WmTo3j, your next call can includecursor=2sThyA1jii6WmTo3jin order to fetch the next page of the list.sortstring
Order in which to return objects. Defaults todesc.- Default:
desc - Allowed values:
asc,desc
- Default:
Request Example
Responses
OK
Bad Request
Unauthorized, invalid or expired authorization token
Response
Forbidden, accessToken scope must contain 'igloohomeapi/get-devices'
Internal Server Error
Response body
nextCursorstring
A string pointing to the next page of results. Empty string indicates you reached the end of the list- Example:
2sThyA1jii6WmTo3j
- Example:
payloadarray of object
An array containing the return devicesidstring
Internal batch identifier of the device- Example:
2rqQx4Riasw3Rs6db01
- Example:
typestring
Device Type- Example:
Keypad
- Example:
deviceIdstring
Unique Identifier of the device- Example:
EK1X013f300d
- Example:
deviceNamestring
Name of the device- Example:
My keypad 1
- Example:
batteryLevelinteger
Battery level of the device- Example:
100
- Example:
pairedAtstring<date-time>
Pairing date- Example:
2022-05-30T00:00:00+08:00
- Example:
homeIdarray of string
Associated homes or properties. Populated as full property objects when you passexpand=homeId.- Example:
["2rqQx4Riasw3Rs6db"]
- Example:
linkedDevicesarray of object
Device(s) linked to this device- Example:
[{"type":"Lock"},{"deviceId":"IGP102c1854a"}] idstring
Internal batch identifier of the linked devicetypestringdeviceIdstring
- Example:
Response body
errorstring
Response body
errorstring
No example response recorded for this status code.
Get Devices Supporting AlgoPIN
https://api.igloohome.co/home/devices/support-pinsReturns a list of devices paired to the account that support AlgoPIN codes. Same shape and filters as Get Devices, restricted to AlgoPIN-capable SKUs.
Query Parameters
limitnumber<int32>
Number of objects to return, from 1 to 300. Defaults to 100.- Constraints:
>= 1,<= 300 - Default:
100 - Example:
30
- Constraints:
cursorstring
The pagination cursor.cursoris a string ID that marks your place in the list. For instance, if you make a list request and receive 100 objects, withnextCursorof2sThyA1jii6WmTo3j, your next call can includecursor=2sThyA1jii6WmTo3jin order to fetch the next page of the list.sortstring
Order in which to return objects. Defaults todesc.- Default:
desc - Allowed values:
asc,desc
- Default:
Request Example
Responses
OK
Bad Request. Same validation as [Get Devices](/home/api_devices#get-devices).
Unauthorized, invalid or expired authorization token
Response
Forbidden, accessToken scope must contain 'igloohomeapi/get-devices'
Internal Server Error
Response body
nextCursorstring
A string pointing to the next page of results. Empty string indicates you reached the end of the listpayloadarray of objectidstringtypestringdeviceIdstringdeviceNamestringbatteryLevelintegerpairedAtstring<date-time>homeIdarray of stringlinkedDevicesarray of objectidstringtypestringdeviceIdstring
Response body
errorstring
Response body
errorstring
No example response recorded for this status code.
Get Device Details
https://api.igloohome.co/home/devices/{deviceId}Returns device details.
lockStatus is only populated for a Lock device that is linked to a bridge.
admin_key/lockRef are only populated when the corresponding query params are passed.
Path Parameters
| Parameter | Type | Required |
|---|---|---|
| deviceId | string | Yes |
Request Example
Responses
OK
Unauthorized, invalid or expired authorization token
Response
Forbidden, accessToken scope must contain 'igloohomeapi/get-devices'
'{ message: 'not found device' }'
Conflict. The device's property record is missing a timezone (data integrity guard). '{ message: 'timezone is not found on property' }'
Internal Server Error
Response body
idstring
Internal batch identifier of the device- Example:
2rqQx4Riasw3Rs6db01
- Example:
typestring
Device Type- Example:
Keypad
- Example:
deviceIdstring
Unique Identifier of the device- Example:
EK1X013f300d
- Example:
deviceNamestring
Name of the device- Example:
My keypad 1
- Example:
batteryLevelinteger
Battery level of the device- Example:
100
- Example:
pairedAtstring<date-time>
Pairing date- Example:
2022-05-30T00:00:00+08:00
- Example:
lockStatusstring
Current lock status. Only populated for aLockdevice that is linked to a bridge.- Example:
LOCKED
- Example:
homeIdarray of string
Associated home/property(s)- Example:
["2rqQx4Riasw3Rs6db"]
- Example:
linkedDevicesarray of object
Device(s) linked to this device- Example:
[{"type":"Lock"},{"deviceId":"IGP102c1854a"}] typestringdeviceIdstring
- Example:
lastSyncstring<date-time>
Timestamp of the last activity sync from the deviceadmin_keystring
Obfuscated admin key material. Only returned for G2 devices whenadmin_key=true/1is passed.lockRefstring
Internal database reference of the device. Only returned whenlock_id=true/1is passed.
Response body
errorstring
Response body
messagestring
Response body
messagestring
No example response recorded for this status code.
Configure Device Details
https://api.igloohome.co/home/devices/{deviceId}Configures device settings.
The API rejects batteryLevel with 400 on device SKUs that don't support
battery-level reporting.
Path Parameters
| Parameter | Type | Required |
|---|---|---|
| deviceId | string | Yes |
Body Parameters
batteryLevelinteger<int32>
batteryLevel defines the level of battery detail reported by the lock.nullis accepted and ignored: nothing is updated and200is returned.
Request Example
Responses
Settings updated.
Bad Request
Unauthorized, invalid or expired authorization token
Response
Forbidden, accessToken scope must contain 'igloohomeapi/update-device'
Not Found
Conflict. The device's property record is missing a timezone (data integrity guard). '{ message: 'timezone is not found on property' }'
Unsupported Media Type
Internal Server Error
Response body
messagestring- Example:
Successfully
- Example:
Response body
errorstring
Response body
errorstring
Response body
errorstringmessagestring
Response body
messagestring
No example response recorded for this status code.
Get Device Activity Logs
https://api.igloohome.co/home/devices/{deviceId}/activityReturns a paginated list of activity logs recorded for a device.
Path Parameters
| Parameter | Type | Required |
|---|---|---|
| deviceId | string | Yes |
Query Parameters
startDatestring<date-time>
Only return activity logs on or after this dateendDatestring<date-time>
Only return activity logs up to and including this datelocalestring
Locale for the human-readabledescriptionfield. Must be one of the supported locale codes, otherwise the API returns400. Two of those codes (ko,ru) are accepted but not yet translated. They fall back toeninstead of returning an error.- Default:
en
- Default:
limitnumber<int32>
Number of objects to return, from 1 to 300. Defaults to 100.- Constraints:
>= 1,<= 300 - Default:
100 - Example:
30
- Constraints:
cursorstring
The pagination cursor.cursoris a string ID that marks your place in the list. For instance, if you make a list request and receive 100 objects, withnextCursorof2sThyA1jii6WmTo3j, your next call can includecursor=2sThyA1jii6WmTo3jin order to fetch the next page of the list.sortstring
Order in which to return objects. Defaults todesc.- Default:
desc - Allowed values:
asc,desc
- Default:
Request Example
Responses
OK
Bad Request. Invalid 'locale'/'limit'/'cursor'/'sort'.
Unauthorized, invalid or expired authorization token
Response
Forbidden, accessToken scope must contain 'igloohomeapi/get-device-activity'
'{ message: 'not found device' }' or '{ message: 'not found property' }'
Conflict. The device's property record is missing a timezone (data integrity guard). '{ message: 'timezone is not found on property' }'
Internal Server Error
Response body
nextCursorstring
A string pointing to the next page of results. Empty string indicates you reached the end of the listpayloadarray of object
An array containing activity log entriesactivityTypestringdescriptionstring
Human-readable, locale-translated description of the activityactivityTimeAtstring<date-time>
Local time the activity occurred (alias oflocalActionAt)
Response body
errorstring
Response body
errorstring
Response body
messagestring
Response body
messagestring
No example response recorded for this status code.
Push Device Activity Logs
https://api.igloohome.co/home/devices/{deviceId}/activityIngests raw activity logs synced off a device (e.g. by a bridge or app). Each
item in logsPayload is a JSON-serialized log entry.
Path Parameters
| Parameter | Type | Required |
|---|---|---|
| deviceId | string | Yes |
Body Parameters
logsPayloadarray of string required
Array of JSON-serialized log entry strings, each withlogandbluetoothDeviceNamefields
Request Example
Responses
OK
'{ error: "\"logsPayload\" is required" }'
Unauthorized, invalid or expired authorization token
Response
Forbidden, accessToken scope must contain 'igloohomeapi/store-device-activity'
'{ message: 'not found device' }' or '{ message: 'not found property' }'
Conflict. The device's property record is missing a timezone (data integrity guard). '{ message: 'timezone is not found on property' }'
Unsupported Media Type
Internal Server Error
Response body
messagestring- Example:
Successfully.
- Example:
Response body
errorstring
Response body
errorstring
Response body
messagestring
Response body
messagestring
No example response recorded for this status code.
Get Master PIN
https://api.igloohome.co/home/devices/{deviceId}/masterpinReturns the master pin of the given device. Supports lock and keypad devices only.
| Device Type |
|---|
| Lock |
| Keypad |
Path Parameters
| Parameter | Type | Required |
|---|---|---|
| deviceId | string | Yes |
Request Example
Responses
OK
Unauthorized, invalid or expired authorization token
Response
Forbidden, accessToken scope must contain 'igloohomeapi/get-master-pin'
'{ message: 'not found device' }' or '{ message: 'not found property' }'
Conflict. The device's property record is missing a timezone (data integrity guard). '{ message: 'timezone is not found on property' }'
Internal Server Error
Response body
pinstring
Master pin- Example:
49667198
- Example:
Response body
errorstring
Response body
messagestring
Response body
messagestring
No example response recorded for this status code.