VaultRE Commercial Properties API

Operations related to commercial properties

Operations 17

GET /properties/commercial/{salelease} Retrieve a list of commercial properties #
POST /properties/commercial/{salelease} Add a commercial property #
GET /properties/commercial/{salelease}/{id} Retrieve a single commercial property #
PUT /properties/commercial/{salelease}/{id} Update a commercial property #
GET /properties/commercial/sale Retrieve a list of commercial sale properties #
POST /properties/commercial/sale Add a commercial sale property #
GET /properties/commercial/sale/available Retrieve a list of available commercial sale properties #
GET /properties/commercial/sale/{id} Retrieve a single commercial sale property #
PUT /properties/commercial/sale/{id} Update a commercial sale property #
GET /properties/commercial/sale/sold Retrieve a list of sold commercial properties #
GET /properties/commercial/lease/leased Retrieve a list of leased commercial properties #
GET /properties/commercial/lease Retrieve a list of commercial lease properties #
POST /properties/commercial/lease Add a commercial lease property #
GET /properties/commercial/lease/available Retrieve a list of available commercial lease properties #
GET /properties/commercial/lease/{id} Retrieve a single commercial lease property #
PUT /properties/commercial/lease/{id} Update a commercial lease property #
GET /properties/commercial/sale/{id}/{lifeid} Retrieve a single commercial property #

Documentation

Specifications

Code Examples

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vaultre-commercialproperties-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vaultre-commercialproperties-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vaultre Commercial Properties API
  contact:
    name: VaultRE
    url: https://www.vaultre.com.au
    email: api@vaultre.com.au
  version: '1.0'
  description: 'Operations tagged commercialProperties across 3 of this provider''s published API definitions: vaultre-api-v1-1-openapi.yml, vaultre-api-v1-2-openapi.yml, vaultre-api-v1-3-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://ap-southeast-2.api.vaultre.com.au/api/v1.1
- url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
- url: https://ap-southeast-2.api.vaultre.com.au/api/v1.3
tags:
- name: commercialProperties
  description: Operations related to commercial properties
