Overview
Returns the complete current state for a single device, including temperatures, HVAC state, capabilities, and availability.Endpoint
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
serial | string | Yes | Device serial number |
Response
Success (200 OK)
Response Fields
| Field | Type | Description |
|---|---|---|
serial | string | Device serial number |
api_key | string | Device API key (same as serial for self-hosted) |
is_available | boolean | Whether the device is currently reachable |
last_seen | string | null | ISO 8601 timestamp of last device activity |
name | string | Device display name |
current_temperature | number | null | Ambient temperature in °C |
target_temperature | number | null | Target setpoint in °C (single-mode) |
target_temperature_high | number | null | Target high in °C (heat-cool range mode) |
target_temperature_low | number | null | Target low in °C (heat-cool range mode) |
humidity | number | null | Current relative humidity (%) |
target_humidity | number | null | Target humidity (%) |
target_humidity_enabled | boolean | Whether humidity control is active |
mode | string | null | Active HVAC mode (heat, cool, range, off, emergency) |
hvac | object | Current HVAC equipment runtime states |
hvac.heater | boolean | Heater running |
hvac.ac | boolean | AC running |
hvac.fan | boolean | Fan running |
hvac.aux_heat | boolean | Auxiliary heat running |
fan_timer_active | boolean | Whether fan timer is active |
fan_timer_timeout | number | Fan timer expiry (Unix seconds) |
eco_temperatures | object | Eco mode temperature bounds |
eco_temperatures.high | number | null | Eco upper bound in °C |
eco_temperatures.low | number | null | Eco lower bound in °C |
is_online | boolean | Whether the device self-reports as online |
has_leaf | boolean | Nest Leaf indicator |
software_version | string | null | Firmware version string |
temperature_scale | string | "C" or "F" (display preference) |
capabilities | object | Equipment capabilities |
capabilities.can_heat | boolean | Device has heating wired |
capabilities.can_cool | boolean | Device has cooling wired |
capabilities.has_fan | boolean | Device has a fan |
capabilities.has_emer_heat | boolean | Device has emergency heat |
eco_mode | string | null | Eco mode state ("schedule", "manual-eco", "auto-eco") |
time_to_target | number | null | Minutes until target temperature reached |
learning_mode | boolean | null | Whether learning is enabled |
backplate_temperature | number | null | Backplate sensor temperature in °C |
structure_id | string | null | Structure ID this device belongs to |
away | boolean | Away mode flag |
schedule_mode | string | null | Active schedule mode ("HEAT", "COOL", "RANGE") |
Error (400 Bad Request)
Error (404 Not Found)
Example
Next Steps
POST /command
Control the device
GET /api/events
Subscribe to live state changes