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

# Send zone command

> Set the mode and/or setpoints for a zone.

**Mode behavior:**
- `off` is zone-specific and only affects this zone
- `heat`, `cool`, `auto` may propagate to other zones depending on system topology

**Setpoint constraints:**
- Valid range: 10-30°C (50-86°F)
- Minimum gap of 2.2°C (4°F) between heat and cool setpoints is enforced automatically




## OpenAPI

````yaml post /api/zones/{zoneId}/command
openapi: 3.1.0
info:
  title: Aris API
  version: 1.0.0
  description: >
    REST API for controlling Aris home comfort systems.


    Aris is an air-to-water heat pump system that heats, cools, and provides hot
    water for homes.

    The Aris Brain is the central controller, managing zones, fan-coil units
    (FCUs), heat pumps,

    domestic hot water (DHW), and thermal energy storage (TES).


    ## Base URL


    The Aris Brain runs on your local network. Find your Brain's address via:

    - mDNS: `http://aris.local` (if your network supports mDNS)

    - Router admin panel: Look for a device named "aris-brain"


    ## Authentication


    Most API endpoints require authentication via Bearer token. Create an API
    token in the Aris web UI under **Settings → API Tokens**.


    Include the token in the `Authorization` header:

    ```

    Authorization: Bearer your-api-token

    ```


    ## Real-time Updates


    For real-time updates, connect to the WebSocket at
    `ws://aris.local?token=YOUR_API_TOKEN`.

    The WebSocket broadcasts zone state changes, system events, and device
    telemetry.
servers:
  - url: http://aris.local
    description: Local network (mDNS)
  - url: http://{brainIp}
    description: Local network (IP address)
    variables:
      brainIp:
        default: 192.168.1.100
        description: Your Aris Brain's IP address
security: []
tags:
  - name: Health
    description: Health check and readiness endpoints
  - name: System
    description: System-wide state and mode control
  - name: Zones
    description: Zone management, setpoints, and temperature control
  - name: DHW
    description: Domestic Hot Water tank status and history
  - name: TES
    description: Thermal Energy Storage tank status
  - name: HCU
    description: Hydronic Control Unit status
  - name: Heat Pumps
    description: Heat pump telemetry and diagnostics
  - name: FCUs
    description: Fan Coil Unit telemetry and status
  - name: Weather
    description: Weather data and forecasts
  - name: Events
    description: System event log and audit trail
  - name: Metrics
    description: VictoriaMetrics time-series data proxy
  - name: Prometheus
    description: Prometheus-compatible API for Grafana
  - name: Tokens
    description: API token management
  - name: Config
    description: System configuration (read-only)
  - name: Firmware
    description: FCU firmware OTA updates
paths:
  /api/zones/{zoneId}/command:
    post:
      tags:
        - Zones
      summary: Send zone command
      description: >
        Set the mode and/or setpoints for a zone.


        **Mode behavior:**

        - `off` is zone-specific and only affects this zone

        - `heat`, `cool`, `auto` may propagate to other zones depending on
        system topology


        **Setpoint constraints:**

        - Valid range: 10-30°C (50-86°F)

        - Minimum gap of 2.2°C (4°F) between heat and cool setpoints is enforced
        automatically
      operationId: sendZoneCommand
      parameters:
        - name: zoneId
          in: path
          required: true
          schema:
            type: string
          example: primary_bedroom
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                mode:
                  type: string
                  enum:
                    - heat
                    - cool
                    - auto
                    - 'off'
                  description: Zone operating mode
                tempHeatSetC:
                  type: number
                  minimum: 10
                  maximum: 30
                  description: Heating setpoint in Celsius
                  example: 21
                tempCoolSetC:
                  type: number
                  minimum: 10
                  maximum: 30
                  description: Cooling setpoint in Celsius
                  example: 24
      responses:
        '200':
          description: Command sent successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  zoneId:
                    type: string
                    example: primary_bedroom
                  command:
                    type: object
                    properties:
                      mode:
                        type: string
                      temp_heat_set_c:
                        type: number
                      temp_cool_set_c:
                        type: number
        '400':
          description: Invalid command parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error type
        message:
          type: string
          description: Human-readable error message
        hint:
          type: string
          description: Suggestion for resolving the error
  responses:
    Unauthorized:
      description: Missing or invalid authentication
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: Unauthorized
              message:
                type: string
                example: Valid authentication required
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Session token or API token

````