---
title: "Update HVAC Mode"
method: PATCH
path: "/thermostats/{thermostatId}/hvacMode"
tags: ["thermostats"]
---

# Update HVAC Mode

`PATCH /thermostats/{thermostatId}/hvacMode`

## Request

- Base URL: `https://api.sb.ecobee.com/api/v2`
- URL: `https://api.sb.ecobee.com/api/v2/thermostats/{thermostatId}/hvacMode`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://api.sb.ecobee.com/api/v2/token` scopes: `write:thermostat`

Updates HVAC mode setting on the thermostat. The thermostat must have equipment to support the requested HVAC mode, otherwise the update will fail.

## Request body

- HvacModeRequestBody
  - `hvacMode` 'heat' | 'cool' | 'auto' | 'off' | 'auxHeatOnly', required: The HVAC mode on a thermostat. Possible values: auto, auxHeatOnly, cool, heat, off.

## Response `200`

Success

- HvacModeResponse
  - `status` 'success'
  - `data` object
    - `hvacMode` 'heat' | 'cool' | 'auto' | 'off' | 'auxHeatOnly': The HVAC mode on a thermostat. Possible values: auto, auxHeatOnly, cool, heat, off.

## Other responses

- `400`: Bad request
- `401`: Not authenticated
- `403`: Not authorized
- `404`: Not found
- `422`: Validation Failed
- `429`: Too many requests
- `500`: Internal server error
- `default`: Unexpected error

---

[API](https://skmtc.dev/ecobee/apis/ecobee-smartbuildings-public-api.md) - [All operations](https://skmtc.dev/ecobee/apis/ecobee-smartbuildings-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ecobee/apis/ecobee-smartbuildings-public-api/revisions/d78d4fd5e1c6?raw)
