---
updatedAt: 2026-09-22T17:37:21.000Z
agentTools:
  projectIndex: https://docs.sb.ecobee.com/llms.txt
---

# Update Comfort Setting

Updates a comfort setting for a thermostat

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "description": "API for interacting with the SmartBuildings product.",
    "version": "2.0.0",
    "title": "ecobee SmartBuildings Public API",
    "termsOfService": "https://sb.ecobee.com/terms-and-policies",
    "contact": {
      "name": "ecobee SmartBuildings",
      "email": "smartbuildings-dev@ecobee.com",
      "url": "https://sb.ecobee.com"
    },
    "license": {
      "name": "ISC",
      "url": "https://www.isc.org/licenses/"
    }
  },
  "security": [
    {
      "smartbuildings_auth": []
    }
  ],
  "tags": [
    {
      "name": "thermostats",
      "description": "thermostat related items"
    }
  ],
  "paths": {
    "/thermostats/{thermostatId}/comfortSettings/{comfortSettingRef}": {
      "parameters": [
        {
          "name": "thermostatId",
          "in": "path",
          "description": "The unique identifier for a thermostat. ID will match the serial number on the physical thermostat.",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/thermostatId"
          }
        },
        {
          "name": "comfortSettingRef",
          "in": "path",
          "description": "The unique identifier for a particular comfort setting.",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "patch": {
        "summary": "Update Comfort Setting",
        "description": "Updates a comfort setting for a thermostat",
        "operationId": "updateThermostatComfortSettings",
        "tags": [
          "thermostats"
        ],
        "security": [
          {
            "smartbuildings_auth": [
              "read:thermostat",
              "write:thermostat"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "description": "The display name for the climate. Must be unique.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 12,
                    "pattern": "^[a-zA-Z0-9]*$"
                  },
                  "setPoint": {
                    "$ref": "#/components/schemas/setPoint",
                    "description": "The desiredHeat and desiredCool values for your setPoint."
                  },
                  "heatFan": {
                    "$ref": "#/components/schemas/fanHoldStatus",
                    "description": "The heating fan mode."
                  },
                  "coolFan": {
                    "$ref": "#/components/schemas/fanHoldStatus",
                    "description": "The cooling fan mode."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/thermostatComfortSetting"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/baseErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/baseErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Not authorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/baseErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/baseErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/baseFailResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/baseErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/baseErrorResponse"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error"
          }
        }
      }
    }
  },
  "externalDocs": {
    "description": "Online Documentation",
    "url": "https://docs.sb.ecobee.com/"
  },
  "components": {
    "securitySchemes": {
      "smartbuildings_auth": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api.sb.ecobee.com/api/v2/token",
            "scopes": {
              "create:building": "Create a new building",
              "create:thermostat": "Register a new thermostat",
              "delete:building": "Deletes a building",
              "delete:thermostat": "Unregister a thermostat",
              "read:building": "Read settings of a building",
              "read:buildings": "Read a list of buildings",
              "read:thermostat": "Read settings/status of a thermostat",
              "read:thermostats": "Read a list of thermostats",
              "write:building": "Update settings on a building",
              "write:tenantmode": "Ability to put a thermostat in and out of resident mode",
              "write:thermostat": "Update settings on a thermostat"
            }
          }
        }
      }
    },
    "schemas": {
      "baseFailResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "fail"
            ]
          },
          "data": {
            "type": "object"
          }
        }
      },
      "baseErrorResponse": {
        "type": "object",
        "required": [
          "status",
          "message"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "error"
            ]
          },
          "message": {
            "type": "object"
          },
          "code": {
            "type": "integer"
          },
          "data": {
            "type": "object"
          }
        }
      },
      "fanHoldStatus": {
        "type": "string",
        "enum": [
          "on",
          "auto"
        ]
      },
      "setPoint": {
        "type": "object",
        "properties": {
          "desiredCool": {
            "$ref": "#/components/schemas/temperature"
          },
          "desiredHeat": {
            "$ref": "#/components/schemas/temperature"
          }
        }
      },
      "temperature": {
        "type": "number",
        "format": "float",
        "multipleOf": 0.01,
        "minimum": -459.67,
        "maximum": 500
      },
      "thermostatComfortSetting": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success"
            ]
          },
          "heatFan": {
            "$ref": "#/components/schemas/fanHoldStatus"
          },
          "coolFan": {
            "$ref": "#/components/schemas/fanHoldStatus"
          },
          "setpoint": {
            "$ref": "#/components/schemas/setPoint"
          },
          "name": {
            "type": "string"
          },
          "comfortSettingRef": {
            "type": "string"
          }
        }
      },
      "thermostatId": {
        "type": "string",
        "description": "The unique identifier for a thermostat. The ID will match the serial number on the physical thermostat.",
        "minLength": 1,
        "pattern": "^\\d+$"
      }
    }
  },
  "servers": [
    {
      "url": "https://api.sb.ecobee.com/api/v2"
    }
  ]
}
```