> ## 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 the Thermostat Weekly Program

> Updates the thermostat weekly program for a thermostat device. To configure a weekly program, specify the ID of the daily program that you want to use for each day of the week. When you update a weekly program, the set of programs that you specify overwrites any previous weekly program for the thermostat.



## OpenAPI

````yaml /openapi.json post /thermostats/update_weekly_program
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/update_weekly_program:
    post:
      tags:
        - /thermostats
      summary: Update the Thermostat Weekly Program
      description: >-
        Updates the thermostat weekly program for a thermostat device. To
        configure a weekly program, specify the ID of the daily program that you
        want to use for each day of the week. When you update a weekly program,
        the set of programs that you specify overwrites any previous weekly
        program for the thermostat.
      operationId: thermostatsUpdateWeeklyProgramPost
      requestBody:
        content:
          application/json:
            schema:
              properties:
                device_id:
                  description: >-
                    ID of the thermostat device for which you want to update the
                    weekly program.
                  format: uuid
                  type: string
                friday_program_id:
                  description: ID of the thermostat daily program to run on Fridays.
                  format: uuid
                  nullable: true
                  type: string
                monday_program_id:
                  description: ID of the thermostat daily program to run on Mondays.
                  format: uuid
                  nullable: true
                  type: string
                saturday_program_id:
                  description: ID of the thermostat daily program to run on Saturdays.
                  format: uuid
                  nullable: true
                  type: string
                sunday_program_id:
                  description: ID of the thermostat daily program to run on Sundays.
                  format: uuid
                  nullable: true
                  type: string
                thursday_program_id:
                  description: ID of the thermostat daily program to run on Thursdays.
                  format: uuid
                  nullable: true
                  type: string
                tuesday_program_id:
                  description: ID of the thermostat daily program to run on Tuesdays.
                  format: uuid
                  nullable: true
                  type: string
                wednesday_program_id:
                  description: ID of the thermostat daily program to run on Wednesdays.
                  format: uuid
                  nullable: true
                  type: string
              required:
                - device_id
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  action_attempt:
                    type: object
                    description: >-
                      Tracks the progress of this operation. Poll using the
                      action_attempt_id.
                    properties:
                      action_attempt_id:
                        type: string
                        format: uuid
                        description: ID of the action attempt.
                      action_type:
                        type: string
                        enum:
                          - PUSH_THERMOSTAT_PROGRAMS
                        description: Type of action being tracked.
                      status:
                        type: string
                        enum:
                          - pending
                          - success
                          - error
                        description: Current status of the action.
                      result:
                        type: object
                        nullable: true
                        description: Result payload on success.
                      error:
                        type: object
                        nullable: true
                        description: Error details on failure.
                        properties:
                          type:
                            type: string
                          message:
                            type: string
                    required:
                      - action_attempt_id
                      - action_type
                      - status
                  ok:
                    type: boolean
                required:
                  - action_attempt
                  - 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.updateWeeklyProgram({
              device_id: "076546e8-966c-47dd-831b-8d98413bf070",
              monday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              tuesday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              wednesday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              thursday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              friday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              saturday_program_id: "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28",
              sunday_program_id: "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28",
            });

            /*
            {
              "action_attempt_id": "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
              "action_type": "PUSH_THERMOSTAT_PROGRAMS",
              "error": null,
              "result": {},
              "status": "success"
            }
            */
        - lang: bash
          label: cURL
          source: >-
            curl --include --request POST
            "https://connect.getseam.com/thermostats/update_weekly_program" \
              --header "Authorization: Bearer $SEAM_API_KEY" \
              --json @- <<EOF
            {
              "device_id": "076546e8-966c-47dd-831b-8d98413bf070",
              "monday_program_id": "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              "tuesday_program_id": "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              "wednesday_program_id": "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              "thursday_program_id": "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              "friday_program_id": "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              "saturday_program_id": "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28",
              "sunday_program_id": "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28"
            }

            EOF


            # Response:

            # {

            #   "action_attempt": {

            #     "action_attempt_id": "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",

            #     "action_type": "PUSH_THERMOSTAT_PROGRAMS",

            #     "error": null,

            #     "result": {},

            #     "status": "success"

            #   }

            # }
        - lang: python
          label: Seam SDK
          source: |-
            seam.thermostats.update_weekly_program(
                device_id="076546e8-966c-47dd-831b-8d98413bf070",
                monday_program_id="a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                tuesday_program_id="a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                wednesday_program_id="a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                thursday_program_id="a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                friday_program_id="a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                saturday_program_id="3bf5a788-caf8-40c5-a7d5-78b72e9b3a28",
                sunday_program_id="3bf5a788-caf8-40c5-a7d5-78b72e9b3a28",
            )

            # ActionAttempt(
                action_attempt_id="a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
                action_type="PUSH_THERMOSTAT_PROGRAMS",
                error=None,
                result={},
                status="success",
            )
        - lang: ruby
          label: Seam SDK
          source: |-
            seam.thermostats.update_weekly_program(
              device_id: "076546e8-966c-47dd-831b-8d98413bf070",
              monday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              tuesday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              wednesday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              thursday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              friday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
              saturday_program_id: "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28",
              sunday_program_id: "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28",
            )

            # => {
              "action_attempt_id" => "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
              "action_type" => "PUSH_THERMOSTAT_PROGRAMS",
              "error" => nil,
              "result" => {
              },
              "status" => "success",
            }
        - lang: php
          label: Seam SDK
          source: |-
            $seam->thermostats->update_weekly_program(
                device_id: "076546e8-966c-47dd-831b-8d98413bf070",
                monday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                tuesday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                wednesday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                thursday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                friday_program_id: "a36dccaa-aeb9-47da-bf1d-43a08ba5c870",
                saturday_program_id: "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28",
                sunday_program_id: "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28",
            );

            // [
                "action_attempt_id" => "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
                "action_type" => "PUSH_THERMOSTAT_PROGRAMS",
                "error" => null,
                "result" => [],
                "status" => "success",
            ];
        - lang: bash
          label: Seam CLI
          source: >-
            seam thermostats update-weekly-program --device_id
            "076546e8-966c-47dd-831b-8d98413bf070" --monday_program_id
            "a36dccaa-aeb9-47da-bf1d-43a08ba5c870" --tuesday_program_id
            "a36dccaa-aeb9-47da-bf1d-43a08ba5c870" --wednesday_program_id
            "a36dccaa-aeb9-47da-bf1d-43a08ba5c870" --thursday_program_id
            "a36dccaa-aeb9-47da-bf1d-43a08ba5c870" --friday_program_id
            "a36dccaa-aeb9-47da-bf1d-43a08ba5c870" --saturday_program_id
            "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28" --sunday_program_id
            "3bf5a788-caf8-40c5-a7d5-78b72e9b3a28"


            # {

            #   "action_attempt_id": "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",

            #   "action_type": "PUSH_THERMOSTAT_PROGRAMS",

            #   "error": null,

            #   "result": {},

            #   "status": "success"

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

````