paths:
  /properties/commercial/{salelease}:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a list of commercial properties
      description: Retrieve a list of commercial properties
      operationId: getCommercialProperties
      parameters:
      - name: salelease
        in: path
        description: Filter by sale or lease properties
        required: true
        schema:
          type: string
          enum:
          - sale
          - lease
      - $ref: '#/components/parameters/modifiedSince'
      - $ref: '#/components/parameters/modifiedBefore'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pagesize'
      - $ref: '#/components/parameters/published'
      - name: status
        in: query
        description: Property status to filter by
        schema:
          type: string
          default: '50'
          enum:
          - prospect
          - appraisal
          - listing
          - conditional
          - listingOrConditional
          - unconditional
          - settled
          - management
          - withdrawn
      - name: contactStaff
        in: query
        description: Filter properties with contactStaff containing this user ID
        schema:
          type: integer
          format: int64
      - name: availableOnly
        in: query
        description: Filter available lease properties only
        schema:
          type: boolean
      - name: sort
        in: query
        description: Field by which to sort the results.
        schema:
          type: string
          enum:
          - inserted
          - modified
      - $ref: '#/components/parameters/sortOrder'
      responses:
        200:
          description: Properties retrieved
          content: {}
      security:
      - Api-Key: []
        Bearer: []
    post:
      tags:
      - commercialProperties
      summary: Add a commercial property
      description: Add a commercial property
      operationId: addCommercialProperty
      requestBody:
        description: Commercial property object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUpdateCommercialProperty'
        required: true
      responses:
        201:
          description: Property created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialPropertyExtended'
        400:
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessOrError'
      security:
      - Api-Key: []
        Bearer: []
      x-codegen-request-body-name: body
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.1
  /properties/commercial/{salelease}/{id}:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a single commercial property
      description: Retrieve a single commercial property
      operationId: getCommercialProperty
      parameters:
      - name: salelease
        in: path
        description: Filter by sale or lease properties
        required: true
        schema:
          type: string
          enum:
          - sale
          - lease
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: Property retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialPropertyExtended'
      security:
      - Api-Key: []
        Bearer: []
    put:
      tags:
      - commercialProperties
      summary: Update a commercial property
      description: Update a commercial property
      operationId: updateCommercialProperty
      parameters:
      - name: salelease
        in: path
        description: Update sale or lease life
        required: true
        schema:
          type: string
          enum:
          - sale
          - lease
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Commercial property object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUpdateCommercialProperty'
        required: true
      responses:
        200:
          description: Property updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialPropertyExtended'
        400:
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessOrError'
      security:
      - Api-Key: []
        Bearer: []
      x-codegen-request-body-name: body
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.1
  /properties/commercial/sale:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a list of commercial sale properties
      description: Retrieve a list of commercial sale properties
      operationId: getCommercialSaleProperties
      parameters:
      - $ref: '#/components/parameters/modifiedSince'
      - $ref: '#/components/parameters/modifiedBefore'
      - $ref: '#/components/parameters/priceReducedSince'
      - $ref: '#/components/parameters/priceReducedBefore'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pagesize'
      - $ref: '#/components/parameters/published'
      - $ref: '#/components/parameters/publishedOnPortals'
      - $ref: '#/components/parameters/listingAuthoritySince'
      - $ref: '#/components/parameters/listingAuthorityBefore'
      - $ref: '#/components/parameters/webLiveDateSince'
      - $ref: '#/components/parameters/webLiveDateBefore'
      - name: status
        in: query
        description: Filter by a list of statuses
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - prospect
            - appraisal
            - listing
            - conditional
            - listingOrConditional
            - unconditional
      - name: contactStaff
        in: query
        description: Filter properties with contactStaff containing this user ID
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/suburbs'
      - $ref: '#/components/parameters/branches'
      - name: sort
        in: query
        description: Field by which to sort the results.
        schema:
          type: string
          enum:
          - inserted
          - modified
          - suburb
          - searchPrice
      - $ref: '#/components/parameters/sortOrder'
      responses:
        200:
          description: Properties retrieved
          content: {}
      security:
      - Api-Key: []
        Bearer: []
    post:
      tags:
      - commercialProperties
      summary: Add a commercial sale property
      description: Add a commercial sale property
      operationId: addCommercialSaleProperty
      requestBody:
        description: Commercial Sale property object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUpdateCommercialSaleProperty'
        required: true
      responses:
        201:
          description: Property created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialSalePropertyExtended'
        400:
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessOrError'
      security:
      - Api-Key: []
        Bearer: []
      x-codegen-request-body-name: body
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
  /properties/commercial/sale/available:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a list of available commercial sale properties
      description: Retrieve a list of available commercial sale properties. This is the same as the /properties/commercial/sale endpoint, with certain filters pre-applied.
      operationId: getAvailableCommercialSaleProperties
      parameters:
      - $ref: '#/components/parameters/modifiedSince'
      - $ref: '#/components/parameters/modifiedBefore'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pagesize'
      - name: contactStaff
        in: query
        description: Filter properties with contactStaff containing this user ID
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/suburbs'
      - $ref: '#/components/parameters/branches'
      - name: sort
        in: query
        description: Field by which to sort the results.
        schema:
          type: string
          enum:
          - inserted
          - modified
          - suburb
          - searchPrice
      - $ref: '#/components/parameters/sortOrder'
      responses:
        200:
          description: Properties retrieved
          content: {}
      security:
      - Api-Key: []
        Bearer: []
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
  /properties/commercial/sale/{id}:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a single commercial sale property
      description: Retrieve a single commercial sale property
      operationId: getCommercialSaleProperty
      parameters:
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: Property retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialSalePropertyExtended'
      security:
      - Api-Key: []
        Bearer: []
    put:
      tags:
      - commercialProperties
      summary: Update a commercial sale property
      description: Update a commercial sale property
      operationId: updateCommercialSaleProperty
      parameters:
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Commercial sale property object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUpdateCommercialSaleProperty'
        required: true
      responses:
        200:
          description: Property updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialSalePropertyExtended'
        400:
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessOrError'
      security:
      - Api-Key: []
        Bearer: []
      x-codegen-request-body-name: body
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
  /properties/commercial/sale/sold:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a list of sold commercial properties
      description: Retrieve a list of sold commercial properties
      operationId: getCommercialSoldProperties
      parameters:
      - $ref: '#/components/parameters/modifiedSince'
      - $ref: '#/components/parameters/modifiedBefore'
      - $ref: '#/components/parameters/unconditionalSince'
      - $ref: '#/components/parameters/unconditionalBefore'
      - $ref: '#/components/parameters/settlementSince'
      - $ref: '#/components/parameters/settlementBefore'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pagesize'
      - $ref: '#/components/parameters/published'
      - $ref: '#/components/parameters/publishedOnPortals'
      - name: status
        in: query
        description: Filter by a list of statuses
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - unconditional
            - settled
      - name: contactStaff
        in: query
        description: Filter properties with contactStaff containing this user ID
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/suburbs'
      - $ref: '#/components/parameters/branches'
      - name: sort
        in: query
        description: Field by which to sort the results.
        schema:
          type: string
          enum:
          - inserted
          - modified
          - unconditional
          - settlement
          - suburb
      - $ref: '#/components/parameters/sortOrder'
      responses:
        200:
          description: Properties retrieved
          content: {}
      security:
      - Api-Key: []
        Bearer: []
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
  /properties/commercial/lease/leased:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a list of leased commercial properties
      description: Retrieve a list of leased commercial properties
      operationId: getCommercialLeasedProperties
      parameters:
      - $ref: '#/components/parameters/modifiedSince'
      - $ref: '#/components/parameters/modifiedBefore'
      - $ref: '#/components/parameters/unconditionalSince'
      - $ref: '#/components/parameters/unconditionalBefore'
      - $ref: '#/components/parameters/settlementSince'
      - $ref: '#/components/parameters/settlementBefore'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pagesize'
      - $ref: '#/components/parameters/published'
      - $ref: '#/components/parameters/publishedOnPortals'
      - name: status
        in: query
        description: Filter by a list of statuses
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - unconditional
            - settled
      - name: contactStaff
        in: query
        description: Filter properties with contactStaff containing this user ID
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/suburbs'
      - $ref: '#/components/parameters/branches'
      - name: sort
        in: query
        description: Field by which to sort the results.
        schema:
          type: string
          enum:
          - inserted
          - modified
          - unconditional
          - settlement
          - suburb
      - $ref: '#/components/parameters/sortOrder'
      responses:
        200:
          description: Properties retrieved
          content: {}
      security:
      - Api-Key: []
        Bearer: []
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
  /properties/commercial/lease:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a list of commercial lease properties
      description: Retrieve a list of commercial lease properties
      operationId: getCommercialLeaseProperties
      parameters:
      - $ref: '#/components/parameters/modifiedSince'
      - $ref: '#/components/parameters/modifiedBefore'
      - $ref: '#/components/parameters/priceReducedSince'
      - $ref: '#/components/parameters/priceReducedBefore'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pagesize'
      - $ref: '#/components/parameters/published'
      - $ref: '#/components/parameters/publishedOnPortals'
      - $ref: '#/components/parameters/listingAuthoritySince'
      - $ref: '#/components/parameters/listingAuthorityBefore'
      - $ref: '#/components/parameters/webLiveDateSince'
      - $ref: '#/components/parameters/webLiveDateBefore'
      - name: status
        in: query
        description: Filter by a list of statuses
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - prospect
            - appraisal
            - listing
            - conditional
            - listingOrConditional
            - unconditional
            - management
      - name: contactStaff
        in: query
        description: Filter properties with contactStaff containing this user ID
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/suburbs'
      - $ref: '#/components/parameters/branches'
      - name: availableOnly
        in: query
        description: Filter available lease properties only
        schema:
          type: boolean
      - name: sort
        in: query
        description: Field by which to sort the results.
        schema:
          type: string
          enum:
          - inserted
          - modified
          - suburb
          - searchPrice
      - $ref: '#/components/parameters/sortOrder'
      responses:
        200:
          description: Properties retrieved
          content: {}
      security:
      - Api-Key: []
        Bearer: []
    post:
      tags:
      - commercialProperties
      summary: Add a commercial lease property
      description: Add a commercial lease property
      operationId: addCommercialLeaseProperty
      requestBody:
        description: Commercial Lease property object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUpdateCommercialLeaseProperty'
        required: true
      responses:
        201:
          description: Property created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialLeasePropertyExtended'
        400:
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessOrError'
      security:
      - Api-Key: []
        Bearer: []
      x-codegen-request-body-name: body
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
  /properties/commercial/lease/available:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a list of available commercial lease properties
      description: Retrieve a list of available commercial lease properties. This is the same as the /properties/commercial/lease endpoint, with certain filters pre-applied.
      operationId: getAvailableCommercialLeaseProperties
      parameters:
      - $ref: '#/components/parameters/modifiedSince'
      - $ref: '#/components/parameters/modifiedBefore'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pagesize'
      - name: contactStaff
        in: query
        description: Filter properties with contactStaff containing this user ID
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/suburbs'
      - $ref: '#/components/parameters/branches'
      - name: availableOnly
        in: query
        description: Filter available lease properties only
        schema:
          type: boolean
      - name: sort
        in: query
        description: Field by which to sort the results.
        schema:
          type: string
          enum:
          - inserted
          - modified
          - suburb
          - searchPrice
      - $ref: '#/components/parameters/sortOrder'
      responses:
        200:
          description: Properties retrieved
          content: {}
      security:
      - Api-Key: []
        Bearer: []
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
  /properties/commercial/lease/{id}:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a single commercial lease property
      description: Retrieve a single commercial lease property
      operationId: getCommercialLeaseProperty
      parameters:
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: Property retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialLeasePropertyExtended'
      security:
      - Api-Key: []
        Bearer: []
    put:
      tags:
      - commercialProperties
      summary: Update a commercial lease property
      description: Update a commercial lease property
      operationId: updateCommercialLeaseProperty
      parameters:
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Commercial property object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUpdateCommercialLeaseProperty'
        required: true
      responses:
        200:
          description: Property updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialLeasePropertyExtended'
        400:
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessOrError'
      security:
      - Api-Key: []
        Bearer: []
      x-codegen-request-body-name: body
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
  /properties/commercial/sale/{id}/{lifeid}:
    get:
      tags:
      - commercialProperties
      summary: Retrieve a single commercial property
      description: Retrieve a single commercial property
      operationId: getCommericalPropertyAndLife
      parameters:
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      - name: lifeid
        in: path
        description: The ID of the life to join with this property.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: Property retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommercialSalePropertyExtended_2'
      security:
      - Api-Key: []
        Bearer: []
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.3
components:
  schemas:
    ID:
      type: object
      properties:
        id:
          type: integer
          format: int64
    State:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        abbreviation:
          type: string
    Country:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        isocode:
          type: string
        gstRate:
          type: number
          format: float
    Area:
      type: object
      properties:
        value:
          type: integer
          format: int64
        units:
          type: string
          enum:
          - sqm
          - acre
          - hectare
    Geolocation:
      type: object
      properties:
        latitude:
          type: number
          format: float
        longitude:
          type: number
          format: float
        accuracy:
          type: string
          enum:
          - USERDEFINED
          - ROOFTOP
          - RANGE_INTERPOLATED
          - GEOMETRIC_CENTER
          - APPROXIMATE
    Property:
      type: object
      properties:
        id:
          type: integer
          format: int64
        building:
          $ref: '#/components/schemas/Building'
        class:
          $ref: '#/components/schemas/PropertyClass'
        type:
          $ref: '#/components/schemas/PropertyType'
        address:
          $ref: '#/components/schemas/Address'
        displayAddress:
          type: string
        referenceID:
          type: string
        keyID:
          type: string
        photos:
          type: array
          items:
            $ref: '#/components/schemas/PropertyPhoto'
        searchPrice:
          type: number
          format: float
        displayPrice:
          type: string
        heading:
          type: string
        description:
          type: string
        brochureDescription:
          type: string
        landArea:
          $ref: '#/components/schemas/Area'
        volumeNumber:
          type: string
        folioNumber:
          type: string
        corelogicId:
          type: integer
          format: int64
        yearBuilt:
          type: integer
          format: int64
        inserted:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        saleLifeId:
          type: integer
          format: int64
        leaseLifeId:
          type: integer
          format: int64
        geolocation:
          $ref: '#/components/schemas/Geolocation'
        contactStaff:
          type: array
          items:
            $ref: '#/components/schemas/User'
      discriminator:
        propertyName: class
    AddUpdateProperty:
      type: object
      properties:
        building:
          $ref: '#/components/schemas/ID'
        type:
          $ref: '#/components/schemas/ID'
        address:
          $ref: '#/components/schemas/UpdateAddress'
        referenceID:
          type: string
        keyID:
          type: string
        searchPrice:
          type: number
          format: float
        displayPrice:
          type: string
        heading:
          type: string
        description:
          type: string
        brochureDescription:
          type: string
        landArea:
          $ref: '#/components/schemas/Area'
        volumeNumber:
          type: string
        folioNumber:
          type: string
        corelogicId:
          type: integer
          format: int64
        yearBuilt:
          type: integer
          format: int64
        accessBy:
          type: array
          items:
            $ref: '#/components/schemas/ID'
        contactStaff:
          type: array
          items:
            $ref: '#/components/schemas/ID'
      discriminator:
        propertyName: class
    AuctionDetails:
      type: object
      properties:
        dateTime:
          type: string
          format: date-time
        venue:
          type: string
        auctioneer:
          type: string
    CommercialPropertyExtended:
      allOf:
      - $ref: '#/components/schemas/CommercialProperty'
      - type: object
        properties:
          accessBy:
            type: array
            items:
              $ref: '#/components/schemas/Access'
          externalLinks:
            type: array
            items:
              $ref: '#/components/schemas/ExternalLink'
          auctionDetails:
            $ref: '#/components/schemas/AuctionDetails'
    User:
      type: object
      properties:
        id:
          type: integer
          format: int64
        firstName:
          type: string
        lastName:
          type: string
        username:
          type: string
        email:
          type: string
          format: email
        adminAccess:
          type: boolean
        position:
          type: string
        role:
          type: string
          enum:
          - commercialSalesAndLeasing
          - residentialSales
          - propertyManagement
        photo:
          $ref: '#/components/schemas/UserPhoto'
        lastLogin:
          type: string
          format: date-time
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber'
        profile:
          type: string
        permissions:
          type: object
          properties:
            settings:
              type: boolean
            canLogin:
              type: boolean
            deleteContacts:
              type: boolean
            globalActionListsReadWrite:
              type: boolean
            globalContactsReadWrite:
              type: boolean
            globalNotesRead:
              type: boolean
            globalNotesReadWrite:
              type: boolean
            globalPropertiesRead:
              type: boolean
            globalPropertiesReadWrite:
              type: boolean
            globalTasksReadWrite:
              type: boolean
            sendSMS:
              type: boolean
    PhoneNumber:
      type: object
      properties:
        number:
          type: string
        typeCode:
          type: string
          enum:
          - H
          - W
          - M
          - F
          - D
        type:
          type: string
          enum:
          - Home
          - Work
          - Mobile
          - Facsimile
          - Direct
    PropertyPhoto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        inserted:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        filesize:
          type: integer
          format: int64
        width:
          type: integer
          format: int64
        height:
          type: integer
          format: int64
        caption:
          type: string
        type:
          type: string
          enum:
          - Photograph
          - Floorplan
        url:
          type: string
        filename:
          type: string
        userFilename:
          type: string
        thumbnails:
          $ref: '#/components/schemas/PropertyPhotoThumbnails'
        published:
          type: boolean
    CommercialProperty:
      allOf:
      - $ref: '#/components/schemas/Property'
      - type: object
        properties:
          carSpaces:
            type: integer
            format: int64
          floorArea:
            $ref: '#/components/schemas/Area'
          status:
            type: string
            enum:
            - prospect
            - appraisal
            - listing
            - conditional
            - unconditional
            - settled
            - management
            - withdrawn
    PropertyClass:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    Address:
      type: object
      properties:
        level:
          type: string
        unitNumber:
          type: string
        streetNumber:
          type: string
        street:
          type: string
        suburb:
          $ref: '#/components/schemas/Suburb'
        state:
          $ref: '#/components/schemas/State'
        country:
          $ref: '#/components/schemas/Country'
    Suburb:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        postcode:
          type: string
        state:
          $ref: '#/components/schemas/State'
    AddUpdateCommercialProperty:
      allOf:
      - $ref: '#/components/schemas/AddUpdateProperty'
      - type: object
        properties:
          carSpaces:
            type: integer
            format: int64
          floorArea:
            $ref: '#/components/schemas/Area'
          status:
            type: string
            enum:
            - prospect
            - appraisal
    UpdateAddress:
      type: object
      properties:
        level:
          type: string
 

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