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

# Get Devices Settings

> Get the settings of a specific device or group of devices of a user.



## OpenAPI

````yaml /api-docs/supplier-control/openapi-thermal-control.json get /v1/devices/settings
openapi: 3.1.0
info:
  title: NOX Energy API - Thermal Control
  description: >
    # Thermal Control API Documentation


    This documentation shows only the endpoints available to thermal control
    users.


    ## Authentication


    1. Get your API key from [NOX Energy](mailto:support@nox.energy).

    2. Include the API key in your API calls with the header: `x-api-key:
    YOUR_API_KEY`.


    ## Access Level


    This documentation is specifically for **thermal control users** who have
    access to these endpoints.


    Base URL: [https://api.nox.energy](https://api.nox.energy)
  version: 1.0.0
servers:
  - url: https://api.nox.energy
    description: Production Server
security:
  - ApiKeyAuth: []
tags:
  - name: Asset Info
    description: API to get basic information about your assets.
  - name: Device Consumption
    description: API to get consumption data of your devices.
  - name: Thermal Control
    description: API for thermal control specific endpoints.
  - name: User Management
    description: API endpoints to manage users and their data.
paths:
  /v1/devices/settings:
    get:
      tags:
        - User Management
      summary: Get Devices Settings
      description: Get the settings of a specific device or group of devices of a user.
      operationId: get_devices_settings_v1_devices_settings_get
      parameters:
        - name: device_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >

              The ID of the device to filter on. If not provided, all devices
              are returned.
            title: Device Id
          description: >

            The ID of the device to filter on. If not provided, all devices are
            returned.
        - name: user_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >

              The ID of the user to filter on. If not provided, all users are
              returned.
            title: User Id
          description: >

            The ID of the user to filter on. If not provided, all users are
            returned.
      responses:
        '200':
          description: Successful response for get settings endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesGetSettingsResponse'
              example:
                data:
                  - device_id: device_id_123
                    room:
                      temperature_lower_bound: 1.5
                      temperature_upper_bound: 1.5
                      preferred_temperature: 21
                      schedule_enabled: true
                      temperature_control_mode: auto
                    dhw:
                      temperature_upper_bound: 50
                      temperature_lower_bound: 40
                    optimization_settings:
                      pv_self_consumption: true
                      dynamic_tariff: true
                      flex_trading: false
                      imbalance_optimization: false
                    updated_at: '2026-04-17T09:27:09.224000+00:00'
                  - device_id: device_id_456
                    room:
                      temperature_lower_bound: 1.5
                      temperature_upper_bound: 1.5
                      preferred_temperature: 21
                      schedule_enabled: true
                    dhw:
                      temperature_upper_bound: 50
                      temperature_lower_bound: 40
                    optimization_settings:
                      pv_self_consumption: true
                      dynamic_tariff: true
                      flex_trading: false
                      imbalance_optimization: false
                    updated_at: '2026-04-17T09:27:09.224000+00:00'
                meta:
                  energy_supplier: Energy Supplier A
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    DevicesGetSettingsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DevicesGetSettingsRequest'
          type: array
          title: Data
          description: List of device settings
        meta:
          $ref: '#/components/schemas/DevicesGetSettingsMetadata'
          description: Metadata related to the device settings response
      type: object
      required:
        - data
        - meta
      title: DevicesGetSettingsResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DevicesGetSettingsRequest:
      properties:
        device_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Device Id
          description: Device ID to update settings for
        room:
          anyOf:
            - $ref: '#/components/schemas/RoomSettings'
            - type: 'null'
          description: Room temperature control settings
        dhw:
          anyOf:
            - $ref: '#/components/schemas/DHWSettings'
            - type: 'null'
          description: Domestic hot water settings
        optimization_settings:
          anyOf:
            - $ref: '#/components/schemas/OptimizationSettings-Output'
            - type: 'null'
          description: >-
            Optimization settings for flex trading, dynamic tariff and PV
            self-consumption
        updated_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Updated At
          description: Timestamp of the last update of the settings in ISO format
      additionalProperties: false
      type: object
      title: DevicesGetSettingsRequest
    DevicesGetSettingsMetadata:
      properties:
        energy_supplier:
          anyOf:
            - type: string
            - type: 'null'
          title: Energy Supplier
          description: Energy supplier name
        manufacturer:
          anyOf:
            - type: string
            - type: 'null'
          title: Manufacturer
          description: Device manufacturer name
      type: object
      title: DevicesGetSettingsMetadata
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    RoomSettings:
      properties:
        temperature_lower_bound:
          anyOf:
            - anyOf:
                - type: number
                - type: integer
              ge: 0
              le: 10
            - type: 'null'
          title: Temperature Lower Bound
          description: Lower temperature bound in Celsius
        temperature_upper_bound:
          anyOf:
            - anyOf:
                - type: number
                - type: integer
              ge: 0
              le: 10
            - type: 'null'
          title: Temperature Upper Bound
          description: Upper temperature bound in Celsius
        preferred_temperature:
          anyOf:
            - anyOf:
                - type: number
                - type: integer
              ge: 0
              le: 30
            - type: 'null'
          title: Preferred Temperature
          description: Preferred room temperature in Celsius
        schedule_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Schedule Enabled
          description: >-
            If `True`, follow the schedule of the manufacturer settings within
            their app. If `False`, ignore the schedule and follow the prefered
            temperature or the auto detected preferred temperature.
        temperature_control_mode:
          anyOf:
            - $ref: '#/components/schemas/TemperatureControlMode'
            - type: 'null'
          description: >-
            Temperature control mode to determine if you only want heating or
            cooling or both (auto) or none of both (off). If auto is chosen, our
            system will decide if cooling is necessary based on outside
            temperature and upper comfort bounds.
      type: object
      title: RoomSettings
    DHWSettings:
      properties:
        temperature_lower_bound:
          anyOf:
            - anyOf:
                - type: number
                - type: integer
              ge: 30
              le: 80
            - type: 'null'
          title: Temperature Lower Bound
          description: Lower DHW temperature bound in Celsius
        temperature_upper_bound:
          anyOf:
            - anyOf:
                - type: number
                - type: integer
              ge: 30
              le: 80
            - type: 'null'
          title: Temperature Upper Bound
          description: Upper DHW temperature bound in Celsius
      type: object
      title: DHWSettings
    OptimizationSettings-Output:
      properties:
        pv_self_consumption:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Pv Self Consumption
          description: Enable/disable PV self-consumption optimization
        dynamic_tariff:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Dynamic Tariff
          description: Enable/disable dynamic tariff optimization
        flex_trading:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Flex Trading
          description: >-
            Enable/disable supplier flex trading optimization. If `True`, the
            supplier steers the device based on a schedule they provide to NOX
            Energy.
        imbalance_optimization:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Imbalance Optimization
          description: >-
            Enable/disable imbalance optimization. If `True`, the device will be
            optimized to minimize imbalances based on the imbalance prices of
            the users country. This setting should only be enabled/disabled
            internally in the backend of suppliers as only integrated users of a
            full-control package will have benefit out of it.
      type: object
      title: OptimizationSettings
    TemperatureControlMode:
      type: string
      enum:
        - heating
        - cooling
        - auto
        - 'off'
      title: TemperatureControlMode
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: 'API Key authentication. Enter your API key in the format: YOUR_API_KEY'

````