VaultRE Feedback API

Operations related to property feedback

Operations 6

GET /properties/{id}/{salelease}/{lifeid}/feedback Retrieve a list of property feedback attached to this life #
POST /properties/{id}/{salelease}/{lifeid}/feedback Attach feedback to this property life #
GET /properties/{propertyid}/{salelease}/{lifeid}/feedback/{id} Retrieve a property feedback item attached to this life #
PUT /properties/{propertyid}/{salelease}/{lifeid}/feedback/{id} Update a feedback item #
DELETE /properties/{propertyid}/{salelease}/{lifeid}/feedback/{id} Delete a property feedback item #
GET /properties/{id}/{salelease}/{lifeid}/feedback/summary Retrieve a summary of property feedback feedback attached to this life #

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-feedback-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-feedback-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vaultre Feedback API
  contact:
    name: VaultRE
    url: https://www.vaultre.com.au
    email: api@vaultre.com.au
  version: '1.0'
  description: 'Operations tagged feedback 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: feedback
  description: Operations related to property feedback
paths:
  /properties/{id}/{salelease}/{lifeid}/feedback:
    get:
      tags:
      - feedback
      summary: Retrieve a list of property feedback attached to this life
      description: Retrieve a list of property feedback attached to this life
      operationId: getPropertyFeedbackLife
      parameters:
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      - name: salelease
        in: path
        description: Sale or lease life record
        required: true
        schema:
          type: string
          enum:
          - sale
          - lease
      - name: lifeid
        in: path
        description: ID of the property life
        required: true
        schema:
          type: integer
          format: int64
      - name: feedbackAfter
        in: query
        description: Filter feedback occurring on or after this date
        schema:
          type: string
          format: date
      - name: feedbackBefore
        in: query
        description: Filter feedback occurring before this date
        schema:
          type: string
          format: date
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pagesize'
      - name: sort
        in: query
        description: Field by which to sort the results.
        schema:
          type: string
          enum:
          - inserted
          - feedbackDate
      - $ref: '#/components/parameters/sortOrder'
      responses:
        200:
          description: Property feedback retrieved
          content: {}
      security:
      - Api-Key: []
        Bearer: []
    post:
      tags:
      - feedback
      summary: Attach feedback to this property life
      description: Attach feedback to this property life
      operationId: attachFeedbackToPropertyLife
      parameters:
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      - name: salelease
        in: path
        description: Sale or lease life record
        required: true
        schema:
          type: string
          enum:
          - sale
          - lease
      - name: lifeid
        in: path
        description: ID of the property life
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Property Feedback object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddPropertyFeedback'
        required: true
      responses:
        201:
          description: Feedback attached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyFeedback'
        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/{propertyid}/{salelease}/{lifeid}/feedback/{id}:
    get:
      tags:
      - feedback
      summary: Retrieve a property feedback item attached to this life
      description: Retrieve a property feedback item attached to this life
      operationId: getSinglePropertyFeedbackLife
      parameters:
      - name: propertyid
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      - name: salelease
        in: path
        description: Sale or lease life record
        required: true
        schema:
          type: string
          enum:
          - sale
          - lease
      - name: lifeid
        in: path
        description: ID of the property life
        required: true
        schema:
          type: integer
          format: int64
      - name: id
        in: path
        description: ID of the feedback
        required: true
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: Property feedback retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyFeedback'
      security:
      - Api-Key: []
        Bearer: []
    put:
      tags:
      - feedback
      summary: Update a feedback item
      description: Update a feedback item
      operationId: updateFeedback
      parameters:
      - name: propertyid
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      - name: salelease
        in: path
        description: Sale or lease life record
        required: true
        schema:
          type: string
          enum:
          - sale
          - lease
      - name: lifeid
        in: path
        description: ID of the property life
        required: true
        schema:
          type: integer
          format: int64
      - name: id
        in: path
        description: ID of the feedback
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Property Feedback object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePropertyFeedback'
        required: true
      responses:
        200:
          description: Feedback updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyFeedback'
        400:
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessOrError'
      security:
      - Api-Key: []
        Bearer: []
      x-codegen-request-body-name: body
    delete:
      tags:
      - feedback
      summary: Delete a property feedback item
      description: Delete a property feedback item
      operationId: deletePropertyFeedback
      parameters:
      - name: propertyid
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      - name: salelease
        in: path
        description: Sale or lease life record
        required: true
        schema:
          type: string
          enum:
          - sale
          - lease
      - name: lifeid
        in: path
        description: ID of the property life
        required: true
        schema:
          type: integer
          format: int64
      - name: id
        in: path
        description: ID of the feedback
        required: true
        schema:
          type: integer
          format: int64
      responses:
        204:
          description: Feedback deleted
          content: {}
        400:
          description: Invalid data
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SuccessOrError'
      security:
      - Api-Key: []
        Bearer: []
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.1
  /properties/{id}/{salelease}/{lifeid}/feedback/summary:
    get:
      tags:
      - feedback
      summary: Retrieve a summary of property feedback feedback attached to this life
      description: Retrieve a summary showing how many times each contact has provided feedback/interacted with this property life
      operationId: getPropertyFeedbackLifeSummary
      parameters:
      - name: id
        in: path
        description: ID of the property
        required: true
        schema:
          type: integer
          format: int64
      - name: salelease
        in: path
        description: Sale or lease life record
        required: true
        schema:
          type: string
          enum:
          - sale
          - lease
      - name: lifeid
        in: path
        description: ID of the property life
        required: true
        schema:
          type: integer
          format: int64
      - name: feedbackAfter
        in: query
        description: Filter feedback occurring on or after this date
        schema:
          type: string
          format: date
      - name: feedbackBefore
        in: query
        description: Filter feedback occurring before this date
        schema:
          type: string
          format: date
      - $ref: '#/components/parameters/modifiedSince'
      - $ref: '#/components/parameters/modifiedBefore'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pagesize'
      - name: sort
        in: query
        description: Field by which to sort the results.
        schema:
          type: string
          enum:
          - count
      - $ref: '#/components/parameters/sortOrder'
      responses:
        200:
          description: Property feedback summary retrieved
          content: {}
      security:
      - Api-Key: []
        Bearer: []
    servers:
    - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.2
