Data Types
TypeScript definitions for API response objects.Device
Config & Capabilities
config— per-device key-value object defining the device’s active capabilities and operational parameters. Validated against the device type’s config schema (JSON Schema) on every write.capabilities— derived fromconfigat read time. Each device type defines which config keys map to which capability names. Not stored; computed on every API response.commands— available commands for the device’s type.
Notable Capabilities
| Capability | Meaning |
|---|---|
lock | Device has lock hardware and accepts lock/unlock commands (system/geofence and, when allowed, user) |
key_keyless | Device supports key vs keyless mode switching. When present, config.key_keyless_state holds the current mode |
key_keyless is in capabilities, config.key_keyless_state is "key" (physical key only, no remote), "keyless" (remote only, no physical key), or "hybrid" (physical key works and remote also allowed). Show Lock/Unlock in UI when state is "keyless" or "hybrid". Devices with lock but without key_keyless have lock hardware for system/geofence use only.
Config Schema
Each device type defines a config schema (standard JSON Schema,additionalProperties: false) that describes all possible config keys, their types, constraints, and defaults.