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

# Get a specific zone

> Returns detailed information about a single zone.



## OpenAPI

````yaml get /api/zones/{zoneId}
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}:
    get:
      tags:
        - Zones
      summary: Get a specific zone
      description: Returns detailed information about a single zone.
      operationId: getZone
      parameters:
        - name: zoneId
          in: path
          required: true
          schema:
            type: string
          example: primary_bedroom
      responses:
        '200':
          description: Zone details
          content:
            application/json:
              schema:
                type: object
                properties:
                  zone:
                    $ref: '#/components/schemas/Zone'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Zone:
      type: object
      description: >
        A zone represents a distinct conditioned area of the home with its own
        comfort target

        and control logic. It is the authoritative source of truth for
        temperature setpoints,

        operating mode, and HVAC behavior. A zone may contain one or more FCUs,
        radiant loops,

        or other terminal units.
      required:
        - zoneId
        - tempC
        - mode
        - activeCall
        - supportsHeat
        - supportsCool
      properties:
        zoneId:
          type: string
          description: Unique identifier for the zone.
          example: primary_bedroom
        friendlyName:
          type: string
          description: >-
            Human-readable name for the zone, suitable for display in user
            interfaces.
          example: Primary Bedroom
        tempC:
          type: number
          description: >
            Current resolved temperature for the zone in Celsius. If multiple
            sensors are

            present (e.g., from thermostats or FCUs), the Brain aggregates them
            into a single

            value. The exact aggregation strategy may use averaging, weighted
            averaging,

            occupancy-based selection, or other approaches.
          example: 22.4
        rhPercent:
          type: number
          description: >
            Current relative humidity percentage for the zone. Only present when
            the zone

            has a humidity sensor (e.g., from a thermostat or FCU with RH
            sensing capability).
          example: 45
        co2Ppm:
          type: integer
          description: >
            CO2 concentration for the zone in parts per million. Only present
            when the zone

            has a CO2 sensor. Useful for monitoring indoor air quality and
            ventilation needs.
          example: 734
        mode:
          type: string
          enum:
            - heat
            - cool
            - auto
            - 'off'
          description: >
            Operating mode for this zone.


            - `heat` - Zone calls for heating when temperature falls below
            heating setpoint

            - `cool` - Zone calls for cooling when temperature rises above
            cooling setpoint

            - `auto` - Zone automatically switches between heating and cooling
            based on setpoints

            - `off` - Zone is disabled and will not call for heating or cooling


            **Mode scope:** The mode `off` is always zone-specific—it disables
            only this zone

            without affecting the system mode or other zones. The modes `heat`,
            `cool`, and `auto`

            may propagate to other zones depending on the physical system
            topology. In single-TES

            systems, these modes are effectively system-wide since all zones
            share the same

            thermal source.
          example: auto
        tempHeatSetC:
          type: number
          minimum: 10
          maximum: 30
          description: >
            Heating setpoint in Celsius. The system heats when the zone
            temperature falls

            below this value. Used when mode is `heat` or `auto`, and only for
            zones that

            support heating. Ignored when mode is `cool` or `off`.


            Valid range: 10-30°C (50-86°F). Values outside this range are
            clamped.

            A minimum 2.2°C (4°F) gap is enforced between heating and cooling
            setpoints

            to prevent cycling.
          example: 21
        tempCoolSetC:
          type: number
          minimum: 10
          maximum: 30
          description: >
            Cooling setpoint in Celsius. The system cools when the zone
            temperature rises

            above this value. Used when mode is `cool` or `auto`, and only for
            zones that

            support cooling. Ignored when mode is `heat` or `off`.


            Valid range: 10-30°C (50-86°F). Values outside this range are
            clamped.

            A minimum 2.2°C (4°F) gap is enforced between heating and cooling
            setpoints

            to prevent cycling.
          example: 24
        activeCall:
          type: string
          enum:
            - heat
            - cool
            - none
          description: >
            The zone's current demand, derived from comparing the current
            temperature

            against the setpoints and mode.


            - `heat` - Zone is actively calling for heating

            - `cool` - Zone is actively calling for cooling

            - `none` - Zone is satisfied or disabled
          example: none
        supportsHeat:
          type: boolean
          description: >
            Whether this zone supports heating. Determined by the physical
            equipment

            connected to the zone. When false, heating setpoints and heat mode
            are

            not applicable for this zone.
          example: true
        supportsCool:
          type: boolean
          description: >
            Whether this zone supports cooling. Determined by the physical
            equipment

            connected to the zone. When false, cooling setpoints and cool mode
            are

            not applicable for this zone.
          example: true
    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

````