ARGUS Enterprise Core API

Core REST API for the ARGUS Enterprise platform providing programmatic access to commercial real estate investment management capabilities including property data, portfolio management, cash flow projections, valuations, tenants, leases, and reporting. Authentication via bearer token.

OpenAPI Specification

argus-enterprise-core-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Argus Enterprise Core API
  description: >-
    Core REST API for the ARGUS Enterprise platform by Altus Group, providing
    programmatic access to commercial real estate investment management
    capabilities including property data, portfolio management, cash flow
    projections, valuations, tenants, leases, and reporting. ARGUS Enterprise
    is an industry-standard platform for commercial real estate valuation and
    asset management used by investors, appraisers, and portfolio managers.
  version: '1.0'
  contact:
    name: Argus API Support
    email: [email protected]
    url: https://support.argusenterprise.com
  termsOfService: https://www.altusgroup.com/terms-of-use
externalDocs:
  description: Argus Enterprise API Documentation
  url: https://docs.argusenterprise.com/api/v1
servers:
- url: https://api.argusenterprise.com/v1
  description: Argus Enterprise Production
tags:
- name: Authentication
  description: OAuth 2.0 token operations for API access
- name: Cash Flows
  description: Cash flow projections and analysis
- name: Leases
  description: Lease agreements and terms
- name: Portfolios
  description: Organize and manage property portfolios
- name: Properties
  description: Manage commercial real estate properties and assets
- name: Reports
  description: Generate and retrieve analytical reports
- name: Tenants
  description: Tenant records and contact information
- name: Users
  description: User management and access control
- name: Valuations
  description: Property valuations and appraisal data
