Skip to main content

Overview

Returns the device’s stored weekly temperature schedule.

Endpoint

GET http://your-server:8082/api/schedule?serial={serial}

Query Parameters

ParameterTypeRequiredDescription
serialstringYesDevice serial number

Response

Device Has a Schedule (200 OK)

{
  "serial": "02AB01AC012345678",
  "schedule": {
    "ver": 2,
    "name": "",
    "schedule_mode": "HEAT",
    "days": {
      "0": [
        {"type": "HEAT", "time": 21600, "temp": 18.0, "entry_type": "setpoint"},
        {"type": "HEAT", "time": 28800, "temp": 21.0, "entry_type": "setpoint"},
        {"type": "HEAT", "time": 64800, "temp": 19.5, "entry_type": "setpoint"}
      ],
      "1": [
        {"type": "HEAT", "time": 25200, "temp": 20.0, "entry_type": "setpoint"}
      ],
      "5": [
        {"type": "HEAT", "time": 28800, "temp": 21.5, "entry_type": "setpoint"}
      ],
      "6": [
        {"type": "HEAT", "time": 28800, "temp": 21.5, "entry_type": "setpoint"}
      ]
    }
  },
  "object_revision": 12,
  "object_timestamp": 1743508800000
}

No Schedule Yet (200 OK)

{
  "serial": "02AB01AC012345678",
  "schedule": null
}

Response Fields

FieldTypeDescription
serialstringDevice serial
scheduleobject | nullSchedule object, or null if no schedule stored
schedule.vernumberSchedule version (always 2)
schedule.schedule_modestring"HEAT", "COOL", or "RANGE"
schedule.daysobjectDay-keyed setpoints (see below)
object_revisionnumberBucket revision
object_timestampnumberLast update timestamp (ms)

Schedule Day Keys

Day keys are strings "0" through "6", where Monday = "0" and Sunday = "6":
KeyDay
"0"Monday
"1"Tuesday
"2"Wednesday
"3"Thursday
"4"Friday
"5"Saturday
"6"Sunday
Days not present in the days object are considered to have no scheduled changes.

Setpoint Fields

FieldTypeDescription
typestring"HEAT", "COOL", or "RANGE"
timenumberSeconds from midnight (0–86399). E.g., 21600 = 6:00 AM
tempnumberTarget temperature in °C (for HEAT/COOL modes)
temp-minnumberMinimum temperature in °C (RANGE mode only)
temp-maxnumberMaximum temperature in °C (RANGE mode only)
entry_typestring"setpoint" (informational)
All temperatures in the schedule are in Celsius, regardless of the thermostat’s display scale.

Error (400 Bad Request)

{"error": "Serial parameter required"}

Example

curl "http://your-server:8082/api/schedule?serial=02AB01AC012345678"

POST /command (set_schedule)

Push a new schedule to the device

Nest Protocol Schedules

Deep dive on schedule format and behavior