> ## 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.

# Update a Thermostat Schedule

> Updates a specified [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).



## OpenAPI

````yaml /openapi.json post /thermostats/schedules/update
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/schedules/update:
    post:
      tags:
        - /thermostats
      summary: Update a Thermostat Schedule
      description: >-
        Updates a specified [thermostat
        schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
      operationId: thermostatsSchedulesUpdatePost
      requestBody:
        content:
          application/json:
            schema:
              properties:
                climate_preset_key:
                  description: >-
                    Key of the [climate
                    preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                    to use for the thermostat schedule.
                  type: string
                ends_at:
                  description: >-
                    Date and time at which the thermostat schedule ends, in [ISO
                    8601](https://www.iso.org/iso-8601-date-and-time-format.html)
                    format.
                  type: string
                is_override_allowed:
                  description: >-
                    Indicates whether a person at the thermostat or using the
                    API can change the thermostat's settings while the schedule
                    is active. See also [Specifying Manual Override
                    Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
                  type: boolean
                max_override_period_minutes:
                  description: >-
                    Number of minutes for which a person at the thermostat or
                    using the API can change the thermostat's settings after the
                    activation of the scheduled climate preset. See also
                    [Specifying Manual Override
                    Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
                  exclusiveMinimum: true
                  minimum: 0
                  nullable: true
                  type: integer
                name:
                  description: Name of the thermostat schedule.
                  type: string
                starts_at:
                  description: >-
                    Date and time at which the thermostat schedule starts, in
                    [ISO
                    8601](https://www.iso.org/iso-8601-date-and-time-format.html)
                    format.
                  type: string
                thermostat_schedule_id:
                  description: ID of the thermostat schedule that you want to update.
                  format: uuid
                  type: string
              required:
                - thermostat_schedule_id
              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: []
        - api_key: []
      x-codeSamples:
        - lang: javascript
          label: Seam SDK
          source: |-
            await seam.thermostats.schedules.update({
              thermostat_schedule_id: "f29b8f4d-ef6e-4219-96e5-16fb2151ec6c",
              name: "Jane's Stay",
              climate_preset_key: "Occupied",
              max_override_period_minutes: 90,
              starts_at: "2025-06-20T03:24:25.000Z",
              ends_at: "2025-06-22T06:04:21.000Z",
              is_override_allowed: true,
            });

            /*
            // void
            */
        - lang: bash
          label: cURL
          source: >-
            curl --include --request POST
            "https://connect.getseam.com/thermostats/schedules/update" \
              --header "Authorization: Bearer $SEAM_API_KEY" \
              --json @- <<EOF
            {
              "thermostat_schedule_id": "f29b8f4d-ef6e-4219-96e5-16fb2151ec6c",
              "name": "Jane's Stay",
              "climate_preset_key": "Occupied",
              "max_override_period_minutes": 90,
              "starts_at": "2025-06-20T03:24:25.000Z",
              "ends_at": "2025-06-22T06:04:21.000Z",
              "is_override_allowed": true
            }

            EOF


            # Response:

            # {}
        - lang: python
          label: Seam SDK
          source: |-
            seam.thermostats.schedules.update(
                thermostat_schedule_id="f29b8f4d-ef6e-4219-96e5-16fb2151ec6c",
                name="Jane's Stay",
                climate_preset_key="Occupied",
                max_override_period_minutes=90,
                starts_at="2025-06-20T03:24:25.000Z",
                ends_at="2025-06-22T06:04:21.000Z",
                is_override_allowed=true,
            )

            # None
        - lang: ruby
          label: Seam SDK
          source: |-
            seam.thermostats.schedules.update(
              thermostat_schedule_id: "f29b8f4d-ef6e-4219-96e5-16fb2151ec6c",
              name: "Jane's Stay",
              climate_preset_key: "Occupied",
              max_override_period_minutes: 90,
              starts_at: "2025-06-20T03:24:25.000Z",
              ends_at: "2025-06-22T06:04:21.000Z",
              is_override_allowed: true,
            )

            # => nil
        - lang: php
          label: Seam SDK
          source: |-
            $seam->thermostats->schedules->update(
                thermostat_schedule_id: "f29b8f4d-ef6e-4219-96e5-16fb2151ec6c",
                name: "Jane's Stay",
                climate_preset_key: "Occupied",
                max_override_period_minutes: 90,
                starts_at: "2025-06-20T03:24:25.000Z",
                ends_at: "2025-06-22T06:04:21.000Z",
                is_override_allowed: true,
            );
        - lang: bash
          label: Seam CLI
          source: >-
            seam thermostats schedules update --thermostat_schedule_id
            "f29b8f4d-ef6e-4219-96e5-16fb2151ec6c" --name "Jane's Stay"
            --climate_preset_key "Occupied" --max_override_period_minutes 90
            --starts_at "2025-06-20T03:24:25.000Z" --ends_at
            "2025-06-22T06:04:21.000Z" --is_override_allowed true


            # {}
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
    api_key:
      bearerFormat: API Key
      scheme: bearer
      type: http

````