> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seam.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Climate Preset

> Creates a [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats).



## OpenAPI

````yaml /openapi.json post /thermostats/create_climate_preset
openapi: 3.0.0
info:
  title: Seam Connect
  version: 1.0.0
servers:
  - url: https://connect.getseam.com
security: []
tags:
  - description: access_codes
    name: /access_codes
  - description: acs
    name: /acs
  - description: action_attempts
    name: /action_attempts
  - description: client_sessions
    name: /client_sessions
  - description: connected_accounts
    name: /connected_accounts
  - description: connect_webviews
    name: /connect_webviews
  - description: devices
    name: /devices
  - description: events
    name: /events
  - description: health
    name: /health
  - description: locks
    name: /locks
  - description: networks
    name: /networks
  - description: noise_sensors
    name: /noise_sensors
  - description: phones
    name: /phones
  - description: thermostats
    name: /thermostats
  - description: user_identities
    name: /user_identities
  - description: webhooks
    name: /webhooks
  - description: workspaces
    name: /workspaces
paths:
  /thermostats/create_climate_preset:
    post:
      tags:
        - /thermostats
      summary: Create a Climate Preset
      description: >-
        Creates a [climate
        preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
        for a specified
        [thermostat](https://docs.seam.co/capability-guides/thermostats).
      operationId: thermostatsCreateClimatePresetPost
      requestBody:
        content:
          application/json:
            schema:
              properties:
                climate_preset_key:
                  description: >-
                    Unique key to identify the [climate
                    preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                  type: string
                climate_preset_mode:
                  description: |2-

                        The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
                      
                  enum:
                    - home
                    - away
                    - wake
                    - sleep
                    - occupied
                    - unoccupied
                  type: string
                cooling_set_point_celsius:
                  description: >-
                    Temperature to which the thermostat should cool (in °C). See
                    also [Set
                    Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                  format: float
                  type: number
                cooling_set_point_fahrenheit:
                  description: >-
                    Temperature to which the thermostat should cool (in °F). See
                    also [Set
                    Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                  format: float
                  type: number
                device_id:
                  description: >-
                    ID of the thermostat device for which you want create a
                    climate preset.
                  format: uuid
                  type: string
                ecobee_metadata:
                  description: |2-

                        Metadata specific to the Ecobee climate, if applicable.
                      
                  properties:
                    climate_ref:
                      description: Reference to the Ecobee climate, if applicable.
                      type: string
                    is_optimized:
                      description: Indicates if the climate preset is optimized by Ecobee.
                      type: boolean
                    owner:
                      description: >-
                        Indicates whether the climate preset is owned by the
                        user or the system.
                      enum:
                        - user
                        - system
                      type: string
                  required:
                    - climate_ref
                    - is_optimized
                    - owner
                  type: object
                fan_mode_setting:
                  description: >-
                    Desired [fan mode
                    setting](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings),
                    such as `on`, `auto`, or `circulate`.
                  enum:
                    - auto
                    - 'on'
                    - circulate
                  type: string
                heating_set_point_celsius:
                  description: >-
                    Temperature to which the thermostat should heat (in °C). See
                    also [Set
                    Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                  format: float
                  type: number
                heating_set_point_fahrenheit:
                  description: >-
                    Temperature to which the thermostat should heat (in °F). See
                    also [Set
                    Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                  format: float
                  type: number
                hvac_mode_setting:
                  description: >-
                    Desired [HVAC
                    mode](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode)
                    setting, such as `heat`, `cool`, `heat_cool`, or `off`.
                  enum:
                    - 'off'
                    - heat
                    - cool
                    - heat_cool
                    - eco
                  type: string
                manual_override_allowed:
                  default: true
                  deprecated: true
                  description: >-
                    Indicates whether a person at the thermostat or using the
                    API can change the thermostat's settings.
                  type: boolean
                  x-deprecated: Use 'thermostat_schedule.is_override_allowed'
                name:
                  default: null
                  description: >-
                    User-friendly name to identify the [climate
                    preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                  nullable: true
                  type: string
              required:
                - device_id
                - climate_preset_key
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                type: object
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      security:
        - client_session: []
        - pat_with_workspace: []
        - console_session_with_workspace: []
        - client_session_with_customer: []
        - api_key: []
      x-codeSamples:
        - lang: javascript
          label: Seam SDK
          source: |-
            await seam.thermostats.createClimatePreset({
              device_id: "ba9b816d-c255-46b9-a16d-971e6f535dd3",
              manual_override_allowed: true,
              climate_preset_key: "Occupied",
              name: "Occupied",
              fan_mode_setting: "auto",
              hvac_mode_setting: "heat_cool",
              cooling_set_point_celsius: 25,
              heating_set_point_celsius: 20,
            });

            /*
            // void
            */
        - lang: bash
          label: cURL
          source: >-
            curl --include --request POST
            "https://connect.getseam.com/thermostats/create_climate_preset" \
              --header "Authorization: Bearer $SEAM_API_KEY" \
              --json @- <<EOF
            {
              "device_id": "ba9b816d-c255-46b9-a16d-971e6f535dd3",
              "manual_override_allowed": true,
              "climate_preset_key": "Occupied",
              "name": "Occupied",
              "fan_mode_setting": "auto",
              "hvac_mode_setting": "heat_cool",
              "cooling_set_point_celsius": 25,
              "heating_set_point_celsius": 20
            }

            EOF


            # Response:

            # {}
        - lang: python
          label: Seam SDK
          source: |-
            seam.thermostats.create_climate_preset(
                device_id="ba9b816d-c255-46b9-a16d-971e6f535dd3",
                manual_override_allowed=true,
                climate_preset_key="Occupied",
                name="Occupied",
                fan_mode_setting="auto",
                hvac_mode_setting="heat_cool",
                cooling_set_point_celsius=25,
                heating_set_point_celsius=20,
            )

            # None
        - lang: ruby
          label: Seam SDK
          source: |-
            seam.thermostats.create_climate_preset(
              device_id: "ba9b816d-c255-46b9-a16d-971e6f535dd3",
              manual_override_allowed: true,
              climate_preset_key: "Occupied",
              name: "Occupied",
              fan_mode_setting: "auto",
              hvac_mode_setting: "heat_cool",
              cooling_set_point_celsius: 25,
              heating_set_point_celsius: 20,
            )

            # => nil
        - lang: php
          label: Seam SDK
          source: |-
            $seam->thermostats->create_climate_preset(
                device_id: "ba9b816d-c255-46b9-a16d-971e6f535dd3",
                manual_override_allowed: true,
                climate_preset_key: "Occupied",
                name: "Occupied",
                fan_mode_setting: "auto",
                hvac_mode_setting: "heat_cool",
                cooling_set_point_celsius: 25,
                heating_set_point_celsius: 20,
            );
        - lang: bash
          label: Seam CLI
          source: >-
            seam thermostats create-climate-preset --device_id
            "ba9b816d-c255-46b9-a16d-971e6f535dd3" --manual_override_allowed
            true --climate_preset_key "Occupied" --name "Occupied"
            --fan_mode_setting "auto" --hvac_mode_setting "heat_cool"
            --cooling_set_point_celsius 25 --heating_set_point_celsius 20


            # {}
components:
  securitySchemes:
    client_session:
      bearerFormat: Client Session Token
      scheme: bearer
      type: http
    pat_with_workspace:
      bearerFormat: API Token
      scheme: bearer
      type: http
    console_session_with_workspace:
      bearerFormat: Console Session Token
      scheme: bearer
      type: http
    client_session_with_customer:
      bearerFormat: Customer Client Session Token
      scheme: bearer
      type: http
    api_key:
      bearerFormat: API Key
      scheme: bearer
      type: http

````