Devices API Reference
API endpoints for managing devices.
List Devices
https://api.igloohome.co/works/devicesQuery Parameters
typestring
Comma-separated, from: Lock, Bridge, Keypad, Fob.searchstring
Case-insensitive substring match against bluetoothDeviceName or name.expandstring
Set topropertyIdto populate full property objects on listingsRef.limitinteger- Constraints:
>= 1,<= 300 - Default:
100
- Constraints:
cursorstringsortstring- Default:
desc - Allowed values:
asc,desc
- Default:
Request Example
Responses
OK.
Query/body validation failure.
Unauthorized, invalid or expired authorization token
Forbidden. One of: (1) the token is valid but lacks the required scope for this endpoint (no body); (2) the user revoked the OAuth client's access ('{error: "The user has revoked access for this application..."}').
Response body
nextCursorstring
Present only if another page exists.payloadarray of objectidstringtypestring- Allowed values:
Lock,Bridge,Keypad,Fob
- Allowed values:
deviceIdstringdeviceNamestringbatteryLevelnumberpairedAtstring<date-time>lockStatusstring
Present only onGET /devices/{id}, and only for a Lock linked to a Bridge. No list endpoint that returns this schema populates it.propertiesarray of objectidstringnamestringtimezonestring
linkedDevicesarray of objectidstringtypestringdeviceIdstringnamestring
linkedAccessoriesarray of objectidstringtypestringdeviceIdstringnamestring
lastSyncstring<date-time>
Response body
errorstring
Response body
errorstring
Response body
errorstring
Response body
errorstring
No example response recorded for this status code.
Example response — 402-account-suspended:
Example response — 402-trial-ended:
No example response recorded for this status code.
Get Device
https://api.igloohome.co/works/devices/{id}Path Parameters
| Parameter | Type | Required |
|---|---|---|
| id | string | Yes |
Request Example
Responses
OK.
Unauthorized, invalid or expired authorization token
Forbidden. One of: (1) the token is valid but lacks the required scope for this endpoint (no body); (2) the user revoked the OAuth client's access ('{error: "The user has revoked access for this application..."}').
Device not found.
Response body
idstringtypestring- Allowed values:
Lock,Bridge,Keypad,Fob
- Allowed values:
deviceIdstringdeviceNamestringbatteryLevelnumberpairedAtstring<date-time>lockStatusstring
Present only onGET /devices/{id}, and only for a Lock linked to a Bridge. No list endpoint that returns this schema populates it.propertiesarray of objectidstringnamestringtimezonestring
linkedDevicesarray of objectidstringtypestringdeviceIdstringnamestring
linkedAccessoriesarray of objectidstringtypestringdeviceIdstringnamestring
lastSyncstring<date-time>
Response body
errorstring
Response body
errorstring
Response body
errorstring
Response body
messagestring
No example response recorded for this status code.
Example response — 402-account-suspended:
Example response — 402-trial-ended:
No example response recorded for this status code.
Get Admin Key
https://api.igloohome.co/works/devices/{id}/admin-keyReturns the device's obfuscated admin key. Supported for G2 devices only. G3 devices keep their admin key encrypted server-side, so this route cannot read it. The response is an obfuscated blob, keyed per device, that you must decrypt client-side.
Path Parameters
| Parameter | Type | Required |
|---|---|---|
| id | string | Yes |
Request Example
Responses
OK.
'unsupported.device.protocol' (not a G2 device), 'device.config.incomplete' (admin_key/password missing), or 'device.gmt_offset.not.configured'.
Unauthorized, invalid or expired authorization token
Forbidden. One of: (1) the token is valid but lacks the required scope for this endpoint (no body); (2) the user revoked the OAuth client's access ('{error: "The user has revoked access for this application..."}').
Device not found.
'{message: "internal.server.error"}'. Uncaught exception.
Response body
payloadstring
Obfuscated blob. Decrypt client-side.
Response body
messagestring
Response body
errorstring
Response body
errorstring
Response body
errorstring
Response body
messagestring
Response body
messagestring
No example response recorded for this status code.
Example response — 402-account-suspended:
Example response — 402-trial-ended:
No example response recorded for this status code.