Clevergy Connect API

REST API that lets Clevergy customers build integrations with the Clevergy platform: manage end users and their houses, create and maintain electricity and gas contracts with their energy price tables, upload and OCR-analyse invoices, define custom tariffs, discover and link solar inverter installations, read energy, power, comparison and appliance-disaggregation telemetry, monitor and schedule home batteries, manage energy-community membership and shares, post virtual wallet (EUR) and virtual battery (kWh) balances, and work support tickets and sales opportunities. Published as a Swagger 2.0 document with 62 paths, 83 operations, 102 definitions and an operationId on every operation. Authentication is a tenant API key in the clevergy-api-key header; a separate operation exchanges it for a 1-hour per-user JWT for browser use. Access is sales-gated — keys are issued per environment on request.

Documentation

Specifications

Other Resources

OpenAPI Specification

clevergy-connect-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Clevergy Connect API
  description: Connect enables Clevergy customers to build integrations with the Clevergy platform. To request access please write to soporte.clientes@clever.gy
  version: 1.0.0
host: connect.clever.gy
schemes:
  - https
produces:
  - application/json
security:
  - key: []
paths:
  /auth/{userId}/token:
    get:
      summary: Get user access token
      description: |
        Returns user jwt based on the email. The jwt can be used in some endpoints
        of the API to obtain energy data from the user.
      tags:
        - Access control
      operationId: retrieveUserAccessToken
      parameters:
        - name: userId
          in: path
          description: Clevergy ID from the user (also available with email)
          required: true
          type: string
      responses:
        '200':
          description: User jwt
          schema:
            $ref: '#/definitions/AuthUser'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /connections:
    get:
      summary: Get all connections.
      description: Get connections.
      tags:
        - Connections
      operationId: getConnection
      responses:
        '200':
          description: List of connections
          schema:
            $ref: '#/definitions/ConnectionResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /energy-communities/{communityId}/remove-house:
    post:
      summary: Remove a house from an energy community
      description: |
        Removes a house from an energy community
      tags:
        - Energy communities
      operationId: removeEnergyCommunityHouseFromInstallation
      parameters:
        - name: communityId
          in: path
          description: Alphanumeric id from energy community
          required: true
          type: string
        - name: removeEnergyCommunityHouseRequest
          in: body
          schema:
            $ref: '#/definitions/RemoveEnergyCommunityHouseRequest'
      responses:
        '200':
          description: House successfully removed
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/HttpErrorForbidden'
        '404':
          description: Resource not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /energy-communities/{energyCommunityId}/houses:
    post:
      summary: Assign a house to an energy community
      description: |
        Assign a house to an energy community
      tags:
        - Energy communities
      operationId: assignHouseToEnergyCommunity
      parameters:
        - name: energyCommunityId
          in: path
          description: Alphanumeric id from energy community
          required: true
          type: string
        - name: energyCommunityHouse
          in: body
          schema:
            $ref: '#/definitions/EnergyCommunityHouse'
      responses:
        '201':
          description: House successfully assigned
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Resource not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /energy-communities/{energyCommunityId}/update-share:
    post:
      summary: Update share
      description: |
        Update share for an energy community house
      tags:
        - Energy communities
      operationId: updateEnergyCommunityHouseShare
      parameters:
        - name: energyCommunityId
          in: path
          description: Alphanumeric id from energy community
          required: true
          type: string
        - name: UpdateEnergyCommunityHouseRequest
          in: body
          schema:
            $ref: '#/definitions/UpdateEnergyCommunityHouseRequest'
      responses:
        '200':
          description: House successfully updated
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/HttpErrorForbidden'
        '404':
          description: Resource not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /equipments:
    get:
      summary: Get all the tenant equipments of a given type
      description: |
        Get tenant equipments of a given type.
      tags:
        - Equipments
      operationId: getTenantEquipments
      parameters:
        - name: integrationType
          in: query
          description: Filter by integration type
          required: true
          type: string
          enum:
            - DISTRIBUTOR
            - SOLAR
            - SMART_DEVICE
            - STORAGE
        - name: cursor
          in: query
          description: Cursor for pagination (not inclusive)
          required: false
          type: string
          format: uuid
        - name: limit
          in: query
          description: Maximum number of equipments to return (max 100)
          required: false
          type: integer
          format: int32
      responses:
        '200':
          description: Page of equipments
          schema:
            $ref: '#/definitions/EquipmentsPage'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Bad request
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /equipments/{equipmentId}/storage:
    get:
      summary: Get storage equipment data
      description: |
        Returns the storage equipment information.
      tags:
        - Equipments
      operationId: getStorageEquipment
      parameters:
        - name: equipmentId
          in: path
          description: Id of the equipment
          required: true
          type: string
      responses:
        '200':
          description: StorageEquipment
          schema:
            $ref: '#/definitions/StorageEquipment'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /equipments/{equipmentId}/storage/schedule:
    post:
      summary: Schedule an action for a storage equipment
      description: |
        Schedules an action (charge or discharge) for a storage equipment.
      tags:
        - Equipments
      operationId: scheduleStorageEquipmentAction
      parameters:
        - name: equipmentId
          in: path
          description: Id of the equipment
          required: true
          type: string
        - name: scheduleStorageActionRequest
          in: body
          description: Request body to schedule an action
          required: true
          schema:
            $ref: '#/definitions/ScheduleStorageActionRequest'
      responses:
        '201':
          description: Action scheduled successfully
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /equipments/{equipmentId}/storage/soc:
    get:
      summary: Get storage equipment state of charge
      description: |
        Returns the storage equipment state of charge information.
      tags:
        - Equipments
      operationId: getStorageEquipmentSoc
      parameters:
        - name: equipmentId
          in: path
          description: Id of the equipment
          required: true
          type: string
        - name: startDate
          in: query
          description: Start date to filter by
          required: true
          type: string
          format: date-time
        - name: endDate
          in: query
          description: End date to filter by
          required: true
          type: string
          format: date-time
      responses:
        '200':
          description: StorageEquipmentSoc
          schema:
            $ref: '#/definitions/StorageEquipmentSoc'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses:
    get:
      summary: Get all the tenant houses
      description: |
        Get tenant houses
      tags:
        - Houses
      operationId: getTenantHouses
      parameters:
        - name: cursor
          in: query
          description: Cursor for pagination (not inclusive)
          required: false
          type: string
          format: uuid
        - name: limit
          in: query
          description: Maximum number of houses to return (max 100)
          required: false
          type: integer
          format: int32
      responses:
        '200':
          description: Page of houses
          schema:
            $ref: '#/definitions/HousesPage'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Bad request
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}:
    delete:
      summary: Delete a house
      description: |
        Deletes a house
      tags:
        - Houses
      operationId: deleteHouse
      parameters:
        - name: houseId
          in: path
          description: ID of house
          required: true
          type: string
          format: uuid
      responses:
        '200':
          description: House deleted successfully
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/HttpErrorForbidden'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/contracts:
    post:
      summary: Create a contract
      description: |
        Creates a house contract
      tags:
        - Contracts - Deprecated
      operationId: createHouseContract
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: createHouseContract
          in: body
          schema:
            $ref: '#/definitions/CreateHouseContract'
      responses:
        '200':
          description: Contract created successfully
          schema:
            type: string
            description: Id of the contract created
        '400':
          description: Bad request (e.g., house cups not found)
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: House not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/contracts/{contractId}:
    get:
      summary: Get house contract by id
      description: |
        Gets a house contract by id
      tags:
        - Contracts - Deprecated
      operationId: getHouseContractById
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: contractId
          in: path
          description: Id of the contract
          required: true
          type: string
      responses:
        '200':
          description: House contract
          schema:
            $ref: '#/definitions/HouseContractDetail'
        '204':
          description: No contract found for the house
        '400':
          description: Bad request (e.g., house cups not found)
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/contracts/{contractId}/energy-prices:
    get:
      summary: Get energy prices from a contract
      description: |
        Gets the contract energy prices for specific dates. It allows to filter by start and end date, with a maximum of a year between them.
      tags:
        - Contracts - Deprecated
      operationId: getHouseContractEnergyPrices
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: contractId
          in: path
          description: Id of the contract
          required: true
          type: string
        - name: startDate
          in: query
          description: Start date to filter by
          required: true
          type: string
          format: date-time
        - name: endDate
          in: query
          description: End date to filter by
          required: true
          type: string
          format: date-time
      responses:
        '200':
          description: Contract prices added successfully
          schema:
            $ref: '#/definitions/HouseContractEnergyPriceResponse'
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
    put:
      summary: Add energy prices to a contract
      description: |
        Adds the contract energy prices for specific dates.
      tags:
        - Contracts - Deprecated
      operationId: addHouseContractEnergyPrices
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: contractId
          in: path
          description: Id of the contract
          required: true
          type: string
        - name: houseContractEnergyPriceRequest
          in: body
          description: Request containing contract energy prices and dates
          required: true
          schema:
            $ref: '#/definitions/HouseContractEnergyPriceRequest'
      responses:
        '200':
          description: Contract prices added successfully
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/disaggregation:
    get:
      summary: Get house disaggregation
      description: |
        Returns the consumption disaggregation of a house.
      tags:
        - Disaggregation
      operationId: getDisaggregationByHouse
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: startDate
          in: query
          description: Start date to filter by. p.e. 2025-04-01T00:00:00Z
          required: true
          type: string
          format: date-time
        - name: endDate
          in: query
          description: End date to filter by. p.e. 2025-04-30T00:00:00Z
          required: true
          type: string
          format: date-time
      responses:
        '200':
          description: Disaggregation
          schema:
            $ref: '#/definitions/HouseDisaggregation'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/energy-comparison:
    get:
      summary: Get energy comparison
      description: |
        Returns the energy of a house for a month and a comparison with different profiles
      tags:
        - Energy
      operationId: getEnergyComparison
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: month
          in: query
          description: Month to filter by
          required: true
          type: string
          format: MM/yyyy
      responses:
        '200':
          description: User house profile
          schema:
            $ref: '#/definitions/EnergyComparison'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/energy:
    get:
      summary: Get house energy
      description: |
        Returns the energy of a house for a date period (from startDate to endDate)
        grouped by date based on granularity
      tags:
        - Energy
      operationId: getEnergyByHouseId
      parameters:
        - name: houseId
          in: path
          description: ID of a house
          required: true
          type: string
        - name: startDate
          in: query
          description: Start date to filter by
          required: true
          type: string
          format: date-time
        - name: endDate
          in: query
          description: End date to filter by
          required: true
          type: string
          format: date-time
        - name: granularity
          in: query
          description: Granularity to group by
          required: true
          type: string
          enum:
            - YEARLY
            - MONTHLY
            - DAILY
            - HOURLY
        - name: includeTimeSpanStart
          in: query
          description: Time span start to filter within a day in hh:mm format (example 01:00)
          required: false
          type: string
        - name: includeTimeSpanEnd
          in: query
          description: Time span end to filter within a day in hh:mm format (example 01:00)
          required: false
          type: string
        - name: timeZone
          in: query
          description: Time zone for the dates requested and returned (example Europe/Madrid). By default, the time zone is UTC.
          required: false
          type: string
      responses:
        '200':
          description: House consumption
          schema:
            type: array
            items:
              $ref: '#/definitions/EnergyItem'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/equipments:
    get:
      summary: Get equipments of a house
      description: |
        Returns the equipments of a house
      tags:
        - Equipments
      operationId: getHouseEquipments
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
      responses:
        '200':
          description: House equipments
          schema:
            $ref: '#/definitions/HouseEquipments'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: House Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/external-contracts:
    post:
      summary: Link a contract with an external id
      description: |
        Links a contract with an external id
      tags:
        - Contracts - Deprecated
      operationId: assignExternalContractIdToContract
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: assignExternalContractToContractRequest
          in: body
          schema:
            $ref: '#/definitions/AssignExternalContractToContractRequest'
      responses:
        '200':
          description: Contract assigned successfully
          schema:
            type: string
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/external-contracts/{externalContractId}:
    get:
      summary: Get contract id from external id
      description: |
        Gets contract id from the external id it is linked to
      tags:
        - Contracts - Deprecated
      operationId: getHouseContractIdByExternalId
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: externalContractId
          in: path
          description: External id of the contract
          required: true
          type: string
      responses:
        '200':
          description: Contract id
          schema:
            type: string
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/house-detail:
    get:
      summary: Get house details
      description: |
        Returns house details.
      tags:
        - Houses
      operationId: getHouseDetail
      parameters:
        - name: houseId
          in: path
          description: ID of the house
          required: true
          type: string
          format: uuid
      responses:
        '200':
          description: House details
          schema:
            $ref: '#/definitions/UserHouseWithIntegrations'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/installations:
    post:
      summary: Link installation to a house
      description: |
        Link installation to a house
      tags:
        - Integrations
      operationId: connectInstallation
      parameters:
        - name: houseId
          in: path
          required: true
          type: string
        - name: connectInstallationRequest
          in: body
          schema:
            $ref: '#/definitions/ConnectInstallationRequest'
      responses:
        '200':
          description: Assigned installation to house
        '404':
          description: House not found
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/invoices:
    post:
      summary: Create an electricity invoice
      description: |
        This endpoint provides a signed URL for uploading a PDF invoice:
        - Step 1: POST invoice metadata to obtain the upload URL.
        - Step 2: PUT the PDF file to the returned URL (valid for 15 minutes).
        :::warning
        **Use only for electricity invoices.**<br />
        This endpoint is being deprecated and its functionality will be replaced by a new endpoint.
        Once the new endpoint is available, we will communicate it accordingly.
        :::
      tags:
        - Invoices - Deprecated
      operationId: createHouseInvoice
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: createHouseInvoice
          in: body
          schema:
            $ref: '#/definitions/CreateHouseInvoice'
      responses:
        '200':
          description: Invoice created successfully
          schema:
            $ref: '#/definitions/SignedUrl'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: House Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/invoices/{invoiceId}:
    delete:
      summary: Delete house invoice
      description: Deletes a house invoice
      tags:
        - Invoices - Deprecated
      operationId: deleteHouseInvoice
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
        - name: invoiceId
          in: path
          description: Id of the invoice
          required: true
          type: string
      responses:
        '200':
          description: Invoice deleted successfully
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: House or Invoice Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/last-contract:
    get:
      summary: Get the last contract of a house
      description: |
        Gets the last contract of a house
      tags:
        - Contracts - Deprecated
      operationId: getLastHouseContract
      parameters:
        - name: houseId
          in: path
          description: Id of the house
          required: true
          type: string
      responses:
        '200':
          description: Last contract of the house
          schema:
            $ref: '#/definitions/HouseContractDetail'
        '204':
          description: No contract found for the house
        '400':
          description: Bad request (e.g., house cups not found)
          schema:
            $ref: '#/definitions/HttpErrorBadRequest'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/power:
    get:
      summary: Get house power
      description: |
        Returns the power of a house for a date period (from startDate to endDate)
      tags:
        - Power
      operationId: getPowerByHouseId
      parameters:
        - name: houseId
          in: path
          description: ID of a house
          required: true
          type: string
        - name: startDate
          in: query
          description: Start date to filter by
          required: true
          type: string
          format: date-time
        - name: endDate
          in: query
          description: End date to filter by
          required: true
          type: string
          format: date-time
        - name: timeZone
          in: query
          description: Time zone for the dates requested and returned (example Europe/Madrid). By default, the time zone is UTC.
          required: false
          type: string
      responses:
        '200':
          description: House power
          schema:
            type: array
            items:
              $ref: '#/definitions/PowerItem'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/settings:
    get:
      summary: Get house settings
      description: |
        Returns house settings.
      tags:
        - Settings
      operationId: getHouseSettings
      parameters:
        - name: houseId
          in: path
          description: ID of the house
          required: true
          type: string
      responses:
        '200':
          description: House settings
          schema:
            $ref: '#/definitions/HouseSettings'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
    put:
      summary: Update house settings
      description: |
        Updates house settings.
      tags:
        - Settings
      operationId: updateHouseSettings
      parameters:
        - name: houseId
          in: path
          description: ID of the house
          required: true
          type: string
        - name: houseSettings
          in: body
          schema:
            $ref: '#/definitions/HouseSettings'
      responses:
        '200':
          description: House settings
          schema:
            $ref: '#/definitions/HouseSettings'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/HttpErrorUnauthorized'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/HttpErrorNotFound'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
  /houses/{houseId}/smartm

# --- truncated at 32 KB (159 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/clevergy/refs/heads/main/openapi/clevergy-connect-api-openapi.yml