> ## 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 system state

> Returns the current system-wide state including mode, outdoor temperature, and faults.



## OpenAPI

````yaml get /api/system
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/system:
    get:
      tags:
        - System
      summary: Get system state
      description: >-
        Returns the current system-wide state including mode, outdoor
        temperature, and faults.
      operationId: getSystem
      responses:
        '200':
          description: System state
          content:
            application/json:
              schema:
                type: object
                properties:
                  system:
                    $ref: '#/components/schemas/SystemState'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
        - bearerAuth: []
components:
  schemas:
    SystemState:
      type: object
      properties:
        systemId:
          type: string
          description: >
            Globally unique 7-character identifier for this Aris system. Uses a
            compact,

            human-friendly format designed for installers, manufacturing
            workflows, and

            cloud routing. Character set excludes vowels and lookalikes
            (A/E/I/O/U/0/1/L)

            to avoid ambiguity. Development systems use a `DEV` prefix (e.g.,
            `DEVAB12`).
          example: MGJ72TM
        friendlyName:
          type: string
          description: >
            Human-readable name for the system, typically reflecting the
            property location

            or owner (e.g., "123 Main Street", "Mountain View Home"). Optional
            and

            user-configurable.
          example: Mountain View Home
        mode:
          type: string
          enum:
            - heat
            - cool
            - auto
            - 'off'
          description: >
            Current system-wide operating mode (policy/intent). This represents
            the

            resolved global operating policy after applying commands, safety
            constraints,

            and system logic.


            - `heat`: Only heating is allowed

            - `cool`: Only cooling is allowed

            - `auto`: Controller manages changeover between heating and cooling
            based on demand

            - `off`: System is off
        state:
          type: string
          enum:
            - heating
            - cooling
            - dhw_charge
            - idle
            - sanitizing
            - fault
          description: >
            Current physical activity of the system (what's actually happening).
            Unlike

            `mode` which represents intent/policy, `state` reflects the
            real-time physical

            operation.


            - `heating`: Actively delivering heat to zones

            - `cooling`: Actively delivering chilled water to zones

            - `dhw_charge`: Actively charging the Domestic Hot Water tank

            - `idle`: System is satisfied or waiting for demand

            - `sanitizing`: Performing Legionella sanitization cycle

            - `fault`: System halted due to a fault condition
        outdoorTempC:
          type: number
          description: >
            Authoritative outdoor temperature used for control logic, in degrees
            Celsius.

            This value is aggregated from local sensors or weather API and
            drives

            weather compensation curves and other outdoor-temperature-dependent
            logic.
          example: 15.5
        activeFaults:
          type: array
          items:
            type: string
          description: >
            List of active system-level fault codes. These are high-level system
            alerts

            such as "System Pressure Low" or "Lost Cloud Connection". Empty
            array when

            no faults are active.
          example: []
  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

````