Skip to main content
POST
/
v1
/
devices
/
hvac
/
{id}
/
user_preferences
/
set
set user preference
curl --request POST \
  --url https://api.example.com/v1/devices/hvac/{id}/user_preferences/set \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "scheduleBlocks": [
    {
      "startTimeMinutes": 720,
      "endTimeMinutes": 720,
      "targetTemp": 75,
      "targetCoolSetpoint": 75,
      "targetHeatSetpoint": 75,
      "maxTemp": 75,
      "minTemp": 75,
      "daysOfWeek": [
        3
      ],
      "mode": "OFF",
      "scheduleType": "RECURRING"
    }
  ],
  "enabled": true,
  "defaultMode": "OFF",
  "tempUnits": "F",
  "defaultCoolSetpoint": 75,
  "defaultHeatSetpoint": 75,
  "currentTemp": 75,
  "targetCoolSetpoint": 75,
  "targetHeatSetpoint": 75,
  "maxTemp": 75,
  "minTemp": 75,
  "weekNumbers": [
    26
  ]
}
'

Headers

x-ws-api-key
string

WattShift API Key

Path Parameters

id
string
required

Body

application/json
name
string
required

The human-readable name for the schedule

scheduleBlocks
object[]
required

0 or more blocks for this schedule to follow. If no blocks are added, the default temp will be followed

enabled
boolean
required

Whether this schedule should be enabled

defaultMode
enum<string>
required

The default mode for the HVAC unit.

Available options:
OFF,
HEAT,
COOL,
AUTO
tempUnits
enum<string>
required

The units for temperature.

Available options:
F,
C
defaultCoolSetpoint
number | null
required

The default temperature for the hvac unit. This must be set unless the default mode is OFF or there are schedule blocks added

Required range: -50 < x < 200
defaultHeatSetpoint
number | null
required

The default temperature for the hvac unit. This must be set unless the default mode is OFF or there are schedule blocks added

Required range: -50 < x < 200
currentTemp
number | null
required
Required range: -50 < x < 200
targetCoolSetpoint
number | null
required
Required range: -50 < x < 200
targetHeatSetpoint
number | null
required
Required range: -50 < x < 200
maxTemp
number | null
required

The max default temperature

Required range: -50 < x < 200
minTemp
number | null
required

The min default temperature

Required range: -50 < x < 200
weekNumbers
integer[]

The week numbers to apply this schedule. For example, [0,1,2,...,51] applies to all 52 weeks of the year. Leave empty to also apply to all weeks.

Required range: 0 < x < 52

Response

201 - undefined