components:
  schemas:
    ContactNoteTypePurpose:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    ID:
      type: object
      properties:
        id:
          type: integer
          format: int64
    State:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        abbreviation:
          type: string
    UpdateContactNote:
      type: object
      properties:
        body:
          type: string
        readOnly:
          type: boolean
        type:
          $ref: '#/components/schemas/ID'
        reminder:
          $ref: '#/components/schemas/AddContactNoteReminder'
    UpdatePropertyFeedback:
      type: object
      properties:
        note:
          $ref: '#/components/schemas/UpdateContactNote'
        contact:
          $ref: '#/components/schemas/ID'
        feedbackDate:
          type: string
          format: date-time
        priceOpinion:
          type: number
          format: float
    Country:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        isocode:
          type: string
        gstRate:
          type: number
          format: float
    ContactNoteType:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        colour:
          type: string
        defaultReadOnly:
          type: boolean
        purpose:
          $ref: '#/components/schemas/ContactNoteTypePurpose'
    AddPropertyFeedback:
      type: object
      properties:
        note:
          $ref: '#/components/schemas/AddContactNote'
        contact:
          $ref: '#/components/schemas/ID'
        feedbackDate:
          type: string
          format: date-time
        priceOpinion:
          type: number
          format: float
    AddContactNote:
      type: object
      properties:
        body:
          type: string
        readOnly:
          type: boolean
        type:
          $ref: '#/components/schemas/ID'
        reminder:
          $ref: '#/components/schemas/AddContactNoteReminder'
        inserted:
          type: string
          format: date-time
    ContactNoteReminder:
      type: object
      properties:
        date:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/User'
    ContactNote:
      type: object
      properties:
        id:
          type: integer
          format: int64
        inserted:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        body:
          type: string
        readOnly:
          type: boolean
        insertedBy:
          $ref: '#/components/schemas/User'
        type:
          $ref: '#/components/schemas/ContactNoteType'
        reminder:
          $ref: '#/components/schemas/ContactNoteReminder'
    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
    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'
    PropertyFeedback:
      type: object
      properties:
        id:
          type: integer
          format: int64
        note:
          $ref: '#/components/schemas/ContactNote'
        contact:
          $ref: '#/components/schemas/Contact'
        feedbackDate:
          type: string
          format: date-time
        priceOpinion:
          type: number
          format: float
    Suburb:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        postcode:
          type: string
        state:
          $ref: '#/components/schemas/State'
    Contact:
      type: object
      properties:
        id:
          type: integer
          format: int64
        title:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        greeting:
          type: string
        displayName:
          type: string
        partnerTitle:
          type: string
        partnerFirstName:
          type: string
        partnerLastName:
          type: string
        company:
          type: string
        position:
          type: string
        address:
          $ref: '#/components/schemas/Address'
        postalAddress:
          $ref: '#/components/schemas/Address'
        onDoNotCallList:
          type: boolean
        inserted:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        touched:
          type: string
          format: date-time
        remoteId:
          type: string
        unsubscribe:
          $ref: '#/components/schemas/Unsubscribe'
        emails:
          type: array
          items:
            type: string
            format: email
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber'
        legalDescription:
          type: string
    Unsubscribe:
      type: object
      properties:
        email:
          type: boolean
        sms:
          type: boolean
        letters:
          type: boolean
    UserPhoto:
      type: object
      properties:
        original:
          type: string
        thumb_360:
          type: string
    SuccessOrError:
      type: object
      properties:
        success:
          type: boolean
        msg:
          type: string
        code:
          type: string
    AddContactNoteReminder:
      type: object
      properties:
        date:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/ID'
    UpdateContactNote_2:
      type: object
      properties:
        body:
          type: string
        readOnly:
          type: boolean
        type:
          $ref: '#/components/schemas/ID'
        reminder:
          $ref: '#/components/schemas/AddContactNoteReminder'
        accessBy:
          type: array
          items:
            $ref: '#/components/schemas/ID'
    UpdatePropertyFeedback_2:
      type: object
      properties:
        note:
          $ref: '#/components/schemas/UpdateContactNoteWithFeedback'
    UpdateContactNoteWithFeedback:
      allOf:
      - $ref: '#/components/schemas/UpdateContactNote_2'
      - type: object
        properties:
          propertyFeedback:
            $ref: '#/components/schemas/AddUpdatePropertyFeedback'
    ContactNoteType_2:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        colour:
          type: string
        defaultReadOnly:
          type: boolean
        pinned:
          type: boolean
        purpose:
          $ref: '#/components/schemas/ContactNoteTypePurpose'
    EntityType:
      type: object
      properties:
        id:
          type: number
          format: int64
        name:
          type: string
    EnquirySource:
      type: object
      properties:
        id:
          type: number
          format: int64
        name:
          type: string
    AddUpdatePropertyFeedback:
      type: object
      properties:
        priceOpinion:
          type: number
          format: float
        feedbackDate:
          type: string
          format: date-time
        contractRequested:
          type: boolean
        contractSent:
          type: string
          format: date-time
    AddPropertyFeedback_2:
      type: object
      properties:
        contact:
          $ref: '#/components/schemas/ID'
        note:
          $ref: '#/components/schemas/AddContactNoteWithFeedback'
    AddContactNote_2:
      type: object
      properties:
        body:
          type: string
        readOnly:
          type: boolean
        type:
          $ref: '#/components/schemas/ID'
        reminder:
          $ref: '#/components/schemas/AddContactNoteReminder'
        inserted:
          type: string
          format: date-time
        accessBy:
          type: array
          items:
            $ref: '#/components/schemas/ID'
    User_2:
      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_2'
        profile:
          type: string
        permissions:
          type: object
          properties:
            settings:
              type: boolean
            accessPropertyManagement:
              type: boolean
            accessSales:
              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
        websiteUrl:
          type: string
    ContactNote_2:
      type: object
      properties:
        id:
          type: integer
          format: int64
        inserted:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        body:
          type: string
        readOnly:
          type: boolean
        contact:
          $ref: '#/components/schemas/ID'
        insertedBy:
          $ref: '#/components/schemas/User_2'
        type:
          $ref: '#/components/schemas/ContactNoteType_2'
        reminder:
          $ref: '#/components/schemas/ContactNoteReminder'
        propertyFeedback:
          $ref: '#/components/schemas/PropertyFeedback_2'
    PhoneNumber_2:
      type: object
      properties:
        number:
          type: string
        typeCode:
          type: string
          enum:
          - H
          - W
          - M
          - F
          - D
        type:
          type: string
          enum:
          - Home
          - Work
          - Mobile
          - Facsimile
          - Direct
        comment:
          type: string
    PropertyClass:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        internalName:
          type: string
    PropertyFeedback_2:
      type: object
      properties:
        id:
          type: integer
          format: int64
        property:
          type: object
          properties:
            id:
              type: number
              format: int64
            displayAddress:
              type: string
            saleLifeId:
              type: number
              format: int64
            leaseLifeId:
              type: number
              format: int64
            class:
              $ref: '#/components/schemas/PropertyClass'
        feedbackDate:
          type: string
          format: date-time
        priceOpinion:
          type: number
          format: float
        saleLifeId:
          type: number
          format: int64
        leaseLifeId:
          type: number
          format: int64
        contractRequested:
          type: boolean
        contractSent:
          type: string
          format: date-time
    ContactExtended:
      allOf:
      - $ref: '#/components/schemas/Contact_2'
      - type: object
        properties:
          accessBy:
            type: array
            items:
              $ref: '#/components/schemas/Access'
          sourceOfEnquiry:
            $ref: '#/components/schemas/EnquirySource'
    Contact_2:
      type: object
      properties:
        id:
          type: integer
          format: int64
        title:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        greeting:
          type: string
        displayName:
          type: string
        partnerTitle:
          type: string
        partnerFirstName:
          type: string
        partnerLastName:
          type: string
        company:
          type: string
        position:
          type: string
        address:
          $ref: '#/components/schemas/Address'
        postalAddress:
          $ref: '#/components/schemas/Address'
        onDoNotCallList:
          type: boolean
        archived:
          type: boolean
        inserted:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        touched:
          type: string
          format: date-time
        remoteId:
          type: string
        unsubscribe:
          $ref: '#/components/schemas/Unsubscribe'
        entityType:
          $ref: '#/components/schemas/EntityType'
        emails:
          type: array
          items:
            type: string
            format: email
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber_2'
        legalDescription:
          type: string
        marketingUsers:
          type: array
          items:
            $ref: '#/components/schemas/MarketingUser'
    MarketingUser:
      type: object
      properties:
        id:
          type: integer
          format: int64
        user:
          $ref: '#/components/schemas/Access'
    ContactNoteExtended:
      allOf:
      - $ref: '#/components/schemas/ContactNote_2'
      - type: object
        properties:
          accessBy:
            type: array
            items:
              $ref: '#/components/schemas/Access'
    AddContactNoteWithFeedback:
      allOf:
      - $ref: '#/components/schemas/AddContactNote_2'
      - type: object
        properties:
          propertyFeedback:
            $ref: '#/components/schemas/AddUpdatePropertyFeedback'
    Access:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        photo:
          $ref: '#/components/schemas/UserPhoto'
    ContactNoteAndContactExtended:
      type: object
      properties:
        note:
          $ref: '#/components/schemas/ContactNoteExtended'
        contact:
          $ref: '#/components/schemas/ContactExtended'
    UpdateContactNote_3:
      type: object
      properties:
        body:
          type: string
        readOnly:
          type: boolean
        type:
          $ref: '#/components/schemas/ID'
        reminder:
          $ref: '#/components/schemas/AddContactNoteReminder'
        accessBy:
          type: array
          items:
            $ref: '#/components/schemas/ID'
    UpdatePropertyFeedback_3:
      type: object
      properties:
        note:
          $ref: '#/components/schemas/UpdateContactNoteWithFeedback_2'
    Region:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    UpdateContactNoteWithFeedback_2:
      allOf:
      - $ref: '#/components/schemas/UpdateContactNote_3'
      - type: object
        properties:
          propertyFeedback:
            $ref: '#/components/schemas/AddUpdatePropertyFeedback'
    ContactNoteType_3:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        colour:
          type: string
        defaultReadOnly:
          type: boolean
        pinned:
          type: boolean
        purpose:
          $ref: '#/components/schemas/ContactNoteTypePurpose'
    AddPropertyFeedback_3:
      type: object
      properties:
        contact:
          $ref: '#/components/schemas/ID'
        note:
          $ref: '#/components/schemas/AddContactNoteWithFeedback_2'
    UnsubscribeType:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    AddContactNote_3:
      type: object
      properties:
        body:
          type: string
        readOnly:
          type: boolean
        type:
          $ref: '#/components/schemas/ID'
        reminder:
          $ref: '#/components/schemas/AddContactNoteReminder'
        inserted:
          type: string
          format: date-time
        accessBy:
          type: array
          items:
            $ref: '#/components/schemas/ID'
        insertedBy:
          $ref: '#/components/schemas/ID'
    User_3:
      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_3'
        profile:
          type: string
        permissions:
          type: object
          properties:
            settings:
              type: boolean
            accessPropertyManagement:
              type: boolean
            accessSales:
              type: boolean
            canLogin:
              type: boolean
            deleteContacts:
              type: boolean
            deleteProperties:
              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
            accessPropertyFinancials:
              type: boolean
            accessAlarmDetails:
              type: boolean
            modifyWebsiteContent:
              type: boolean
            editMarketingContact:
              type: boolean
        websiteUrl:
          type: string
        showOnWeb:
          type: boolean
        externalReference:
          type: string
        ssoIdentifier:
          type: string
        signature:
          type: string
        account:
          type: object
          properties:
            id:
              type: integer
              format: int64
            name:
              type: string
        hideMobileFromPortal:
          type: boolean
    ContactNote_3:
      type: object
      properties:
        id:
          type: integer
          format: int64
        inserted:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        body:
          type: string
        readOnly:
          type: boolean
        contact:
          $ref: '#/components/schemas/ID'
        insertedBy:
          $ref: '#/components/schemas/User_3'
        type:
          $ref: '#/components/schemas/ContactNoteType_3'
        reminder:
          $ref: '#/components/schemas/ContactNoteReminder'
        propertyFeedback:
          $ref: '#/components/schemas/PropertyFeedback_3'
    PhoneNumber_3:
      type: object
      properties:
        number:
          type: string
        typeCode:
          type: string
          enum:
          - H
          - W
          - M
          - F
          - D
        type:
          type: string
          enum:
         

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