WegoWise Usage Data API

Retrieve and submit raw and aggregated utility usage datapoints

OpenAPI Specification

wegowise-usage-data-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: WegoWise Apartments Usage Data API
  description: The WegoWise API (now Comply by Measurabl) is built on REST. It enables building owners, property managers, and energy service providers to programmatically manage their building portfolio, track utility meter data, and benchmark energy and water performance across multifamily and commercial properties. All responses are delivered as JSON. Authentication uses OAuth 1.0 for private endpoints.
  version: 1.0.0
  contact:
    name: WegoWise Support
    url: https://www.wegowise.com/
  license:
    name: Proprietary
    url: https://www.wegowise.com/terms
servers:
- url: https://www.wegowise.com
  description: WegoWise Production API
security:
- oauth1: []
tags:
- name: Usage Data
  description: Retrieve and submit raw and aggregated utility usage datapoints
paths:
  /api/v1/wego_pro/buildings/{id}/data:
    get:
      operationId: getBuildingData
      summary: Get Building Usage Data
      description: Returns normalized monthly energy and water usage data for a building. Data is normalized to account for billing period differences.
      tags:
      - Usage Data
      parameters:
      - $ref: '#/components/parameters/id'
      - name: data_type
        in: query
        required: false
        schema:
          type: string
          enum:
          - electric
          - gas
          - oil
          - water
          - steam
          - propane
        description: Filter by utility data type
      - name: unit
        in: query
        required: false
        schema:
          type: string
          enum:
          - kwh
          - therms
          - gallons
          - btu
          - total_charge
        description: Unit for returned values
      - name: start_date
        in: query
        required: false
        schema:
          type: string
          format: date
        description: Start date for data range (YYYY-MM-DD)
      - name: end_date
        in: query
        required: false
        schema:
          type: string
          format: date
        description: End date for data range (YYYY-MM-DD)
      responses:
        '200':
          description: Monthly usage data for the building
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageDataResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/wego_pro/meters/{id}/raw_data:
    get:
      operationId: getMeterRawData
      summary: Get Meter Raw Data
      description: Retrieves a collection of datapoints for a given meter. Returns all raw data including manually added datapoints and those imported from utility websites.
      tags:
      - Usage Data
      parameters:
      - $ref: '#/components/parameters/id'
      - name: start_date
        in: query
        required: false
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        required: false
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Raw meter datapoints
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RawDatapoint'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createMeterRawData
      summary: Create Meter Datapoint
      description: Manually creates a new utility usage datapoint for a meter.
      tags:
      - Usage Data
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RawDatapointInput'
      responses:
        '201':
          description: Datapoint created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RawDatapoint'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/wego_pro/meters/{id}/data:
    get:
      operationId: getMeterData
      summary: Get Meter Monthly Data
      description: Returns normalized monthly data for a specific meter.
      tags:
      - Usage Data
      parameters:
      - $ref: '#/components/parameters/id'
      - name: unit
        in: query
        required: false
        schema:
          type: string
          enum:
          - kwh
          - therms
          - gallons
          - btu
          - total_charge
      responses:
        '200':
          description: Monthly meter data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageDataResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/wego_data/meters/{id}/raw_data:
    get:
      operationId: getDataMeterRawData
      summary: Get Data Meter Raw Data
      description: Retrieves all raw datapoints for a meter including manually added data and automatically imported utility data.
      tags:
      - Usage Data
      parameters:
      - $ref: '#/components/parameters/id'
      - name: start_date
        in: query
        required: false
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        required: false
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Raw meter datapoints
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RawDatapoint'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createDataMeterRawData
      summary: Create Data Meter Datapoint
      description: Manually creates a utility usage datapoint for a data meter.
      tags:
      - Usage Data
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RawDatapointInput'
      responses:
        '201':
          description: Datapoint created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RawDatapoint'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/wego_data/meters/{id}/latest_datum:
    get:
      operationId: getLatestDatum
      summary: Get Latest Meter Datapoint
      description: Returns the most recent usage datapoint for a meter.
      tags:
      - Usage Data
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Latest datapoint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RawDatapoint'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    RawDatapointInput:
      type: object
      properties:
        start_date:
          type: string
          format: date
        end_date:
          type: string
          format: date
        total_charge:
          type: number
        kwh:
          type: number
        btu:
          type: number
        gallons:
          type: number
      required:
      - start_date
      - end_date
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        code:
          type: integer
    UsageDataResponse:
      type: object
      description: Monthly normalized usage data response
      properties:
        building_id:
          type: integer
        meter_id:
          type: integer
        data_type:
          type: string
        unit:
          type: string
        monthly_data:
          type: array
          items:
            type: object
            properties:
              month:
                type: string
                format: date
                description: First day of the month (YYYY-MM-01)
              value:
                type: number
                description: Usage value in requested units
              total_charge:
                type: number
    RawDatapoint:
      type: object
      description: A raw utility usage datapoint for a billing period
      properties:
        id:
          type: integer
        meter_id:
          type: integer
        start_date:
          type: string
          format: date
          description: Start of the billing period
        end_date:
          type: string
          format: date
          description: End of the billing period
        total_charge:
          type: number
          description: Total utility bill amount in USD
        delivery_charge:
          type: number
          description: Delivery/distribution charge component
        fixed_charge:
          type: number
          description: Fixed monthly charge component
        fuel_charge:
          type: number
          description: Fuel cost component
        kwh:
          type: number
          description: Electricity consumption in kWh (for electric meters)
        btu:
          type: number
          description: Energy content in BTU (for gas/oil/steam/propane meters)
        gallons:
          type: number
          description: Volume in gallons (for oil/water/propane/steam meters)
        imported:
          type: boolean
          description: Whether this datapoint was imported automatically from the utility
  responses:
    Unauthorized:
      description: Authentication credentials missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    id:
      name: id
      in: path
      required: true
      schema:
        type: integer
      description: Resource identifier
  securitySchemes:
    oauth1:
      type: http
      scheme: oauth
      description: OAuth 1.0 authentication required for private endpoints
externalDocs:
  description: WegoWise API Documentation
  url: https://www.wegowise.com/api