---
title: "Set the HVAC Mode"
method: POST
path: "/thermostats/set_hvac_mode"
tags: ["/thermostats"]
---

# Set the HVAC Mode

`POST /thermostats/set_hvac_mode`

Sets the [HVAC mode](/capability-guides/thermostats/configure-current-climate-settings) for a specified [thermostat](/capability-guides/thermostats).

## Request body

- union
  - object
    - `device_id` string, uuid, required — ID of the thermostat device for which you want to set the HVAC mode.
    - `hvac_mode_setting` 'off', required
  - object
    - `cooling_set_point_celsius` number, float — [Cooling set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C that you want to set for the thermostat. You must set one of the `cooling_set_point` parameters.
    - `cooling_set_point_fahrenheit` number, float — [Cooling set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F that you want to set for the thermostat. You must set one of the `cooling_set_point` parameters.
    - `device_id` string, uuid, required — ID of the thermostat device for which you want to set the HVAC mode.
    - `hvac_mode_setting` 'cool', required
  - object
    - `device_id` string, uuid, required — ID of the thermostat device for which you want to set the HVAC mode.
    - `heating_set_point_celsius` number, float — [Heating set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C that you want to set for the thermostat. You must set one of the `heating_set_point` parameters.
    - `heating_set_point_fahrenheit` number, float — [Heating set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F that you want to set for the thermostat. You must set one of the `heating_set_point` parameters.
    - `hvac_mode_setting` 'heat', required
  - object
    - `cooling_set_point_celsius` number, float — [Cooling set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C that you want to set for the thermostat. You must set one of the `cooling_set_point` parameters.
    - `cooling_set_point_fahrenheit` number, float — [Cooling set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F that you want to set for the thermostat. You must set one of the `cooling_set_point` parameters.
    - `device_id` string, uuid, required — ID of the thermostat device for which you want to set the HVAC mode.
    - `heating_set_point_celsius` number, float — [Heating set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C that you want to set for the thermostat. You must set one of the `heating_set_point` parameters.
    - `heating_set_point_fahrenheit` number, float — [Heating set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F that you want to set for the thermostat. You must set one of the `heating_set_point` parameters.
    - `hvac_mode_setting` 'heat_cool', required
  - object
    - `device_id` string, uuid, required — ID of the thermostat device for which you want to set the HVAC mode.
    - `hvac_mode_setting` 'eco', required

## Response `200`

OK

- object
  - `action_attempt` object, required — Tracks the progress of this operation. Poll using the action_attempt_id. See the [action_attempt object](/api/action_attempts/object).
    - `action_attempt_id` string, uuid, required — ID of the action attempt.
    - `action_type` 'SET_HVAC_MODE', required — Type of action being tracked.
    - `status` 'pending' | 'success' | 'error', required — Current status of the action.
    - `result` object, nullable — Result payload on success.
    - `error` object, nullable — Error details on failure.
      - `type` string
      - `message` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.net/seam/apis/seam-connect.md) · [All operations](https://skmtc.net/seam/apis/seam-connect/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/seam/seam-connect/revisions/00c35395ce12/schema)
