WegoWise Apartments API

Manage apartment and unit records within buildings

OpenAPI Specification

wegowise-apartments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: WegoWise Apartments 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: Apartments
  description: Manage apartment and unit records within buildings
paths:
  /api/v1/wego_pro/buildings/{id}/apartments:
    get:
      operationId: listApartments
      summary: List Apartments
      description: Returns all apartments within a specific building.
      tags:
      - Apartments
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: List of apartments
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Apartment'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createApartment
      summary: Create Apartment
      description: Creates a new apartment within a building.
      tags:
      - Apartments
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApartmentInput'
      responses:
        '201':
          description: Apartment created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Apartment'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/wego_pro/apartments/{id}:
    get:
      operationId: getApartment
      summary: Get Apartment
      description: Returns details for a specific apartment.
      tags:
      - Apartments
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Apartment details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Apartment'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateApartment
      summary: Update Apartment
      description: Updates an existing apartment record.
      tags:
      - Apartments
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApartmentInput'
      responses:
        '200':
          description: Updated apartment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Apartment'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteApartment
      summary: Delete Apartment
      description: Deletes an apartment and all associated meters and data.
      tags:
      - Apartments
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '204':
          description: Apartment deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        code:
          type: integer
    ApartmentInput:
      type: object
      properties:
        unit_number:
          type: string
        area:
          type: number
        bedrooms:
          type: integer
      required:
      - unit_number
    Apartment:
      type: object
      description: An apartment or residential unit within a building
      properties:
        id:
          type: integer
        unit_number:
          type: string
          description: Unit designation (e.g., "1A", "203")
        building_id:
          type: integer
        area:
          type: number
          description: Unit area in square feet
        bedrooms:
          type: integer
        occupants:
          type: integer
  parameters:
    id:
      name: id
      in: path
      required: true
      schema:
        type: integer
      description: Resource identifier
  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'
    NotFound:
      description: Requested resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  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