security:
- bearerAuth: []
paths:
  /auth/token:
    post:
      operationId: getAccessToken
      summary: Argus Enterprise Obtain Access Token
      description: >-
        Authenticate using OAuth 2.0 Client Credentials grant to obtain a
        bearer token for accessing Argus Enterprise APIs.
      tags:
      - Authentication
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - grant_type
              - client_id
              - client_secret
              properties:
                grant_type:
                  type: string
                  enum:
                  - client_credentials
                  description: OAuth 2.0 grant type
                client_id:
                  type: string
                  description: API client identifier
                client_secret:
                  type: string
                  description: API client secret
      responses:
        '200':
          description: Access token returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '401':
          description: Invalid credentials
      security: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /properties:
    get:
      operationId: listProperties
      summary: Argus Enterprise List Properties
      description: >-
        Retrieve a paginated list of commercial real estate properties
        accessible to the authenticated user, with optional filtering by
        portfolio, property type, and status.
      tags:
      - Properties
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      - name: portfolioId
        in: query
        description: Filter by portfolio identifier
        schema:
          type: string
          format: uuid
      - name: propertyType
        in: query
        description: Filter by property type
        schema:
          type: string
          enum:
          - Office
          - Retail
          - Industrial
          - Multifamily
          - Mixed-Use
          - Hotel
          - Land
          - Other
      - name: status
        in: query
        description: Filter by property status
        schema:
          type: string
          enum:
          - Active
          - Pending
          - Archived
      responses:
        '200':
          description: Properties retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createProperty
      summary: Argus Enterprise Create a Property
      description: Create a new commercial real estate property record in the system.
      tags:
      - Properties
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PropertyInput'
      responses:
        '201':
          description: Property created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Property'
        '400':
          description: Invalid property data
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /properties/{propertyId}:
    get:
      operationId: getProperty
      summary: Argus Enterprise Get a Property
      description: Retrieve detailed information about a specific property.
      tags:
      - Properties
      parameters:
      - $ref: '#/components/parameters/propertyId'
      responses:
        '200':
          description: Property retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Property'
        '404':
          description: Property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateProperty
      summary: Argus Enterprise Update a Property
      description: Update an existing property record with new information.
      tags:
      - Properties
      parameters:
      - $ref: '#/components/parameters/propertyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PropertyInput'
      responses:
        '200':
          description: Property updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Property'
        '400':
          description: Invalid property data
        '404':
          description: Property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteProperty
      summary: Argus Enterprise Delete a Property
      description: Delete a property record. This action cannot be undone.
      tags:
      - Properties
      parameters:
      - $ref: '#/components/parameters/propertyId'
      responses:
        '204':
          description: Property deleted successfully
        '404':
          description: Property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /properties/{propertyId}/valuations:
    get:
      operationId: listPropertyValuations
      summary: Argus Enterprise List Property Valuations
      description: >-
        Retrieve all valuations associated with a specific property, including
        DCF analysis results, capitalization rates, and market value estimates.
      tags:
      - Valuations
      parameters:
      - $ref: '#/components/parameters/propertyId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      responses:
        '200':
          description: Valuations retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValuationList'
        '404':
          description: Property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createPropertyValuation
      summary: Argus Enterprise Create a Property Valuation
      description: >-
        Create a new valuation for a property using DCF analysis, direct
        capitalization, or comparable sales methodology.
      tags:
      - Valuations
      parameters:
      - $ref: '#/components/parameters/propertyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValuationInput'
      responses:
        '201':
          description: Valuation created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Valuation'
        '400':
          description: Invalid valuation data
        '404':
          description: Property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /properties/{propertyId}/cashflows:
    get:
      operationId: listPropertyCashFlows
      summary: Argus Enterprise List Property Cash Flows
      description: >-
        Retrieve projected cash flows for a property over the analysis period,
        including income streams, operating expenses, capital expenditures,
        and net operating income.
      tags:
      - Cash Flows
      parameters:
      - $ref: '#/components/parameters/propertyId'
      - name: startDate
        in: query
        description: Start date for cash flow projections
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        description: End date for cash flow projections
        schema:
          type: string
          format: date
      - name: frequency
        in: query
        description: Cash flow reporting frequency
        schema:
          type: string
          enum:
          - Monthly
          - Quarterly
          - Annual
      responses:
        '200':
          description: Cash flows retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CashFlowProjection'
        '404':
          description: Property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /properties/{propertyId}/leases:
    get:
      operationId: listPropertyLeases
      summary: Argus Enterprise List Property Leases
      description: >-
        Retrieve all lease agreements associated with a property, including
        tenant details, rent schedules, and lease terms.
      tags:
      - Leases
      parameters:
      - $ref: '#/components/parameters/propertyId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      - name: status
        in: query
        description: Filter by lease status
        schema:
          type: string
          enum:
          - Active
          - Expired
          - Pending
      responses:
        '200':
          description: Leases retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeaseList'
        '404':
          description: Property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createPropertyLease
      summary: Argus Enterprise Create a Lease
      description: Create a new lease agreement for a property.
      tags:
      - Leases
      parameters:
      - $ref: '#/components/parameters/propertyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LeaseInput'
      responses:
        '201':
          description: Lease created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lease'
        '400':
          description: Invalid lease data
        '404':
          description: Property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /properties/{propertyId}/leases/{leaseId}:
    get:
      operationId: getPropertyLease
      summary: Argus Enterprise Get a Lease
      description: Retrieve detailed information about a specific lease.
      tags:
      - Leases
      parameters:
      - $ref: '#/components/parameters/propertyId'
      - $ref: '#/components/parameters/leaseId'
      responses:
        '200':
          description: Lease retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lease'
        '404':
          description: Lease not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updatePropertyLease
      summary: Argus Enterprise Update a Lease
      description: Update an existing lease agreement.
      tags:
      - Leases
      parameters:
      - $ref: '#/components/parameters/propertyId'
      - $ref: '#/components/parameters/leaseId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LeaseInput'
      responses:
        '200':
          description: Lease updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lease'
        '400':
          description: Invalid lease data
        '404':
          description: Lease not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deletePropertyLease
      summary: Argus Enterprise Delete a Lease
      description: Delete a lease record. This action cannot be undone.
      tags:
      - Leases
      parameters:
      - $ref: '#/components/parameters/propertyId'
      - $ref: '#/components/parameters/leaseId'
      responses:
        '204':
          description: Lease deleted successfully
        '404':
          description: Lease not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /portfolios:
    get:
      operationId: listPortfolios
      summary: Argus Enterprise List Portfolios
      description: >-
        Retrieve a paginated list of property portfolios accessible to the
        authenticated user.
      tags:
      - Portfolios
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      responses:
        '200':
          description: Portfolios retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortfolioList'
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createPortfolio
      summary: Argus Enterprise Create a Portfolio
      description: Create a new property portfolio for organizing assets.
      tags:
      - Portfolios
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortfolioInput'
      responses:
        '201':
          description: Portfolio created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portfolio'
        '400':
          description: Invalid portfolio data
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /portfolios/{portfolioId}:
    get:
      operationId: getPortfolio
      summary: Argus Enterprise Get a Portfolio
      description: Retrieve detailed information about a specific portfolio.
      tags:
      - Portfolios
      parameters:
      - $ref: '#/components/parameters/portfolioId'
      responses:
        '200':
          description: Portfolio retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portfolio'
        '404':
          description: Portfolio not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updatePortfolio
      summary: Argus Enterprise Update a Portfolio
      description: Update an existing portfolio.
      tags:
      - Portfolios
      parameters:
      - $ref: '#/components/parameters/portfolioId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortfolioInput'
      responses:
        '200':
          description: Portfolio updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portfolio'
        '400':
          description: Invalid portfolio data
        '404':
          description: Portfolio not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deletePortfolio
      summary: Argus Enterprise Delete a Portfolio
      description: Delete a portfolio. Properties within the portfolio are not deleted.
      tags:
      - Portfolios
      parameters:
      - $ref: '#/components/parameters/portfolioId'
      responses:
        '204':
          description: Portfolio deleted successfully
        '404':
          description: Portfolio not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /portfolios/{portfolioId}/properties:
    get:
      operationId: listPortfolioProperties
      summary: Argus Enterprise List Portfolio Properties
      description: Retrieve all properties belonging to a specific portfolio.
      tags:
      - Portfolios
      parameters:
      - $ref: '#/components/parameters/portfolioId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      responses:
        '200':
          description: Properties retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyList'
        '404':
          description: Portfolio not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /tenants:
    get:
      operationId: listTenants
      summary: Argus Enterprise List Tenants
      description: >-
        Retrieve a paginated list of tenants across all properties accessible
        to the authenticated user.
      tags:
      - Tenants
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      - name: search
        in: query
        description: Search tenants by name
        schema:
          type: string
      responses:
        '200':
          description: Tenants retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantList'
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createTenant
      summary: Argus Enterprise Create a Tenant
      description: Create a new tenant record.
      tags:
      - Tenants
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantInput'
      responses:
        '201':
          description: Tenant created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tenant'
        '400':
          description: Invalid tenant data
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /tenants/{tenantId}:
    get:
      operationId: getTenant
      summary: Argus Enterprise Get a Tenant
      description: Retrieve detailed information about a specific tenant.
      tags:
      - Tenants
      parameters:
      - $ref: '#/components/parameters/tenantId'
      responses:
        '200':
          description: Tenant retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tenant'
        '404':
          description: Tenant not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateTenant
      summary: Argus Enterprise Update a Tenant
      description: Update an existing tenant record.
      tags:
      - Tenants
      parameters:
      - $ref: '#/components/parameters/tenantId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantInput'
      responses:
        '200':
          description: Tenant updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tenant'
        '400':
          description: Invalid tenant data
        '404':
          description: Tenant not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /valuations:
    get:
      operationId: listValuations
      summary: Argus Enterprise List All Valuations
      description: >-
        Retrieve a paginated list of all valuations across properties,
        with optional filtering by valuation date range and methodology.
      tags:
      - Valuations
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      - name: methodology
        in: query
        description: Filter by valuation methodology
        schema:
          type: string
          enum:
          - DCF
          - DirectCapitalization
          - ComparableSales
      - name: valuationDateFrom
        in: query
        description: Filter valuations from this date
        schema:
          type: string
          format: date
      - name: valuationDateTo
        in: query
        description: Filter valuations up to this date
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Valuations retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValuationList'
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /reports:
    get:
      operationId: listReports
      summary: Argus Enterprise List Reports
      description: >-
        Retrieve a list of available reports, including property-level,
        portfolio-level, and custom analytics reports.
      tags:
      - Reports
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      - name: reportType
        in: query
        description: Filter by report type
        schema:
          type: string
          enum:
          - PropertySummary
          - PortfolioSummary
          - CashFlowAnalysis
          - ValuationSummary
          - LeaseExpiry
          - TenantRoll
          - CapitalExpenditure
      responses:
        '200':
          description: Reports retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportList'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: generateReport
      summary: Argus Enterprise Generate a Report
      description: >-
        Generate a new analytical report based on specified parameters
        including report type, date range, and target properties or portfolios.
      tags:
      - Reports
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportRequest'
      responses:
        '202':
          description: Report generation initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Report'
        '400':
          description: Invalid report request
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /reports/{reportId}:
    get:
      operationId: getReport
      summary: Argus Enterprise Get a Report
      description: >-
        Retrieve the status and results of a previously generated report.
      tags:
      - Reports
      parameters:
      - $ref: '#/components/parameters/reportId'
      responses:
        '200':
          description: Report retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Report'
        '404':
          description: Report not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /reports/{reportId}/download:
    get:
      operationId: downloadReport
      summary: Argus Enterprise Download a Report
      description: Download the report output file in the specified format.
      tags:
      - Reports
      parameters:
      - $ref: '#/components/parameters/reportId'
      - name: format
        in: query
        description: Output format for the report
        schema:
          type: string
          enum:
          - PDF
          - Excel
          - CSV
          default: PDF
      responses:
        '200':
          description: Report file
          content:
            application/pdf:
              schema:
                type: string
                format: binary
            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
              schema:
                type: string
                format: binary
            text/csv:
              schema:
                type: string
                format: binary
        '404':
          description: Report not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users:
    get:
      operationId: listUsers
      summary: Argus Enterprise List Users
      description: >-
        Retrieve a list of users in the Argus Enterprise instance. Requires
        administrator permissions.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      responses:
        '200':
          description: Users retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - requires admin access
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users/{userId}:
    get:
      operationId: getUser
      summary: Argus Enterprise Get a User
      description: Retrieve information about a specific user.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/userId'
      responses:
        '200':
          description: User retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '404':
          description: User not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        OAuth 2.0 Bearer token obtained from the /auth/token endpoint
        using client credentials.
  parameters:
    propertyId:
      name: propertyId
      in: path
      required: true
      description: Unique identifier of the property
      schema:
        type: string
        format: uuid
    portfolioId:
      name: portfolioId
      in: path
      required: true
      description: Unique identifier of the portfolio
      schema:
        type: string
        format: uuid
    leaseId:
      name: leaseId
      in: path
      required: true
      description: Unique identifier of the lease
      schema:
        type: string
        format: uuid
    tenantId:
      name: tenantId
      in: path
      required: true
      description: Unique identifier of the tenant
      schema:
        type: string
        format: uuid
    reportId:
      name: reportId
      in: path
      required: true
      description: Unique identifier of the report
      schema:
        type: string
        format: uuid
    userId:
      name: userId
      in: path
      required: true
      description: Unique identifier of the user
      schema:
        type: string
        format: uuid
    pageParam:
      name: page
      in: query
      description: Page number for pagination
      schema:
        type: integer
        minimum: 1
        default: 1
    pageSizeParam:
      name: pageSize
      in: query
      description: Number of items per page
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
  schemas:
    TokenResponse:
      type: object
      properties:
        access_token:
          type: string
          description: Bearer token for API authentication
        token_type:
          type: string
          enum:
          - Bearer
        expires_in:
          type: integer
          description: Token validity duration in seconds
        scope:
          type: string
          description: Granted scopes
    Property:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique property identifier
        name:
          type: string
          description: Property name
        propertyType:
          type: string
          enum:
          - Office
          - Retail
          - Industrial
          - Multifamily
          - Mixed-Use
          - Hotel
          - Land
          - Other
          description: Type of commercial real estate property
        status:
          type: string
          enum:
          - Active
          - Pending
          - Archived
          description: Current property status
        address:
          $ref: '#/components/schemas/Address'
        grossArea:
          type: number
          format: double
          description: Gross leasable area in square feet
        netLeasableArea:
          type: number
          format: double
          description: Net leasable area in square feet
        yearBuilt:
          type: integer
          description: Year the property was built
        numberOfUnits:
          type: integer
          description: Number of leasable units or suites
        purchasePrice:
          type: number
          format: double
          description: Original purchase price
        purchaseDate:
          type: string
          format: date
          description: Date of property acquisition
        currentMarketValue:
          type: number
          format: double
          description: Current estimated market value
        occupancyRate:
          type: number
          format: double
          description: Current occupancy rate as a percentage
        portfolioId:
          type: string
          format: uuid
          description: Identifier of the parent portfolio
        createdAt:
          type: string
          format: date-time
          description: Record creation timestamp
        updatedAt:
          type: string
          format: date-time
          description: Record last update timestamp
    PropertyInput:
      type: object
      required:
      - name
      - propertyType
      - address
      properties:
        name:
          type: string
          description: Property name
        propertyType:
          type: string
          enum:
          - Office
          - Retail
          - Industrial
          - Multifamily
          - Mixed-Use
          - Hotel
          - Land
          - Other
        status:
          type: string
          enum:
          - Active
          - Pending
          - Archived
          default: Active
        address:
          $ref: '#/components/schemas/Address'
        grossArea:
          type: number
          format: double
        netLeasableArea:
          type: number
          format: double
        yearBuilt:
          type: integer
        numberOfUnits:
          type: integer
        purchasePrice:
          type: number
          format: double
        purchaseDate:
          type: string
      

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/argus-enterprise/refs/heads/main/openapi/argus-enterprise-core-openapi.yml