openapi: 3.0.1 info: title: VaultRE description: Please ensure all API requests use HTTP/1.1. See https://github.com/VaultGroup/api-samples for code samples. contact: name: VaultRE url: https://www.vaultre.com.au email: api@vaultre.com.au version: "1.3" servers: - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.3 tags: - name: advertising description: Operations related to property and agent advertising - name: categories description: Operations related to categories - name: lists description: Operations related to distribution lists - name: contacts description: Operations related to contacts - name: precincts description: Operations related to precincts - name: user description: Operations related to users - name: properties description: Operations related to properties - name: conjunctionals description: Operations related to conjunctional property deals - name: openhomes description: Operations related to open homes - name: propertyOfferConditions description: Operations related to property offer conditions - name: propertyOffer description: Operations related to property offers - name: feedback description: Operations related to property feedback - name: residentialProperties description: Operations related to residential properties - name: ruralProperties description: Operations related to rural properties - name: commercialProperties description: Operations related to commercial properties - name: businessProperties description: Operations related to business properties - name: landProperties description: Operations related to land properties - name: holidayRentalProperties description: Operations related to holiday rental properties - name: livestockProperties description: Operations related to livestock properties - name: clearingSalesProperties description: Operations related to clearing sales properties - name: search description: Operations related to performing searches - name: suggest description: Operations related to suggest services - name: buildings description: Operations related to buildings - name: calendar description: Operations related to calendar events - name: tasks description: Operations related to tasks - name: corelogic description: Operations related to CoreLogic - name: reinz description: Operations related to REINZ - name: types description: Operations related to various VaultRE object types - name: enquiries description: Operations related to listing enquiries - name: fmsleads description: Operations related to FMS leads - name: propertyStats description: Operations related to property portal stats - name: integrator description: Special endpoints for access by integrating partners - name: sms description: Operations related to SMS - name: email description: Operations related to email - name: templates description: Operations related to SMS and email templates - name: mergeFields description: Operations related to merge fields for SMS and email templates - name: maintenance description: Operations related to maintenance jobs - name: inspections description: Operations related to inspections - name: suppliers description: Operations related to creditors / suppliers - name: bulk description: Bulk operations - name: deals description: Operations related to commercial deals - name: suburbs description: Operations related to suburbs - name: messages description: Operations related to franchise and user messages - name: keys description: Operations related to property keys - name: eventStream description: Operations related to the event stream - name: campaigns description: Operations related to marketing campaigns - name: tenancies description: Operations related to tenancies - name: invoices description: Operations related to invoices - name: aml description: Operations related to AML checks paths: /eventStream: get: tags: - eventStream summary: Poll the event stream description: Retrieve events from the event stream. operationId: getEventStream parameters: - name: eventsSince in: query description: Retrieve events since this date. Note that events expire after 30 days. schema: type: string format: date-time - name: cursor in: query description: Used for pagination. Retrieve results starting from this cursor position. schema: type: string responses: 200: description: Events retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/EventStreamItem' urls: type: object properties: next: type: string security: - Api-Key: [] Bearer: [] /integrator/accounts: get: tags: - integrator summary: Retrieve a list of accounts linked to this integrator description: Retrieve a list of accounts linked to this integrator operationId: getIntegratorAccounts parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Accounts retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Account' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /integrator/accounts/{id}: get: tags: - integrator summary: Retrieve an account linked to this integrator description: Retrieve an account linked to this integrator operationId: getIntegratorAccount parameters: - name: id in: path description: ID of the account required: true schema: type: integer format: int64 responses: 200: description: Account retrieved content: application/json: schema: $ref: '#/components/schemas/Account' security: - Api-Key: [] Bearer: [] /integrator/accounts/{id}/users: get: tags: - integrator summary: Retrieve a list of users for this account description: Retrieve a list of users for this account operationId: getIntegratorAccountUsers parameters: - name: id in: path description: ID of the account required: true schema: type: integer format: int64 - name: email in: query description: Filter users matching the given email address schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - firstName - lastName - $ref: '#/components/parameters/sortOrder' responses: 200: description: Users retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/User' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /integrator/accounts/{accountid}/users/{id}: get: tags: - integrator summary: Retrieve a user for this account description: Retrieve a user for this account operationId: getIntegratorAccountUser parameters: - name: accountid in: path description: ID of the account required: true schema: type: integer format: int64 - name: id in: path description: ID of the user required: true schema: type: integer format: int64 responses: 200: description: User retrieved content: application/json: schema: $ref: '#/components/schemas/User' security: - Api-Key: [] Bearer: [] /integrator/scopes: get: tags: - integrator summary: Retrieve a list of possible scopes for your API key description: Retrieve a list of possible scopes for your API key. Note that individual bearer tokens may have fewer scopes applied. operationId: getIntegratorScopes responses: 200: description: Scopes retrieved content: application/json: schema: type: array items: type: string security: - Api-Key: [] Bearer: [] /integrator/tokens: get: tags: - integrator summary: Retrieve a list of bearer tokens, with accounts, linked to this integrator description: Retrieve a list of bearer tokens, with accounts, linked to this integrator operationId: getIntegratorTokens parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: accountId in: query description: Filter tokens belonging to this account ID schema: type: integer format: int64 responses: 200: description: Tokens retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Token' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /integrator/validateUser: post: tags: - integrator summary: Validate a user's credentials description: Validate a user's credentials operationId: validateIntegratorUser requestBody: description: Credential object content: application/json: schema: $ref: '#/components/schemas/Credential' required: true responses: 200: description: API Call completed successfully content: application/json: schema: type: object properties: userId: type: integer format: int64 accountId: type: integer format: int64 security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /integrator/merge-fields: get: tags: - integrator summary: Retrieve available merge fields for an account description: |- Integrator-authenticated version of the merge fields endpoint. Returns available merge fields for a given template type and delivery method for the specified account. The account must be enabled for the integrator. When `context` is omitted, returns a tiered response grouping fields by their availability requirements. When `context` is provided, returns a flat response containing only the fields usable in that context. operationId: getIntegratorMergeFields parameters: - name: account_id in: query description: ID of the account to fetch merge fields for. Must be enabled for this integrator. required: true schema: type: integer format: int64 - name: template_type in: query description: Template type ID (e.g. market_report, buyer_match, property_alert). required: true schema: type: string - name: delivery_method in: query description: Delivery method to filter fields by. Defaults to email. schema: type: string enum: - email - sms - cloud_letter default: email - name: context in: query description: |- Context ID (e.g. contact_only, contact_property_sale). When provided the response is a flat list of fields usable in that context. When omitted the response is tiered showing all availability levels. schema: type: string - name: include_custom in: query description: Include account-specific custom contact and property merge fields. schema: type: boolean default: false - name: search in: query description: Filter fields by matching against the field name, description, or token. schema: type: string responses: 200: description: Merge fields retrieved content: application/json: schema: oneOf: - $ref: '#/components/schemas/MergeFieldsTieredResponse' - $ref: '#/components/schemas/MergeFieldsFlatResponse' 400: description: account_id is required, or an invalid parameter value was supplied content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 404: description: Account not found or not enabled for this integrator content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/{salelease}/{lifeid}/externalStats: put: tags: - integrator summary: Integrator property statistics description: Update the property stats operationId: updateExternalPropertyStats 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 required: true schema: type: string - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: List of property stats content: application/json: schema: $ref: '#/components/schemas/UpdateIntegratorPropertyStats' required: true responses: 200: description: Property stats updated content: application/json: schema: type: array items: $ref: '#/components/schemas/UpdateIntegratorPropertyStats' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body post: tags: - integrator summary: Integrator property statistics description: Add or update a property stat operationId: updateExternalPropertyStat 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 required: true schema: type: string - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: Property stat to add or update content: application/json: schema: $ref: '#/components/schemas/IntegratorPropertyStat' required: true responses: 200: description: Property stats updated content: application/json: schema: $ref: '#/components/schemas/IntegratorPropertyStat' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /scopes: get: tags: - integrator summary: Retrieve a list of granted scopes for this bearer token description: Retrieve a list of granted scopes for this bearer token operationId: getTokenScopes responses: 200: description: Scopes retrieved content: application/json: schema: type: array items: type: string security: - Api-Key: [] Bearer: [] /responseCodes: get: tags: - types summary: Retrieve a list of response codes used in this API description: Retrieve a list of response codes used in this API operationId: getResponseCodes responses: 200: description: Response codes retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/ResponseCode' security: - Api-Key: [] /types/propertyClass: get: tags: - types summary: Retrieve a list of property classes description: Retrieve a list of property classes operationId: getPropertyClasses parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Property classes retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyClass' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/propertyType: get: tags: - types summary: Retrieve a list of property types description: Retrieve a list of property types applicable to this account operationId: getPropertyTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Property types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/customUnsubscribe: get: tags: - types summary: Retrieve a list of custom unsubscribe types description: Retrieve a list of custom unsubscribe types for this account operationId: getCustomUnsubscribeTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Custom unsubscribe types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/UnsubscribeType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/contactInterest: get: tags: - types summary: Retrieve a list of contact interest types description: Retrieve a list of contact interest types operationId: getContactInterestTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Contact interest types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactInterest' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/entityTypes: get: tags: - types summary: Retrieve a list of contact entity types description: Retrieve a list of contact entity types operationId: getContactEntityTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/EntityType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/externalLinks: get: tags: - types summary: Retrieve a list of property external link types description: Retrieve a list of property external link types operationId: getExternalLinkTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ExternalLinkType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/contactnotes: get: tags: - types summary: Retrieve a list of contact note types for this account description: Retrieve a list of contact note types for this account operationId: getContactNoteTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Note types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactNoteType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/contactnotes/{id}: get: tags: - types summary: Retrieve a single contact note type description: Retrieve a single contact note type operationId: getContactNoteType parameters: - name: id in: path description: ID of the note type required: true schema: type: integer format: int64 responses: 200: description: Note type retrieved content: application/json: schema: $ref: '#/components/schemas/ContactNoteType' security: - Api-Key: [] Bearer: [] /types/propertynotes: get: tags: - types summary: Retrieve a list of property note types for this account description: Retrieve a list of property note types for this account operationId: getPropertyNoteTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Note types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyNoteType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/propertynotes/{id}: get: tags: - types summary: Retrieve a single property note type description: Retrieve a single property note type operationId: getPropertyNoteType parameters: - name: id in: path description: ID of the note type required: true schema: type: integer format: int64 responses: 200: description: Note type retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyNoteType' security: - Api-Key: [] Bearer: [] /buildings: get: tags: - buildings summary: Retrieve a list of buildings description: Retrieve a list of buildings operationId: getBuildings parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Buildings retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Building' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - buildings summary: Create a building record description: Create a building record operationId: addBuilding requestBody: description: Building object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateBuilding' required: true responses: 200: description: Building already exists content: application/json: schema: $ref: '#/components/schemas/Building' 201: description: Building created content: application/json: schema: $ref: '#/components/schemas/Building' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /buildings/{id}: get: tags: - buildings summary: Retrieve a single building description: Retrieve a single building operationId: getBuilding parameters: - name: id in: path description: ID of the building required: true schema: type: integer format: int64 responses: 200: description: Building retrieved content: application/json: schema: $ref: '#/components/schemas/Building' security: - Api-Key: [] Bearer: [] put: tags: - buildings summary: Update the building description: Update the building operationId: updateBuilding parameters: - name: id in: path description: ID of the building required: true schema: type: integer format: int64 requestBody: description: Building object content: application/json: schema: $ref: '#/components/schemas/AddUpdateBuilding' required: true responses: 200: description: Building updated content: application/json: schema: $ref: '#/components/schemas/Building' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - buildings summary: Delete the building description: Delete the building operationId: deleteBuilding parameters: - name: id in: path description: ID of the building required: true schema: type: integer format: int64 responses: 204: description: Building deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /categories/contact/groups: get: tags: - categories summary: Retrieve a list of contact category groups description: Retrieve a list of contact category groups operationId: getContactCategoryGroups parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Contact category groups retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CategoryGrouping' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - categories summary: Create a contact category grouping description: Create a contact category grouping operationId: addContactCategoryGroup requestBody: description: Category Grouping object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateCategoryGrouping' required: true responses: 201: description: Category grouping created content: application/json: schema: $ref: '#/components/schemas/CategoryGroupingSimple' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /categories/contact/groups/{id}: get: tags: - categories summary: Retrieve a single contact category group description: Retrieve a single contact category group operationId: getContactCategoryGroup parameters: - name: id in: path description: ID of the category group required: true schema: type: integer format: int64 responses: 200: description: Category group retrieved content: application/json: schema: $ref: '#/components/schemas/CategoryGrouping' security: - Api-Key: [] Bearer: [] put: tags: - categories summary: Update a contact category grouping description: Update a contact category grouping operationId: updateContactCategoryGroup parameters: - name: id in: path description: ID of the category group required: true schema: type: integer format: int64 requestBody: description: Category Grouping object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateCategoryGrouping' required: true responses: 200: description: Category grouping updated content: application/json: schema: $ref: '#/components/schemas/CategoryGroupingSimple' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /categories/contact/groups/{id}/categories: get: tags: - categories summary: Retrieve a list of categories in this contact category group description: Retrieve a list of categories in this contact category group operationId: getContactCategoryGroupCategories parameters: - name: id in: path description: ID of the category group required: true schema: type: integer format: int64 responses: 200: description: Categories retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Category' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - categories summary: Create a contact category in this grouping description: Create a contact category in this grouping operationId: addContactCategoryGroupCategory parameters: - name: id in: path description: ID of the category group required: true schema: type: integer format: int64 requestBody: description: Category object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateCategory' required: true responses: 201: description: Category created content: application/json: schema: $ref: '#/components/schemas/Category' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /categories/contact/groups/{groupingid}/categories/{id}: get: tags: - categories summary: Retrieve a single category in this contact category group description: Retrieve a single category in this contact category group operationId: getContactCategoryGroupCategory parameters: - name: groupingid in: path description: ID of the category group required: true schema: type: integer format: int64 - name: id in: path description: ID of the category required: true schema: type: integer format: int64 responses: 200: description: Category retrieved content: application/json: schema: $ref: '#/components/schemas/Category' security: - Api-Key: [] Bearer: [] put: tags: - categories summary: Update a contact category in this grouping description: Update a contact category in this grouping operationId: updateContactCategoryGroupCategory parameters: - name: groupingid in: path description: ID of the category group required: true schema: type: integer format: int64 - name: id in: path description: ID of the category required: true schema: type: integer format: int64 requestBody: description: Category object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateCategory' required: true responses: 200: description: Category updated content: application/json: schema: $ref: '#/components/schemas/Category' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /categories/contact: get: tags: - categories summary: Retrieve a list of contact categories description: Retrieve a list of contact categories operationId: getContactCategories parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Categories retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Category' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /categories/contact/{id}: get: tags: - categories summary: Retrieve a single contact category description: Retrieve a single contact category operationId: getContactCategory parameters: - name: id in: path description: ID of the category required: true schema: type: integer format: int64 responses: 200: description: Category retrieved content: application/json: schema: $ref: '#/components/schemas/Category' security: - Api-Key: [] Bearer: [] /categories/property/groups: get: tags: - categories summary: Retrieve a list of property category groups description: Retrieve a list of property category groups operationId: getPropertyCategoryGroups parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Property category groups retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CategoryGrouping' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /categories/property/groups/{id}: get: tags: - categories summary: Retrieve a single property category group description: Retrieve a single property category group operationId: getPropertyCategoryGroup parameters: - name: id in: path description: ID of the category group required: true schema: type: integer format: int64 responses: 200: description: Category group retrieved content: application/json: schema: $ref: '#/components/schemas/CategoryGrouping' security: - Api-Key: [] Bearer: [] /categories/property: get: tags: - categories summary: Retrieve a list of property categories description: Retrieve a list of property categories operationId: getPropertyCategories parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Categories retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Category' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /categories/property/{id}: get: tags: - categories summary: Retrieve a single property category description: Retrieve a single property category operationId: getPropertyCategory parameters: - name: id in: path description: ID of the category required: true schema: type: integer format: int64 responses: 200: description: Category retrieved content: application/json: schema: $ref: '#/components/schemas/Category' security: - Api-Key: [] Bearer: [] /contacts: get: tags: - contacts summary: Retrieve a list of contacts description: Retrieve a list of contacts operationId: getContacts parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - name: lists in: query description: Filter contacts belonging to distribution list IDs style: form explode: false schema: type: array items: type: integer format: int64 - name: categories in: query description: Filter contacts belonging to category IDs style: form explode: false schema: type: array items: type: integer format: int64 - name: entityType in: query description: Filter contacts by entity type schema: type: integer format: int64 - name: archived in: query description: Filter contacts by archived status schema: type: boolean - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - firstName - lastName - inserted - modified - touched - $ref: '#/components/parameters/sortOrder' - name: marketingUser in: query description: Filter by marketing user(s) style: form explode: false schema: type: array items: type: integer format: int64 - name: marketingUserPosition in: query description: Used in conjuction with marketingUser, filter by marketing user position ID schema: type: integer format: int64 - name: accessBy in: query description: Filter contacts accessible by these user IDs. NOTE - Use the ID "-1" to filter contacts which are accessible by Everyone. style: form explode: false schema: type: array items: type: integer format: int64 responses: 200: description: Contacts retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Contact' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - contacts summary: Create a contact description: Create a contact operationId: addContact requestBody: description: Contact object content: '*/*': schema: $ref: '#/components/schemas/AddContact' required: true responses: 201: description: Contact created content: application/json: schema: $ref: '#/components/schemas/ContactExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{id}: get: tags: - contacts summary: Retrieve a single contact description: Retrieve a single contact operationId: getContact parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 200: description: Contact retrieved content: application/json: schema: $ref: '#/components/schemas/ContactExtended' security: - Api-Key: [] Bearer: [] put: tags: - contacts summary: Update a single contact description: Update a single contact operationId: updateContact parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Contact object content: application/json: schema: $ref: '#/components/schemas/UpdateContact' required: true responses: 200: description: Contact updated content: application/json: schema: $ref: '#/components/schemas/ContactExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - contacts summary: Delete a contact description: Delete a contact operationId: deleteContact parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 204: description: Contact deleted content: {} 400: description: Invalid data content: {} 403: description: User does not have permission to delete contacts content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /contacts/{id}/sms: post: tags: - contacts - sms summary: Send an SMS to this contact description: Send an SMS to this contact from the authenticated user or selected user (charges may apply). operationId: sendContactSMS parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: SMS object content: application/json: schema: $ref: '#/components/schemas/SMS' required: true responses: 201: description: SMS message queued to be sent content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have permission to send SMS content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/sms: post: tags: - contacts - sms summary: Send multiple SMS messages to contacts description: Send multiple SMS messages to these contacts from the authenticated user or selected user (charges may apply). Maximum 50 recipients in any one request. operationId: sendBulkContactSMS requestBody: description: Array of SMS objects content: application/json: schema: type: object properties: user: $ref: '#/components/schemas/ID' items: type: array items: $ref: '#/components/schemas/BulkSMS' required: true responses: 201: description: SMS messages queued to be sent content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have permission to send SMS content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{id}/email: post: tags: - contacts - email summary: Send an email to this contact description: Send an email to this contact from the authenticated user or selected user (if provided). operationId: sendContactEmail parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Email object content: application/json: schema: $ref: '#/components/schemas/Email' required: true responses: 201: description: Email message queued to be sent content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have permission to send email content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/email: post: tags: - contacts - email summary: Send multiple emails to contacts description: Send multiple emails to these contacts from the authenticated user or selected user (if provided). Maximum 50 recipients in any one request. operationId: sendBulkContactEmail requestBody: description: Array of Email objects content: application/json: schema: type: object properties: user: $ref: '#/components/schemas/ID' items: type: array items: $ref: '#/components/schemas/BulkEmail' required: true responses: 201: description: Email messages queued to be sent content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have permission to send email content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{id}/context: get: tags: - contacts summary: Retrieve contextual information about this contact description: Retrieve contextual information about this contact operationId: getContactContext parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 200: description: Contact context retrieved content: application/json: schema: $ref: '#/components/schemas/ContactContext' security: - Api-Key: [] Bearer: [] /contacts/recentlyAccessed: get: tags: - contacts summary: Retrieve a list of recently accessed contacts description: Retrieve a list of recently accessed contacts operationId: getRecentlyAccessedContacts parameters: - name: archived in: query description: Filter contacts by archived status schema: type: boolean responses: 200: description: Contacts retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Contact' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/{id}/notes: get: tags: - contacts summary: Retrieve a list of notes attached to this contact description: Retrieve a list of notes attached to this contact operationId: getContactNotes parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 - name: types in: query description: Filter notes with type IDs style: form explode: false schema: type: array items: type: integer format: int64 - $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 - $ref: '#/components/parameters/sortOrder' responses: 200: description: Contact notes retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactNote' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - contacts summary: Add a note to this contact description: Add a note to this contact operationId: addContactNote parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Contact note object content: application/json: schema: $ref: '#/components/schemas/AddContactNote' required: true responses: 201: description: Contact note created content: application/json: schema: $ref: '#/components/schemas/ContactNoteExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/notes: post: tags: - contacts summary: Add multiple contact notes description: Add multiple contact notes in a batch. Maximum 100 notes in any one request. operationId: addBulkContactNote requestBody: description: Bulk contact note object content: application/json: schema: $ref: '#/components/schemas/BulkContactNote' required: true responses: 201: description: Contact notes created content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{contactid}/notes/{id}: get: tags: - contacts summary: Retrieve a single contact note description: Retrieve a single contact note operationId: getContactNote parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 - name: id in: path description: ID of the note required: true schema: type: integer format: int64 responses: 200: description: Contact note retrieved content: application/json: schema: $ref: '#/components/schemas/ContactNoteExtended' security: - Api-Key: [] Bearer: [] put: tags: - contacts summary: Update a contact note description: Update a contact note operationId: updateContactNote parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 - name: id in: path description: ID of the note required: true schema: type: integer format: int64 requestBody: description: Contact Note object content: application/json: schema: $ref: '#/components/schemas/UpdateContactNote' required: true responses: 200: description: Note updated content: application/json: schema: $ref: '#/components/schemas/ContactNoteExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have permission to modify contact notes or note is read-only content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - contacts summary: Delete a contact note description: Delete a contact note operationId: deleteContactNote parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 - name: id in: path description: ID of the note required: true schema: type: integer format: int64 responses: 204: description: Contact Note deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have permission to delete contact notes or note is read-only content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /contacts/{id}/categories: get: tags: - contacts summary: Retrieve a list of categories to which this contact belongs description: Retrieve a list of categories to which this contact belongs operationId: getCategoriesContact parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Contact categories retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Category' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] put: tags: - contacts summary: Update the categories to which this contact belongs description: Update the categories to which this contact belongs operationId: updateCategoriesContact parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Items object containing array of contact category IDs content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ID' required: true responses: 200: description: Contact categories updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body post: tags: - contacts summary: Attach one or more categories to this contact description: Attach one or more categories to this contact operationId: attachCategoryContact parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Items object containing array of contact category IDs content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ID' required: true responses: 200: description: Contact category attached content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{id}/categories/remove: put: tags: - contacts summary: Remove categories from this contact description: Remove categories from this contact operationId: removeCategoryContact parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Items object containing array of contact category IDs content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ID' required: true responses: 200: description: Contact categories removed content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{id}/custom: get: tags: - contacts summary: Retrieve a list of custom fields for this contact description: Retrieve a list of custom fields for this contact operationId: getContactCustomFields parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Custom fields retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CustomFieldGrouping' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] put: tags: - contacts summary: Update the custom fields for this contact description: Update the custom fields for this contact operationId: updateContactCustomFields parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Items object containing array of custom fields content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AddUpdateCustomField' required: true responses: 200: description: Custom fields updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{id}/files: get: tags: - contacts summary: Retrieve a list of files attached to this contact description: Retrieve a list of files attached to this contact operationId: getContactFiles parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 - $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 - $ref: '#/components/parameters/sortOrder' responses: 200: description: Files retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactFile' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - contacts summary: Attach a file to this contact description: Attach a file to this contact. This endpoint is suitable for smaller files (<5MB). For larger files use POST /contacts/{id}/files/upload operationId: addContactFile parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: content: multipart/form-data: schema: required: - file properties: file: type: string description: The file to be uploaded format: binary required: true responses: 201: description: File attached successfully content: application/json: schema: $ref: '#/components/schemas/ContactFile' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /contacts/{id}/files/upload: post: tags: - contacts summary: Attach a file to this contact description: Attach a file to this contact. This endpoint returns an upload_url where the file data can be PUT. Can be used for large files. operationId: addContactFileUpload parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: File upload object content: application/json: schema: $ref: '#/components/schemas/ContactFileUpload' required: true responses: 201: description: File record created. File data can now be posted to the returned URL. content: application/json: schema: $ref: '#/components/schemas/FileToBeUploaded' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{contactid}/files/{id}: get: tags: - contacts summary: Retrieve a single file attached to this contact description: Retrieve a single file attached to this contact operationId: getContactFile parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 - name: id in: path description: ID of the file required: true schema: type: integer format: int64 responses: 200: description: File retrieved content: application/json: schema: $ref: '#/components/schemas/ContactFile' security: - Api-Key: [] Bearer: [] delete: tags: - contacts summary: Delete a file attached to this contact description: Delete a file attached to this contact operationId: deleteContactFile parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 - name: id in: path description: ID of the file required: true schema: type: integer format: int64 responses: 204: description: File deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /contacts/{id}/events: get: tags: - contacts - calendar summary: Retrieve a list of calendar events attached to this contact description: Retrieve a list of calendar events attached to this contact operationId: getContactEvents parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - start - $ref: '#/components/parameters/sortOrder' responses: 200: description: Calendar events retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CalendarEvent' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/{id}/touch: put: tags: - contacts summary: Mark the contact record as touched description: Mark the contact record as touched operationId: touchContact parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 200: description: Contact touched content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /contacts/{id}/requirements: get: tags: - contacts summary: Retrieve a list of buying/renting requirements for this contact description: Retrieve a list of buying/renting requirements for this contact operationId: getContactRequirements parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 - name: active in: query description: Filter active/inactive requirements schema: type: boolean - $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 - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Requirements retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactRequirement' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - contacts summary: Add a requirement for this contact description: Add a requirement for this contact operationId: addContactRequirement parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Contact Requirement object content: application/json: schema: $ref: '#/components/schemas/AddUpdateContactRequirement' required: true responses: 201: description: Contact Requirement created content: application/json: schema: $ref: '#/components/schemas/ContactRequirement' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{contactid}/requirements/{id}: get: tags: - contacts summary: Retrieve a single buying/renting requirement for this contact description: Retrieve a single buying/renting requirement for this contact operationId: getContactRequirement parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 - name: id in: path description: ID of the requirement required: true schema: type: integer format: int64 responses: 200: description: Contact requirement retrieved content: application/json: schema: $ref: '#/components/schemas/ContactRequirement' security: - Api-Key: [] Bearer: [] put: tags: - contacts summary: Update a requirement for this contact description: Update a requirement for this contact operationId: updateContactRequirement parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 - name: id in: path description: ID of the requirement required: true schema: type: integer format: int64 requestBody: description: Contact Requirement object content: application/json: schema: $ref: '#/components/schemas/AddUpdateContactRequirement' required: true responses: 200: description: Contact Requirement updated content: application/json: schema: $ref: '#/components/schemas/ContactRequirement' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - contacts summary: Delete a buying/renting requirement for the contact description: Delete a buying/renting requirement for the contact operationId: deleteContactRequirement parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 - name: id in: path description: ID of the requirement required: true schema: type: integer format: int64 responses: 204: description: Requirement deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /user: get: tags: - user summary: Retrieve information about the authenticated user description: Retrieve information about the authenticated user operationId: getUser responses: 200: description: User retrieved content: application/json: schema: $ref: '#/components/schemas/UserAndTeams' security: - Api-Key: [] Bearer: [] put: tags: - user summary: Update the authenticated user description: Update the authenticated user operationId: updateMeUser requestBody: description: User object content: application/json: schema: $ref: '#/components/schemas/UpdateUser' required: true responses: 200: description: User updated content: application/json: schema: $ref: '#/components/schemas/UserAndTeams' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /user/subscriptions: get: tags: - user summary: Retrieve active subscriptions for the authenticated user description: Retrieve active subscriptions for the authenticated user operationId: getUserSubscriptions responses: 200: description: User subscriptions retrieved content: application/json: schema: $ref: '#/components/schemas/UserSubscriptions' security: - Api-Key: [] Bearer: [] /user/teams: get: tags: - user summary: Retrieve a list of teams to which the authenticated user belongs description: Retrieve a list of teams to which the authenticated user belongs operationId: getUserTeams parameters: - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: User teams retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Team' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /user/summary/grossCommission: get: tags: - user summary: Retrieve a summary of recent gross commission for the authenticated user description: Retrieve a month by month summary of recent gross commission (previous six months) for the authenticated user operationId: getUserSummaryGrossCommission responses: 200: description: Summary retrieved content: application/json: schema: type: object properties: months: type: array items: type: object properties: date: type: string value: type: number format: float security: - Api-Key: [] Bearer: [] /user/upcomingOfferConditions: get: tags: - user summary: Retrieve a list of upcoming offer conditions for the authenticated user description: Retrieve a list of upcoming offer conditions for the authenticated user operationId: getUserUpcomingOfferConditions parameters: - name: days in: query description: Number of days to look ahead and back (default 8) schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Conditions retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyOfferConditionWithProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /user/upcomingOpenHomes: get: tags: - user summary: Retrieve a list of upcoming open homes for the authenticated user description: Retrieve a list of upcoming open homes for the authenticated user operationId: getUserUpcomingOpenHomes parameters: - name: days in: query description: Number of days to look ahead and back (default 7) schema: type: integer format: int64 - name: includeRecent in: query description: Include recently completed open homes schema: type: boolean - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Open Homes retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/OpenHomeWithProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /user/tenancyInspections: get: tags: - user summary: Retrieve a list of upcoming and recent inspections for the authenticated user description: Retrieve a list of upcoming and recent inspections for the authenticated user operationId: getUserTenancyInspections parameters: - name: days in: query description: Number of days to look ahead and back (default 7). Only used if start and end are undefined. schema: type: integer format: int64 - name: includeRecent in: query description: Include recently completed inspections. Used in conjuction with days argument. schema: type: boolean - name: start in: query description: Filter inspections starting on or after this datetime. Takes precendent over days argument. schema: type: string format: date-time - name: end in: query description: Filter inspections starting before this datetime. Takes precendent over days argument. schema: type: string format: date-time - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Inspections retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/InspectionWithProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /user/credentials: put: tags: - user summary: Update the credentials for the authenticated user description: Update the credentials for the authenticated user operationId: updateUserCredentials requestBody: description: Credential object content: application/json: schema: $ref: '#/components/schemas/Credential' required: true responses: 200: description: User credentials updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /user/signature: get: tags: - user summary: Retrieve the authenticated user's signature description: Retrieve the authenticated user's signature operationId: getUserSignature responses: 200: description: Signature retrieved content: application/json: schema: $ref: '#/components/schemas/Signature' security: - Api-Key: [] Bearer: [] put: tags: - user summary: Update the signature for the authenticated user description: Update the signature for the authenticated user operationId: updateUserSignature requestBody: content: multipart/form-data: schema: required: - file properties: file: type: string description: PNG image of the signature format: binary required: true responses: 200: description: User signature updated content: application/json: schema: $ref: '#/components/schemas/Signature' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /user/photo: get: tags: - user summary: Retrieve the authenticated user's photograph description: Retrieve the authenticated user's photograph operationId: getUserPhoto responses: 200: description: Photo retrieved content: application/json: schema: $ref: '#/components/schemas/UserPhoto' security: - Api-Key: [] Bearer: [] put: tags: - user summary: Update the photo for the authenticated user description: Update the photo for the authenticated user operationId: updateUserPhoto requestBody: content: multipart/form-data: schema: required: - file properties: file: type: string description: The photo file to be uploaded format: binary required: true responses: 200: description: User photo updated content: application/json: schema: $ref: '#/components/schemas/UserPhoto' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /account: get: tags: - user summary: Retrieve information about the authenticated account description: Retrieve information about the authenticated account operationId: getAccount responses: 200: description: Account retrieved content: application/json: schema: $ref: '#/components/schemas/Account' security: - Api-Key: [] Bearer: [] /account/users: get: tags: - user summary: Retrieve a list of users in the authenticated account description: Retrieve a list of users in the authenticated account operationId: getAccountUsers parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: team in: query description: Filter users belonging to the given team ID schema: type: integer format: int64 - name: email in: query description: Filter users matching the given email address schema: type: string - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - firstname - lastname - inserted - $ref: '#/components/parameters/sortOrder' responses: 200: description: Account users retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/User' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - user summary: Add a new user in the authenticated account description: Add a new user operationId: addUser requestBody: description: User object content: application/json: schema: type: object required: - firstName - lastName - email - staffTypeId properties: firstName: type: string lastName: type: string email: type: string format: email username: type: string password: type: string staffTypeId: type: integer format: int64 enum: [1, 2, 3, 4] description: "1: Salesperson, 2: Administration, 3: Property Manager, 4: Principal" position: type: string phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' profile: type: string externalReference: type: string ssoIdentifier: type: string adminAccess: type: boolean permissions: type: object properties: canLogin: type: boolean responses: 201: description: User created content: application/json: schema: $ref: '#/components/schemas/User' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /account/users/{id}: get: tags: - user summary: Retrieve a single user from the account description: Retrieve a single user from the account operationId: getAccountUser parameters: - name: id in: path description: ID of the user required: true schema: type: integer format: int64 responses: 200: description: User retrieved content: application/json: schema: $ref: '#/components/schemas/User' security: - Api-Key: [] Bearer: [] put: tags: - user summary: Update a user in the authenticated account description: Update a user operationId: updateUser parameters: - name: id in: path description: ID of user required: true schema: type: integer format: int64 requestBody: description: User object content: application/json: schema: type: object properties: firstName: type: string lastName: type: string email: type: string format: email position: type: string username: type: string password: type: string phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' profile: type: string externalReference: type: string ssoIdentifier: type: string adminAccess: type: boolean permissions: type: object properties: canLogin: type: boolean responses: 200: description: User updated content: application/json: schema: $ref: '#/components/schemas/User' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - user summary: Delete a user in the authenticated account description: Delete a user in the authenticated account operationId: deleteUser parameters: - name: id in: path description: ID of user required: true schema: type: integer format: int64 responses: 204: description: User deleted content: {} 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /account/users/{id}/teams: get: tags: - user summary: Retrieve a list of teams to which this user belongs description: Retrieve a list of teams to which this user belongs operationId: getAccountUserTeams parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: id in: path description: ID of the user required: true schema: type: integer format: int64 - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: User teams retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Team' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /account/teams: get: tags: - user summary: Retrieve a list of teams in the authenticated account description: Retrieve a list of teams in the authenticated account operationId: getAccountTeams parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Account teams retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Team' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /account/teams/{id}: get: tags: - user summary: Retrieve a single team from the account description: Retrieve a single team from the account operationId: getAccountTeam parameters: - name: id in: path description: ID of the team required: true schema: type: integer format: int64 responses: 200: description: Team retrieved content: application/json: schema: $ref: '#/components/schemas/Team' security: - Api-Key: [] Bearer: [] /account/enquirySources: get: tags: - user summary: Retrieve a list of enquiry sources in the authenticated account description: Retrieve a list of enquiry sources in the authenticated account operationId: getAccountEnquirySources parameters: - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Enquiry Sources retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/EnquirySource' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - user summary: Add a new Enquiry Source type description: Add a new Enquiry Source type operationId: addEnquirySource requestBody: description: Enquiry Source object content: application/json: schema: $ref: '#/components/schemas/AddUpdateEnquirySource' required: true responses: 201: description: Enquiry Source created content: application/json: schema: $ref: '#/components/schemas/EnquirySource' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /account/enquirySources/{id}: get: tags: - user summary: Retrieve a single enquiry source description: Retrieve a single enquiry source operationId: getAccountEnquirySource parameters: - name: id in: path description: ID of the enquiry source required: true schema: type: integer format: int64 responses: 200: description: Enquiry Source retrieved content: application/json: schema: $ref: '#/components/schemas/EnquirySource' security: - Api-Key: [] Bearer: [] put: tags: - user summary: Update an Enquiry Source type description: Update an Enquiry Source type operationId: updateEnquirySource parameters: - name: id in: path description: ID of the enquiry source required: true schema: type: integer format: int64 requestBody: description: Enquiry Source object content: application/json: schema: $ref: '#/components/schemas/AddUpdateEnquirySource' required: true responses: 200: description: Enquiry Source updated content: application/json: schema: $ref: '#/components/schemas/EnquirySource' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /account/pricing: get: tags: - user summary: Retrieve pricing information for the authenticated account description: Retrieve pricing information for the authenticated account operationId: getAccountPricing responses: 200: description: Account pricing retrieved content: application/json: schema: $ref: '#/components/schemas/AccountPricing' security: - Api-Key: [] Bearer: [] /account/upcomingOpenHomes: get: tags: - user summary: Retrieve a list of upcoming open homes for the authenticated account description: Retrieve a list of upcoming open homes for the authenticated account operationId: getAccountUpcomingOpenHomes parameters: - name: days in: query description: Number of days to look ahead and back (default 7) schema: type: integer format: int64 - name: includeRecent in: query description: Include recently completed open homes schema: type: boolean - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Open Homes retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/OpenHomeWithProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /account/folders/filingCabinet: get: tags: - user summary: Retrieve a list of folders available in the Filing Cabinet for this account description: Retrieve a list of folders available in the Filing Cabinet for this account operationId: getAccountFilingCabinetFolders parameters: - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Folders retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyFileFolder' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /account/branches: get: tags: - user summary: Retrieve a list of branches configured for this account description: Retrieve a list of branches configured for this account operationId: getAccountBranches parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Branches retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AccountBranch' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /account/propertyPortals: get: tags: - user summary: Retrieve a list of property portals for this account description: Retrieve a list of property portals to which this account can publish properties operationId: getAccountPortals parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Portals retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PortalAccess' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /account/trustAccounts: get: tags: - user summary: Retrieve a list of trust accounts for this account description: Retrieve a list of trust accounts for this account operationId: getTrustAccounts parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Trust accounts retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/TrustAccount' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /verifyPassword: post: tags: - user summary: Verify the authenticated user's password description: Verify the authenticated user's password operationId: verifyUserPassword requestBody: description: User's password content: application/json: schema: type: object properties: password: type: string required: true responses: 200: description: API Call completed successfully content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /sso: get: tags: - user summary: Generate a single-sign-on URL description: Generate a single-sign-on URL for the VaultRE web application operationId: getSSOUrl responses: 200: description: URL retrieved content: application/json: schema: type: object properties: url: type: string security: - Api-Key: [] Bearer: [] /properties: get: tags: - properties summary: Retrieve a list of properties description: Retrieve a list of properties operationId: getProperties parameters: - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $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: - inserted - modified - suburb - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Property' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}: get: tags: - properties summary: Retrieve a single property description: Retrieve a single property operationId: getProperty 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/PropertyExtended' security: - Api-Key: [] Bearer: [] delete: tags: - properties summary: Delete a property description: Delete a property operationId: deleteProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 responses: 204: description: Property deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/sale: get: tags: - properties summary: Retrieve a list of sale properties description: Retrieve a list of sale properties operationId: getPropertiesLifeSale 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' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - publishedToWeb - $ref: '#/components/parameters/sortOrder' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/types' - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID style: form explode: false schema: type: array items: type: integer format: int64 - 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: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - prospect - appraisal - listing - conditional - listingOrConditional - unconditional - management - name: propertyClass in: query description: Filter by a list of property classes style: form explode: false schema: type: array items: type: string enum: - residential - commercial - business - rural - holidayRental - land - name: availableOnly in: query description: Only used to if propertyClass equals 'commercial' schema: type: boolean - name: tenantedInvestmentOnly in: query description: Only used to if propertyClass equals 'commercial' schema: type: boolean - name: minBed in: query description: Filter properties greater than or equal to min beds schema: type: integer format: int64 - name: minBath in: query description: Filter properties greater than or equal to min baths schema: type: integer format: int64 - name: minCar in: query description: Filter properties greater than or equal to min car spaces schema: type: integer format: int64 - name: minPricePerSqm in: query description: Filter properties greater than or equal to min price per sqm schema: type: number format: float - name: maxPricePerSqm in: query description: Filter properties less than or equal to max price per sqm schema: type: number format: float - name: minPrice in: query description: Filter properties greater than or equal to min price schema: type: number format: float - name: maxPrice in: query description: Filter properties less than or equal to max price schema: type: number format: float - name: minLand in: query description: Filter properties greater than or equal to min land. Must supply an area type. schema: type: number format: float - name: maxLand in: query description: Filter properties less than or equal to max land. Must supply an area type. schema: type: number format: float - name: areaType in: query description: Specify the units for minLand, maxLand filters schema: type: string enum: - sqm - acre - hectare - name: minFloor in: query description: Filter properties greater than or equal to min floor. schema: type: number format: float - name: maxFloor in: query description: Filter properties less than or equal to max floor. schema: type: number format: float responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyLife' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/sale/fallenSaleWithdrawn: get: tags: - properties summary: Retrieve a list of fallen or withdrawn property sales description: Retrieve a list of fallen or withdrawn property sales operationId: getFallenWithdrawnSales parameters: - $ref: '#/components/parameters/fallenBefore' - $ref: '#/components/parameters/fallenSince' - $ref: '#/components/parameters/withdrawnBefore' - $ref: '#/components/parameters/withdrawnSince' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyLife' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/lease: get: tags: - properties summary: Retrieve a list of lease properties description: Retrieve a list of lease properties operationId: getPropertiesLifeLease 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' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/types' - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID style: form explode: false schema: type: array items: type: integer format: int64 - 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: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - prospect - appraisal - listing - conditional - listingOrConditional - unconditional - management - name: propertyClass in: query description: Filter by a list of property classes style: form explode: false schema: type: array items: type: string enum: - residential - commercial - business - rural - holidayRental - land - name: availableOnly in: query description: Only used to if propertyClass equals 'commercial' schema: type: boolean - name: tenantedInvestmentOnly in: query description: Only used to if propertyClass equals 'commercial' schema: type: boolean - name: minBed in: query description: Filter properties greater than or equal to min beds schema: type: integer format: int64 - name: minBath in: query description: Filter properties greater than or equal to min baths schema: type: integer format: int64 - name: minCar in: query description: Filter properties greater than or equal to min car spaces schema: type: integer format: int64 - name: minPricePerSqm in: query description: Filter properties greater than or equal to min price per sqm schema: type: number format: float - name: maxPricePerSqm in: query description: Filter properties less than or equal to max price per sqm schema: type: number format: float - name: minPrice in: query description: Filter properties greater than or equal to min price schema: type: number format: float - name: maxPrice in: query description: Filter properties less than or equal to max price schema: type: number format: float - name: minLand in: query description: Filter properties greater than or equal to min land. Must supply an area type. schema: type: number format: float - name: maxLand in: query description: Filter properties less than or equal to max land. Must supply an area type. schema: type: number format: float - name: areaType in: query description: Specify the units for minLand, maxLand filters schema: type: string enum: - sqm - acre - hectare - name: minFloor in: query description: Filter properties greater than or equal to min floor. schema: type: number format: float - name: maxFloor in: query description: Filter properties less than or equal to max floor. schema: type: number format: float responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyLife' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}/notes: get: tags: - properties summary: Retrieve a list of notes attached to this property description: Retrieve a list of notes attached to this property operationId: getPropertyNotes parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: types in: query description: Filter notes with type IDs style: form explode: false schema: type: array items: type: integer format: int64 - $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 - $ref: '#/components/parameters/sortOrder' responses: 200: description: Property notes retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyNote' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - properties summary: Add a note to this property description: Add a note to this property operationId: addPropertyNote parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Property note object content: application/json: schema: $ref: '#/components/schemas/AddPropertyNote' required: true responses: 201: description: Property note created content: application/json: schema: $ref: '#/components/schemas/PropertyNote' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/notes/{id}: get: tags: - properties summary: Retrieve a single property note description: Retrieve a single property note operationId: getPropertyNote parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: id in: path description: ID of the note required: true schema: type: integer format: int64 responses: 200: description: Property note retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyNote' security: - Api-Key: [] Bearer: [] put: tags: - properties summary: Update a property note description: Update a property note operationId: updatePropertyNote parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: id in: path description: ID of the note required: true schema: type: integer format: int64 requestBody: description: Property Note object content: application/json: schema: $ref: '#/components/schemas/UpdatePropertyNote' required: true responses: 200: description: Note updated content: application/json: schema: $ref: '#/components/schemas/ContactNote' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have permission to modify property notes or note is read-only content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - properties summary: Delete a property note description: Delete a property note operationId: deletePropertyNote parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: id in: path description: ID of the note required: true schema: type: integer format: int64 responses: 204: description: Property Note deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have permission to delete property notes or note is read-only content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{id}/photos: get: tags: - properties summary: Retrieve a list of photos for this property description: Retrieve a list of photos for this property operationId: getPropertyPhotos parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Property photos retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyPhoto' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - properties summary: Upload a new photo to this property description: Upload a new photo to this property. This endpoint is suitable for smaller files (<5MB). For larger files use POST /properties/{id}/photos/upload operationId: addPropertyPhoto parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: content: multipart/form-data: schema: required: - photo - published - type properties: photo: type: string description: The photo to be uploaded (GIF/PNG/JPG only) format: binary caption: type: string description: The caption for the photo published: type: boolean description: Is the photo published or unpublished type: type: string description: The type of photo enum: - Photograph - Floorplan required: true responses: 201: description: Photo uploaded content: application/json: schema: $ref: '#/components/schemas/PropertyPhoto' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] delete: tags: - properties summary: Delete multiple photos from this property description: Delete multiple photos from this property in a single operation. This endpoint allows bulk deletion of up to 50 photos at once. operationId: deletePropertyPhotos parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Bulk delete request containing list of photo IDs content: application/json: schema: $ref: '#/components/schemas/PropertyPhotoBulkDeleteRequest' required: true responses: 200: description: Bulk delete completed (some photos may have failed) content: application/json: schema: $ref: '#/components/schemas/PropertyPhotoBulkDeleteResponse' 400: description: Some or all photos could not be deleted content: application/json: schema: $ref: '#/components/schemas/PropertyPhotoBulkDeleteResponse' 403: description: User does not have permission to delete photos from this property content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 404: description: Property not found content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 422: description: Invalid input data (e.g., empty items list, too many items) content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{id}/photos/upload: post: tags: - properties summary: Upload a new photo to this property description: Upload a new photo to this property. This endpoint returns an upload_url where the file data can be PUT. Can be used for large files. operationId: addPropertyPhotoUpload parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Photo upload object content: application/json: schema: $ref: '#/components/schemas/PropertyPhotoUpload' required: true responses: 201: description: Photo record created. Photo data can now be posted to the returned URL. content: application/json: schema: $ref: '#/components/schemas/FileToBeUploaded' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{id}/photos/order: put: tags: - properties summary: Reorder property photos description: Reorder the photos for a property by providing a new sequence of photo IDs. This endpoint is designed for mobile applications to allow drag-and-drop photo reordering. All photo IDs for the property must be included in the request. operationId: updatePropertyPhotoOrder parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Array of photo IDs in the desired order content: application/json: schema: $ref: '#/components/schemas/PropertyPhotoOrderRequest' required: true responses: 200: description: Photo order updated successfully content: application/json: schema: $ref: '#/components/schemas/PropertyPhotoOrderResponse' 400: description: Invalid request data content: application/json: schema: type: object properties: success: type: boolean example: false msg: type: string description: Error message describing the validation failure example: "INVALID_PHOTO_IDS: [99999]" code: type: string example: "INVALID_PHOTO_IDS: [99999]" 403: description: User does not have permission to edit this property content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 404: description: Property not found content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 422: description: Validation error - empty photo array or malformed request content: application/json: schema: type: object properties: messages: type: object properties: photoIds: type: array items: type: string example: ["Shorter than minimum length 1."] security: - Api-Key: [] Bearer: [] /properties/{propertyid}/photos/{id}: get: tags: - properties summary: Retrieve a single photo for this property description: Retrieve a single photo for this property operationId: getPropertyPhoto parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: id in: path description: ID of the photo required: true schema: type: integer format: int64 responses: 200: description: Property photo retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyPhoto' security: - Api-Key: [] Bearer: [] put: tags: - properties summary: Update photo metadata description: Update a property photo's caption, published status, or photo type (Photograph/Floorplan) operationId: updatePropertyPhoto parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: id in: path description: ID of the photo required: true schema: type: integer format: int64 requestBody: description: Photo metadata to update content: application/json: schema: type: object properties: caption: type: string description: Updated caption for the photo published: type: boolean description: Whether the photo should be published to web type: type: string description: Photo type enum: - Photograph - Floorplan examples: setAsFloorplan: summary: Mark photo as floorplan value: type: Floorplan caption: Ground floor plan setAsPhoto: summary: Mark as standard photo value: type: Photograph updateCaption: summary: Update caption only value: caption: Updated living room photo responses: 200: description: Property photo updated successfully content: application/json: schema: $ref: '#/components/schemas/PropertyPhoto' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have permission to update this property content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 404: description: Property or photo not found content: {} 422: description: Validation error - empty or malformed request body content: application/json: schema: type: object properties: messages: type: object 500: description: Unexpected server error content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] delete: tags: - properties summary: Delete a photo attached to this property description: Delete a photo attached to this property operationId: deletePropertyPhoto parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: id in: path description: ID of the photo required: true schema: type: integer format: int64 responses: 204: description: Property photo deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/photos/{id}/tags: get: tags: - properties summary: Retrieve a list of tags for this property photo description: Retrieve a list of tags for this property photo, derived from Machine Learning analysis of property photos operationId: getPropertyPhotoTags parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: id in: path description: ID of the photo required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - confidence - $ref: '#/components/parameters/sortOrder' - name: minimumConfidence in: query description: Only return tags with a confidence greater than or equal to this number schema: type: number format: float - name: maximumConfidence in: query description: Only return tags with a confidence less than or equal to this number schema: type: number format: float responses: 200: description: Photo tags retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PhotoTag' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}/tags: get: tags: - properties summary: Retrieve a list of tags for this property description: Retrieve a list of tags for this property, derived from Machine Learning analysis of property photos operationId: getPropertyTags parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - confidence - $ref: '#/components/parameters/sortOrder' - name: minimumConfidence in: query description: Only return tags with a confidence greater than or equal to this number schema: type: number format: float - name: maximumConfidence in: query description: Only return tags with a confidence less than or equal to this number schema: type: number format: float responses: 200: description: Property tags retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PhotoTag' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}/categories: get: tags: - properties summary: Retrieve a list of categories to which this property belongs description: Retrieve a list of categories to which this property belongs operationId: getCategoriesForProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Property categories retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Category' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}/activityLog: get: tags: - properties summary: Retrieve the activity log for a property description: Retrieve the activity log for a property operationId: getPropertyActivityLog parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Activity Log retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] post: tags: - properties summary: Add a property activity note parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 description: Add a property activity note operationId: addPropertyActivityNote requestBody: description: Activity Note Details content: application/json: schema: $ref: '#/components/schemas/AddPropertyActivityNote' required: true responses: 201: description: Activity Note Added content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{id}/files: get: tags: - properties summary: Retrieve a list of files attached to this property description: Retrieve a list of files attached to this property operationId: getPropertyFiles parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - $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 - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Property files retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyFile' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/matchingContacts: get: tags: - properties summary: Retrieve a list of contacts with requirements matching this property description: Retrieve a list of contacts with requirements matching this property operationId: getPropertyMatchingContacts 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 - $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 - modified - firstName - lastName - touched - $ref: '#/components/parameters/sortOrder' responses: 200: description: Matching contacts retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/files: get: tags: - properties summary: Retrieve a list of files attached to this property life description: Retrieve a list of files attached to this property life operationId: getPropertyFilesLife parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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: public in: query description: Filter public files schema: type: boolean - $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 - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Property files retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyFile' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - properties summary: Attach a file to this property life description: Attach a file to this property life. This endpoint is suitable for smaller files (<5MB). For larger files use POST /properties/{id}/{salelease}/{lifeid}/files/upload operationId: addPropertyFileLife parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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 requestBody: content: multipart/form-data: schema: required: - file properties: tenancyId: description: For a lease life, to which tenancy does the file relate type: integer format: int64 folders: type: array description: Assign file to these folders items: type: integer format: int64 file: type: string description: The file to be uploaded format: binary required: true responses: 201: description: File attached successfully content: application/json: schema: $ref: '#/components/schemas/PropertyFileWithFolders' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/files/upload: post: tags: - properties summary: Attach a file to this property life description: Attach a file to this property life. This endpoint returns an upload_url where the file data can be PUT. Can be used for large files. operationId: addPropertyFileLifeUpload parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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 requestBody: description: File upload object content: application/json: schema: $ref: '#/components/schemas/PropertyFileWithFoldersUpload' required: true responses: 201: description: File record created. File data can now be posted to the returned URL. content: application/json: schema: $ref: '#/components/schemas/FileToBeUploaded' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/{salelease}/{lifeid}/files/{id}: get: tags: - properties summary: Retrieve a single file attached to this property life description: Retrieve a single file attached to this property life operationId: getPropertyFileLife parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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: id in: path description: ID of the file required: true schema: type: integer format: int64 responses: 200: description: Property file retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyFileWithFolders' security: - Api-Key: [] Bearer: [] delete: tags: - properties summary: Delete a single file attached to this property life description: Delete a single file attached to this property life operationId: deletePropertyFileLife parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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: id in: path description: ID of the file required: true schema: type: integer format: int64 responses: 204: description: Property file deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/feedback: get: tags: - properties - 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/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: - inserted - feedbackDate - $ref: '#/components/parameters/sortOrder' - name: contacts in: query description: Filter feedback from certain contacts style: form explode: false schema: type: array items: type: integer format: int64 responses: 200: description: Property feedback retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] post: tags: - properties - 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/ContactNoteAndContactExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/{salelease}/{lifeid}/feedback/{id}: get: tags: - properties - 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/ContactNoteAndContactExtended' security: - Api-Key: [] Bearer: [] put: tags: - properties - 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/ContactNoteAndContactExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - properties - 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: [] /properties/{id}/{salelease}/{lifeid}/feedback/summary: get: tags: - properties - 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: application/json: schema: type: object security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/openHomes: get: tags: - properties summary: Retrieve a list of open homes attached to this life description: Retrieve a list of open homes attached to this life operationId: getPropertyOpenHomes 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: startingAfter in: query description: Filter open homes occurring on or after this date schema: type: string format: date - name: startingBefore in: query description: Filter open homes occurring before this date schema: type: string format: date - name: userid in: query description: Filter open homes attached to this user schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - start - $ref: '#/components/parameters/sortOrder' responses: 200: description: Open Homes retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/OpenHome' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - properties summary: Create a new open home for this property life description: Create a new open home for this property life operationId: addOpenHome 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: Open Home object content: application/json: schema: $ref: '#/components/schemas/AddUpdateOpenHome' required: true responses: 201: description: Open Home created content: application/json: schema: $ref: '#/components/schemas/OpenHome' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/{salelease}/{lifeid}/openHomes/{id}: get: tags: - properties summary: Retrieve a single open home attached to this life description: Retrieve a single open home attached to this life operationId: getPropertyOpenHome 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 open home required: true schema: type: integer format: int64 responses: 200: description: Open Home retrieved content: application/json: schema: $ref: '#/components/schemas/OpenHome' security: - Api-Key: [] Bearer: [] put: tags: - properties summary: Update an open home for this property life description: Update an open home for this property life operationId: updateOpenHome 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 open home required: true schema: type: integer format: int64 requestBody: description: Open Home object content: application/json: schema: $ref: '#/components/schemas/AddUpdateOpenHome' required: true responses: 200: description: Open Home updated content: application/json: schema: $ref: '#/components/schemas/OpenHome' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - properties summary: Delete an open home description: Delete an open home operationId: deleteOpenHome 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 open home required: true schema: type: integer format: int64 responses: 204: description: Open Home deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{id}/sale/{lifeid}/owners: get: tags: - properties - contacts summary: Retrieve a list of owners attached to this property life description: Retrieve a list of owners attached to this property life operationId: getPropertyLifeOwners parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Owners retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] put: tags: - properties - contacts summary: Update owners for this property life description: Update owners for this property life operationId: updateOwnersForProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: Items object containing array of contact IDs content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ID' required: true responses: 200: description: Owners updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body post: tags: - properties - contacts summary: Attach an owner to this property life description: Attach an owner to this property life operationId: attachOwnerToProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: Contact ID object content: application/json: schema: $ref: '#/components/schemas/ID' required: true responses: 200: description: Owner attached content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/lease/{lifeid}/landlords/{id}: delete: tags: - properties - contacts summary: Remove a landlord from this property life description: Remove a landlord from this property life operationId: deleteLandlordForProperty parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - 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 landlord required: true schema: type: integer format: int64 responses: 204: description: Landlord removed content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/lease/{lifeid}/tenancy/{tenancyid}/tenants/{id}: delete: tags: - properties - contacts summary: Remove a tenant from this property life description: Remove a tenant from this property life operationId: deleteTenantForProperty parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 - name: tenancyid in: path description: ID of the tenancy required: true schema: type: integer format: int64 - name: id in: path description: ID of the tenant required: true schema: type: integer format: int64 responses: 204: description: Tenant removed content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/sale/{lifeid}/owners/{id}: delete: tags: - properties - contacts summary: Remove an owner from this property life description: Remove an owner from this property life operationId: deleteOwnerForProperty parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - 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 owner required: true schema: type: integer format: int64 responses: 204: description: Owner removed content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/sale/{lifeid}/purchasers/{id}: delete: tags: - properties - contacts summary: Remove a purchaser from this property life description: Remove a purchaser from this property life operationId: deletePurchaserForProperty parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - 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 purchaser required: true schema: type: integer format: int64 responses: 204: description: Purchaser removed content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{id}/lease/{lifeid}/landlords: get: tags: - properties - contacts summary: Retrieve a list of landlords attached to this property life description: Retrieve a list of landlords attached to this property life operationId: getPropertyLifeLandlords parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Landlords retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] put: tags: - properties - contacts summary: Update landlords for this property life description: Update landlords for this property life operationId: updateLandlordsForProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: Items object containing array of contact IDs content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ID' required: true responses: 200: description: Landlords updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body post: tags: - properties - contacts summary: Attach a landlord to this property life description: Attach a landlord to this property life operationId: attachLandlordToProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: Contact ID object content: application/json: schema: $ref: '#/components/schemas/ID' required: true responses: 200: description: Landlord attached content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{id}/sale/{lifeid}/purchasers: get: tags: - properties - contacts summary: Retrieve a list of purchasers attached to this property life description: Retrieve a list of purchasers attached to this property life operationId: getPropertyLifePurchasers parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Purchasers retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] put: tags: - properties - contacts summary: Update purchasers for this property life description: Update purchasers for this property life operationId: updatePurchasersForProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: Items object containing array of contact IDs content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ID' required: true responses: 200: description: Purchasers updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body post: tags: - properties - contacts summary: Attach a purchaser to this property life description: Attach a purchaser to this property life operationId: attachPurchaserToProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: Contact ID object content: application/json: schema: $ref: '#/components/schemas/ID' required: true responses: 200: description: Purchaser attached content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{id}/lease/{lifeid}/tenancy/{tenancyid}/tenants: get: tags: - properties - contacts summary: Retrieve a list of tenants attached to this tenancy description: Retrieve a list of tenants attached to this tenancy operationId: getPropertyLifeTenancyTenants parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 - name: tenancyid in: path description: ID of the tenancy required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Tenants retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] put: tags: - properties - contacts summary: Update tenants for this tenancy description: Update tenants for this tenancy operationId: updateTenantsForProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 - name: tenancyid in: path description: ID of the tenancy required: true schema: type: integer format: int64 requestBody: description: Items object containing array of contact IDs content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ID' required: true responses: 200: description: Tenants updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body post: tags: - properties - contacts summary: Attach a tenant to this tenancy description: Attach a tenant to this tenancy operationId: attachTenantToTenancy parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 - name: tenancyid in: path description: ID of the tenancy required: true schema: type: integer format: int64 requestBody: description: Contact ID object content: application/json: schema: $ref: '#/components/schemas/ID' required: true responses: 200: description: Tenant attached content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/residential/sale: get: tags: - residentialProperties summary: Retrieve a list of residential sale properties description: Retrieve a list of residential sale properties operationId: getResidentialSaleProperties 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: portalStatus in: query description: Filter by a list of portal 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ResidentialSaleProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - residentialProperties summary: Add a residential sale property description: Add a residential sale property operationId: addResidentialSaleProperty requestBody: description: Residential sale property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateResidentialSaleProperty' required: true responses: 201: description: Property created content: application/json: schema: $ref: '#/components/schemas/ResidentialSalePropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/residential/sale/available: get: tags: - residentialProperties summary: Retrieve a list of available residential sale properties description: Retrieve a list of available residential sale properties. This is the same as the /properties/residential/sale endpoint, with certain filters pre-applied. operationId: getAvailableResidentialSaleProperties 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ResidentialSaleProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/residential/sale/{id}: get: tags: - residentialProperties summary: Retrieve a single residential sale property description: Retrieve a single residential sale property operationId: getResidentialSaleProperty 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/ResidentialSalePropertyExtended' security: - Api-Key: [] Bearer: [] put: tags: - residentialProperties summary: Update a residential sale property description: Update a residential sale property operationId: updateResidentialSaleProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Residential sale property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateResidentialSaleProperty' required: true responses: 200: description: Property updated content: application/json: schema: $ref: '#/components/schemas/ResidentialSalePropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/residential/sale/sold: get: tags: - residentialProperties summary: Retrieve a list of sold residential sale properties description: Retrieve a list of sold residential sale properties operationId: getResidentialSoldProperties parameters: - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - $ref: '#/components/parameters/includeConditional' - $ref: '#/components/parameters/conditionalSince' - $ref: '#/components/parameters/conditionalBefore' - $ref: '#/components/parameters/includeFallen' - $ref: '#/components/parameters/fallenSince' - $ref: '#/components/parameters/fallenBefore' - $ref: '#/components/parameters/unconditionalSince' - $ref: '#/components/parameters/unconditionalBefore' - $ref: '#/components/parameters/settlementSince' - $ref: '#/components/parameters/settlementBefore' - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - $ref: '#/components/parameters/publishedOnPortals' - $ref: '#/components/parameters/minSalePrice' - $ref: '#/components/parameters/maxSalePrice' - $ref: '#/components/parameters/minBed' - $ref: '#/components/parameters/minBath' - $ref: '#/components/parameters/minCar' - name: status in: query description: Filter by a list of statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/lifeIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - conditional - unconditional - settlement - suburb - searchPrice - salePrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ResidentialSoldProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/residential/lease: get: tags: - residentialProperties summary: Retrieve a list of residential lease properties description: Retrieve a list of residential lease properties operationId: getResidentialLeaseProperties 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/leasedSince' - $ref: '#/components/parameters/leasedBefore' - $ref: '#/components/parameters/letAgreed' - $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 - management - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - prospect - appraisal - management - name: availableOnly in: query description: Filter available lease properties only schema: type: boolean - name: leasedOnly in: query description: Filter leased properties only schema: type: boolean - 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ResidentialLeaseProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - residentialProperties summary: Add a residential lease property description: Add a residential lease property operationId: addResidentialLeaseProperty requestBody: description: Residential lease property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateResidentialLeaseProperty' required: true responses: 201: description: Property created content: application/json: schema: $ref: '#/components/schemas/ResidentialLeasePropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/residential/lease/available: get: tags: - residentialProperties summary: Retrieve a list of available residential lease properties description: Retrieve a list of available residential lease properties. This is the same as the /properties/residential/lease endpoint, with certain filters pre-applied. operationId: getAvailableResidentialLeaseProperties 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ResidentialLeaseProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/residential/lease/{id}: get: tags: - residentialProperties summary: Retrieve a single residential lease property description: Retrieve a single residential lease property operationId: getResidentialLeaseProperty 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/ResidentialLeasePropertyExtended' security: - Api-Key: [] Bearer: [] put: tags: - residentialProperties summary: Update a residential lease property description: Update a residential lease property operationId: updateResidentialLeaseProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Residential lease property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateResidentialLeaseProperty' required: true responses: 200: description: Property updated content: application/json: schema: $ref: '#/components/schemas/ResidentialLeasePropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{id}/features: get: tags: - properties summary: Retrieve features for this property description: Retrieve features for this property operationId: getPropertyFeatures parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 responses: 200: description: Features retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyFeatureGrouping' security: - Api-Key: [] Bearer: [] put: tags: - properties summary: Update features for this property description: Update features for this property operationId: updatePropertyFeatures parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Items object containing array of feature groups content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/UpdatePropertyFeatureGrouping' required: true responses: 200: description: Features updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/land/sale: get: tags: - landProperties summary: Retrieve a list of land properties description: Retrieve a list of land properties operationId: getLandProperties 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' - $ref: '#/components/parameters/minSalePrice' - $ref: '#/components/parameters/maxSalePrice' - 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: portalStatus in: query description: Filter by a list of portal 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/LandProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - landProperties summary: Add a land property description: Add a land property operationId: addLandProperty requestBody: description: Land property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateLandProperty' required: true responses: 201: description: Property created content: application/json: schema: $ref: '#/components/schemas/LandPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/land/sale/available: get: tags: - landProperties summary: Retrieve a list of available land properties description: Retrieve a list of available land properties. This is the same as the /properties/land/sale endpoint, with certain filters pre-applied. operationId: getAvailableLandProperties 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/LandProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/land/sale/{id}: get: tags: - landProperties summary: Retrieve a single land property description: Retrieve a single land property operationId: getLandProperty 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/LandPropertyExtended' security: - Api-Key: [] Bearer: [] put: tags: - landProperties summary: Update a land property description: Update a land property operationId: updateLandProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Land property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateLandProperty' required: true responses: 200: description: Property updated content: application/json: schema: $ref: '#/components/schemas/LandPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/land/sale/sold: get: tags: - landProperties summary: Retrieve a list of sold land properties description: Retrieve a list of sold land properties operationId: getLandSoldProperties parameters: - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - $ref: '#/components/parameters/includeConditional' - $ref: '#/components/parameters/conditionalSince' - $ref: '#/components/parameters/conditionalBefore' - $ref: '#/components/parameters/includeFallen' - $ref: '#/components/parameters/fallenSince' - $ref: '#/components/parameters/fallenBefore' - $ref: '#/components/parameters/unconditionalSince' - $ref: '#/components/parameters/unconditionalBefore' - $ref: '#/components/parameters/settlementSince' - $ref: '#/components/parameters/settlementBefore' - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $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: - conditional - unconditional - settled - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - conditional - unconditional - settlement - suburb - landArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/LandSoldProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/rural/sale: get: tags: - ruralProperties summary: Retrieve a list of rural properties description: Retrieve a list of rural properties operationId: getRuralProperties 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: portalStatus in: query description: Filter by a list of portal 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/RuralProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - ruralProperties summary: Add a rural property description: Add a rural property operationId: addRuralProperty requestBody: description: Rural property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateRuralProperty' required: true responses: 201: description: Property created content: application/json: schema: $ref: '#/components/schemas/RuralPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/rural/sale/available: get: tags: - ruralProperties summary: Retrieve a list of available rural properties description: Retrieve a list of available rural properties. This is the same as the /properties/rural/sale endpoint, with certain filters pre-applied. operationId: getAvailableRuralProperties 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/RuralProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/rural/sale/{id}: get: tags: - ruralProperties summary: Retrieve a single rural property description: Retrieve a single rural property operationId: getRuralProperty 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/RuralPropertyExtended' security: - Api-Key: [] Bearer: [] put: tags: - ruralProperties summary: Update a rural property description: Update a rural property operationId: updateRuralProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Rural property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateRuralProperty' required: true responses: 200: description: Property updated content: application/json: schema: $ref: '#/components/schemas/RuralPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/rural/sale/sold: get: tags: - ruralProperties summary: Retrieve a list of sold rural properties description: Retrieve a list of sold rural properties operationId: getRuralSoldProperties parameters: - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - $ref: '#/components/parameters/includeConditional' - $ref: '#/components/parameters/conditionalSince' - $ref: '#/components/parameters/conditionalBefore' - $ref: '#/components/parameters/includeFallen' - $ref: '#/components/parameters/fallenSince' - $ref: '#/components/parameters/fallenBefore' - $ref: '#/components/parameters/unconditionalSince' - $ref: '#/components/parameters/unconditionalBefore' - $ref: '#/components/parameters/settlementSince' - $ref: '#/components/parameters/settlementBefore' - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - $ref: '#/components/parameters/publishedOnPortals' - $ref: '#/components/parameters/minSalePrice' - $ref: '#/components/parameters/maxSalePrice' - $ref: '#/components/parameters/minBed' - $ref: '#/components/parameters/minBath' - $ref: '#/components/parameters/minCar' - name: status in: query description: Filter by a list of statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - conditional - unconditional - settlement - suburb - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/RuralSoldProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /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: portalStatus in: query description: Filter by a list of portal 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialSaleProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' 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 /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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialSaleProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /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 /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/includeConditional' - $ref: '#/components/parameters/conditionalSince' - $ref: '#/components/parameters/conditionalBefore' - $ref: '#/components/parameters/includeFallen' - $ref: '#/components/parameters/fallenSince' - $ref: '#/components/parameters/fallenBefore' - $ref: '#/components/parameters/unconditionalSince' - $ref: '#/components/parameters/unconditionalBefore' - $ref: '#/components/parameters/settlementSince' - $ref: '#/components/parameters/settlementBefore' - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - $ref: '#/components/parameters/publishedOnPortals' - $ref: '#/components/parameters/minSalePrice' - $ref: '#/components/parameters/maxSalePrice' - name: status in: query description: Filter by a list of statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - conditional - unconditional - settlement - suburb - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialSoldProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /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/includeConditional' - $ref: '#/components/parameters/conditionalSince' - $ref: '#/components/parameters/conditionalBefore' - $ref: '#/components/parameters/includeFallen' - $ref: '#/components/parameters/fallenSince' - $ref: '#/components/parameters/fallenBefore' - $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: - conditional - unconditional - settled - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - conditional - 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - conditional - unconditional - settlement - suburb - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialSoldProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /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: portalStatus in: query description: Filter by a list of portal 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - 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 - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialLeaseProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' 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 /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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - 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 - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialLeaseProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /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 /properties/business/sale: get: tags: - businessProperties summary: Retrieve a list of business properties description: Retrieve a list of business properties operationId: getBusinessProperties 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: portalStatus in: query description: Filter by a list of portal 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/BusinessProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - businessProperties summary: Add a business property description: Add a business property operationId: addBusinessProperty requestBody: description: Business property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateBusinessProperty' required: true responses: 201: description: Property created content: application/json: schema: $ref: '#/components/schemas/BusinessPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/business/sale/available: get: tags: - businessProperties summary: Retrieve a list of available business properties description: Retrieve a list of available business properties. This is the same as the /properties/business/sale endpoint, with certain filters pre-applied. operationId: getAvailableBusinessProperties 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/BusinessProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/business/sale/{id}: get: tags: - businessProperties summary: Retrieve a single business property description: Retrieve a single business property operationId: getBusinessProperty 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/BusinessPropertyExtended' security: - Api-Key: [] Bearer: [] put: tags: - businessProperties summary: Update a business property description: Update a business property operationId: updateBusinessProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Business property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateBusinessProperty' required: true responses: 200: description: Property updated content: application/json: schema: $ref: '#/components/schemas/BusinessPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/business/sale/sold: get: tags: - businessProperties summary: Retrieve a list of sold business properties description: Retrieve a list of sold business properties operationId: getBusinessSoldProperties parameters: - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - $ref: '#/components/parameters/includeConditional' - $ref: '#/components/parameters/conditionalSince' - $ref: '#/components/parameters/conditionalBefore' - $ref: '#/components/parameters/includeFallen' - $ref: '#/components/parameters/fallenSince' - $ref: '#/components/parameters/fallenBefore' - $ref: '#/components/parameters/unconditionalSince' - $ref: '#/components/parameters/unconditionalBefore' - $ref: '#/components/parameters/settlementSince' - $ref: '#/components/parameters/settlementBefore' - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - $ref: '#/components/parameters/publishedOnPortals' - $ref: '#/components/parameters/minSalePrice' - $ref: '#/components/parameters/maxSalePrice' - name: status in: query description: Filter by a list of statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - conditional - unconditional - settlement - suburb - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/BusinessSoldProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/holidayRental/lease: get: tags: - holidayRentalProperties summary: Retrieve a list of holiday rental properties description: Retrieve a list of holiday rental properties operationId: getHolidayRentalProperties 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 - management - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - prospect - appraisal - management - name: availableOnly in: query description: Filter available lease properties only schema: type: boolean - 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/HolidayRentalProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - holidayRentalProperties summary: Add a holiday rental property description: Add a holiday rental property operationId: addHolidayRentalProperty requestBody: description: Holiday rental property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateHolidayRentalProperty' required: true responses: 201: description: Property created content: application/json: schema: $ref: '#/components/schemas/HolidayRentalPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/holidayRental/lease/available: get: tags: - holidayRentalProperties summary: Retrieve a list of available holiday rental properties description: Retrieve a list of available holiday rental properties. This is the same as the /properties/holidayRental/lease endpoint, with certain filters pre-applied. operationId: getAvailableHolidayRentalProperties 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - suburb - searchPrice - landArea - floorArea - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/HolidayRentalProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/holidayRental/lease/{id}: get: tags: - holidayRentalProperties summary: Retrieve a single holiday rental property description: Retrieve a single holiday rental property operationId: getHolidayRentalProperty 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/HolidayRentalPropertyExtended' security: - Api-Key: [] Bearer: [] put: tags: - holidayRentalProperties summary: Update a holiday rental property description: Update a holiday rental property operationId: updateHolidayRentalProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Holiday Rental property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateHolidayRentalProperty' required: true responses: 200: description: Property updated content: application/json: schema: $ref: '#/components/schemas/HolidayRentalPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{class}/{salelease}/{id}/custom: get: tags: - properties summary: Retrieve a list of custom fields for a given property description: Retrieve a list of custom fields for a given property operationId: getPropertyCustomFields parameters: - name: class in: path description: Class of property required: true schema: type: string - 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 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Custom fields retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CustomFieldGrouping' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] put: tags: - properties summary: Update the custom fields for this property description: Update the custom fields for this property operationId: updatePropertyCustomFields parameters: - name: class in: path description: Class of property required: true schema: type: string - 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 requestBody: description: Items object containing array of custom fields content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AddUpdateCustomField' required: true responses: 200: description: Custom fields updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /suggest/suburb: get: tags: - suggest summary: Search for a suburb description: Search for a suburb operationId: suggestSuburb parameters: - name: term in: query description: The suburb name (partial match) or postcode (exact match) to search by required: true schema: type: string - name: groupSuburbs in: query description: If true, group suburbs by an associated district schema: type: boolean - name: exactMatch in: query description: Exactly match a suburb based on `term` schema: type: boolean - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Suggestions retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Suburb' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /suggest/district: get: tags: - suggest summary: Search for a district description: Search for a district, optionally by name of one of the suburbs within it operationId: suggestDistrict parameters: - name: term in: query description: The suburb name (partial match) or district name to search by required: true schema: type: string - name: matchSuburb in: query description: Search for a district based on `term` matching the name of a suburb schema: type: boolean default: true - name: exactMatch in: query description: Exactly match a district or suburb based on `term` schema: type: boolean - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Suggestions retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/NZDistrict' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /suggest/address/corelogic: get: tags: - suggest - corelogic summary: Search for an address in CoreLogic description: Search for an address in CoreLogic operationId: suggestAddressCoreLogic parameters: - name: term in: query description: The term to search by required: true schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Suggestions retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CoreLogicAddressSuggest' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /corelogic/properties/{id}: get: tags: - corelogic summary: Retrieve a property from CoreLogic description: Retrieve a property from CoreLogic using the CoreLogic property ID operationId: getCoreLogicProperty parameters: - name: id in: path description: CoreLogic ID of the property required: true schema: type: integer format: int64 responses: 200: description: Property retrieved content: application/json: schema: $ref: '#/components/schemas/CoreLogicProperty' security: - Api-Key: [] Bearer: [] /corelogic/properties/{id}/avm: get: tags: - corelogic summary: Retrieve an AVM estimate for this CoreLogic property description: Retrieve an AVM estimate for this CoreLogic property operationId: getCoreLogicAvm parameters: - name: id in: path description: CoreLogic ID of the property required: true schema: type: integer format: int64 responses: 200: description: AVM retrieved content: application/json: schema: $ref: '#/components/schemas/CoreLogicAvm' 403: description: User does not have correct CoreLogic subscription level content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /corelogic/properties/{id}/rentalavm: get: tags: - corelogic summary: Retrieve a rental AVM estimate for this CoreLogic property description: Retrieve a rental AVM estimate for this CoreLogic property operationId: getCoreLogicRentalAvm parameters: - name: id in: path description: CoreLogic ID of the property required: true schema: type: integer format: int64 responses: 200: description: Rental AVM retrieved content: application/json: schema: $ref: '#/components/schemas/CoreLogicRentalAvm' 403: description: User does not have correct CoreLogic subscription level content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /corelogic/disclaimers: get: tags: - corelogic summary: Retrieve CoreLogic disclaimers description: Retrieve CoreLogic disclaimers operationId: getCoreLogicDisclaimers responses: 200: description: Disclaimers retrieved content: application/json: schema: type: array items: type: string security: - Api-Key: [] Bearer: [] /search/properties/address: get: tags: - search summary: Search for properties by address description: Search for properties by address operationId: searchProperties parameters: - name: term in: query description: The term to search by required: true schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Search results retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertySearchResult' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /search/contacts: get: tags: - search summary: Search for contacts by a variety of criteria description: Search for contacts by a variety of criteria operationId: searchContacts parameters: - name: name in: query description: Min 4 chars - The persons name or their partner's name schema: type: string - name: phone in: query description: Min 4 chars - The persons phone number schema: type: string - name: email in: query description: Min 4 chars - The persons emails schema: type: string - name: categories in: query description: Categories the person is part of style: form explode: false schema: type: array items: type: integer format: int64 - name: fuzzy in: query description: If true the person can match on any of the queried parameters and not necessarily all of them. If false, they must match all queried parameters. schema: type: boolean default: true - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: archived in: query description: Filter by archived status schema: type: boolean - name: marketingUser in: query description: Filter by marketing user schema: type: integer format: int64 - name: marketingUserPosition in: query description: Used in conjuction with marketingUser, filter by marketing user position ID schema: type: integer format: int64 - name: editableOnly in: query description: If true, only return contacts that are editable by the user schema: type: boolean - name: streetName in: query description: Filter by street name schema: type: string - name: suburb in: query description: Filter by suburb ID style: form explode: false schema: type: array items: type: integer format: int64 - name: contactType in: query description: Filter by entity type style: form explode: false schema: type: array items: type: integer format: int64 - name: company in: query description: Filter by company name schema: type: string - name: propertyRelationship in: query description: Filter by property relationship style: form explode: false schema: type: array items: type: string enum: - owner - pastOwner - purchaser - landlord - tenant responses: 200: description: Search results retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactSearchResult' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /search/contacts/name: get: tags: - search summary: Search for contacts by name description: Search for contacts by name operationId: searchContactsName parameters: - name: term in: query description: The term to search by required: true schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: archived in: query description: Filter by archived status schema: type: boolean - name: marketingUser in: query description: Filter by marketing user schema: type: integer format: int64 - name: marketingUserPosition in: query description: Used in conjuction with marketingUser, filter by marketing user position ID schema: type: integer format: int64 responses: 200: description: Search results retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactSearchResult' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /search/contacts/phone: get: tags: - search summary: Search for contacts by phone number (exact match) description: Search for contacts by phone number (exact match) operationId: searchContactsPhone parameters: - name: term in: query description: The term to search by required: true schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: archived in: query description: Filter by archived status schema: type: boolean - name: marketingUser in: query description: Filter by marketing user schema: type: integer format: int64 - name: marketingUserPosition in: query description: Used in conjuction with marketingUser, filter by marketing user position ID schema: type: integer format: int64 responses: 200: description: Search results retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactSearchResult' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /search/contacts/email: get: tags: - search summary: Search for contacts by email address (exact match) description: Search for contacts by email address (exact match) operationId: searchContactsEmail parameters: - name: term in: query description: The term to search by required: true schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: archived in: query description: Filter by archived status schema: type: boolean - name: marketingUser in: query description: Filter by marketing user schema: type: integer format: int64 - name: marketingUserPosition in: query description: Used in conjuction with marketingUser, filter by marketing user position ID schema: type: integer format: int64 responses: 200: description: Search results retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactSearchResult' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /search/buildings/name: get: tags: - search summary: Search for buildings by name description: Search for buildings by name operationId: searchBuildingsName parameters: - name: term in: query description: The term to search by required: true schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Search results retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/BuildingSearchResult' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /calendar/events: get: tags: - calendar summary: Get a list of calendar events for the user or account description: Get a list of calendar events for the user or account operationId: getCalendarEvents parameters: - name: startingAfter in: query description: Filter events starting on or after this datetime schema: type: string format: date-time - name: startingBefore in: query description: Filter events starting before this datetime schema: type: string format: date-time - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - start - $ref: '#/components/parameters/sortOrder' responses: 200: description: Calendar events retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CalendarEvent' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - calendar summary: Add a calendar event description: Add a calendar event operationId: addCalendarEvent requestBody: description: Calendar event object content: application/json: schema: $ref: '#/components/schemas/AddUpdateCalendarEvent' required: true responses: 201: description: Calendar event created content: application/json: schema: $ref: '#/components/schemas/CalendarEvent' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /calendar/events/{id}: get: tags: - calendar summary: Get a single calendar event description: Get a single calendar event operationId: getCalendarEvent parameters: - name: id in: path description: The ID of the calendar event required: true schema: type: integer format: int64 responses: 200: description: Calendar event retrieved content: application/json: schema: $ref: '#/components/schemas/CalendarEvent' security: - Api-Key: [] Bearer: [] put: tags: - calendar summary: Update a calendar event description: Update a calendar event operationId: updateCalendarEvent parameters: - name: id in: path description: ID of the calendar event required: true schema: type: integer format: int64 requestBody: description: Calendar event object content: application/json: schema: $ref: '#/components/schemas/AddUpdateCalendarEvent' required: true responses: 200: description: Calendar event updated content: application/json: schema: $ref: '#/components/schemas/CalendarEvent' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - calendar summary: Delete a calendar event description: Delete a calendar event operationId: deleteCalendarEvent parameters: - name: id in: path description: ID of the calendar event required: true schema: type: integer format: int64 responses: 204: description: Calendar event deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /tasks: get: tags: - tasks summary: Get a list of tasks for the account or user description: Get a list of tasks for the account or user operationId: getTasks parameters: - name: startingAfter in: query description: Filter tasks starting on or after this datetime schema: type: string format: date-time - name: startingBefore in: query description: Filter tasks starting before this datetime schema: type: string format: date-time - name: userid in: query description: Filter tasks assigned to this user ID schema: type: integer format: int64 - name: completed in: query description: Filter tasks by completed status schema: type: boolean - $ref: '#/components/parameters/insertedSince' - $ref: '#/components/parameters/insertedBefore' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - start - $ref: '#/components/parameters/sortOrder' responses: 200: description: Tasks retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Task' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - tasks summary: Add a task description: Add a task operationId: addTask requestBody: description: Task object content: application/json: schema: $ref: '#/components/schemas/AddTask' required: true responses: 201: description: Task created content: application/json: schema: $ref: '#/components/schemas/Task' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /tasks/{id}: get: tags: - tasks summary: Get a single task description: Get a single task operationId: getTask parameters: - name: id in: path description: The ID of the task required: true schema: type: integer format: int64 responses: 200: description: Task retrieved content: application/json: schema: $ref: '#/components/schemas/Task' security: - Api-Key: [] Bearer: [] put: tags: - tasks summary: Update a task description: Update a task operationId: updateTask parameters: - name: id in: path description: ID of the task required: true schema: type: integer format: int64 requestBody: description: Task object content: application/json: schema: $ref: '#/components/schemas/UpdateTask' required: true responses: 200: description: Task updated content: application/json: schema: $ref: '#/components/schemas/Task' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - tasks summary: Delete a task description: Delete a task operationId: deleteTask parameters: - name: id in: path description: ID of the task required: true schema: type: integer format: int64 responses: 204: description: Task deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /tasks/{id}/complete: put: tags: - tasks summary: Mark the task as completed description: Mark the task as uncompleted operationId: completeTask parameters: - name: id in: path description: ID of the task required: true schema: type: integer format: int64 responses: 200: description: Task completed content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /tasks/{id}/uncomplete: put: tags: - tasks summary: Mark the task as incomplete description: Mark the task as incomplete operationId: uncompleteTask parameters: - name: id in: path description: ID of the task required: true schema: type: integer format: int64 responses: 200: description: Task marked as incomplete content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /enquiries/{id}: get: tags: - enquiries summary: Retrieve a single enquiry from the holding area description: Retrieve a single enquiry from the holding area operationId: getEnquiry parameters: - name: id in: path description: ID of the enquiry required: true schema: type: integer format: int64 responses: 200: description: Enquiry retrieved content: application/json: schema: $ref: '#/components/schemas/Enquiry' security: - Api-Key: [] Bearer: [] /enquiries: get: tags: - enquiries summary: Get a list of enquiries from the holding area description: Get a list of enquiries from the holding area operationId: getEnquiries parameters: - name: enquiryDateSince in: query description: Filter enquiries occuring on or after this datetime schema: type: string format: date-time - name: enquiryDateBefore in: query description: Filter enquiries occuring before this datetime schema: type: string format: date-time - name: processed in: query description: Filter enquiries that have been processed or unprocessed schema: type: boolean - name: saleLifeId in: query description: Filter enquiries for this sale life ID schema: type: integer format: int64 - name: leaseLifeId in: query description: Filter enquiries for this lease life ID schema: type: integer format: int64 - name: userId in: query description: Filter enquiries for this user (enquiries not attached to a property) schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - enquiryDate - $ref: '#/components/parameters/sortOrder' - name: source in: query description: The source of the enquiries. Must be an Holding Area Type API code. schema: type: string responses: 200: description: Enquiries retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Enquiry' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - enquiries summary: Submit a listing or agent enquiry description: Submit a listing enquiry (e.g. from a franchise/portal site). If you are submitting enquiries from your "office website", please use the value "OFFICEWEBSITE" for the "source" field. If you are submitting a user enquiry (i.e. an enquiry not attached to a property), leave out the property related fields and use the userId field. operationId: addEnquiry requestBody: description: Enquiry object content: application/json: schema: $ref: '#/components/schemas/AddEnquiry' required: true responses: 201: description: Enquiry received successfully content: application/json: schema: $ref: '#/components/schemas/Enquiry' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /property/portalStats/cumulative: put: tags: - propertyStats summary: Update cumulative portal stats for a property description: Update cumulative portal stats for a property (e.g. listing views). If you want to track views day by day, use this endpoint. operationId: updatePortalStatsCumulative requestBody: description: Property Portal Stats object. Please note that "statDate" is a Date field (YYYY-MM-DD) and "total" represents the total figures for that date content: application/json: schema: $ref: '#/components/schemas/UpdatePortalStatsCumulative' required: true responses: 200: description: Stats updated successfully content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /property/portalStats/total: put: tags: - propertyStats summary: Update total portal stats for a property description: Update total portal stats for a property (e.g. listing views). If you only track a total figure for stats, use this endpoint. operationId: updatePortalStatsTotal requestBody: description: Property Portal Stats object content: application/json: schema: $ref: '#/components/schemas/UpdatePortalStatsTotal' required: true responses: 200: description: Stats updated successfully content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /property/portalStats: get: tags: - propertyStats summary: Retrieve previously submitted portal stats for a given property and portal description: Retrieve previously submitted portal stats for a given property and portal operationId: getPortalStats parameters: - name: statDateSince in: query description: Filter metrics occuring on or after this date schema: type: string format: date-time - name: statDateBefore in: query description: Filter metrics occuring before this date schema: type: string format: date-time - name: saleLifeId in: query description: Filter metrics for this sale life ID schema: type: integer format: int64 - name: leaseLifeId in: query description: Filter metrics for this lease life ID schema: type: integer format: int64 - name: propertyReference in: query description: Filter metrics by property portal reference (unique ID) schema: type: string - name: source in: query description: The source (portal) of the stats. schema: type: string required: true - $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: - modified - statDate - $ref: '#/components/parameters/sortOrder' responses: 200: description: Stats retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PortalStats' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}/sale/{lifeid}/offerConditions: get: tags: - properties - propertyOfferConditions summary: Retrieve a list of offer conditions for this property life description: Retrieve a list of offer conditions for this property life operationId: getPropertyLifeOfferConditions parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 - name: userid in: query description: Items related to this user ID schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Sort items by field schema: type: string enum: - due - $ref: '#/components/parameters/sortOrder' responses: 200: description: Offer Conditions retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyOfferCondition' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/sale/{lifeid}/offerConditions/{id}: get: tags: - properties - propertyOfferConditions summary: Retrieve an offer condition for this property life description: Retrieve an offer condition for this property life operationId: getPropertyLifeOfferCondition parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - 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 offer condition required: true schema: type: integer format: int64 responses: 200: description: Offer Condition retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyOfferCondition' security: - Api-Key: [] Bearer: [] put: tags: - properties - propertyOfferConditions summary: Update a property's offer condition description: Update a property's offer condition operationId: updatePropertyOfferCondition parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - 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 offer condition required: true schema: type: integer format: int64 requestBody: description: PropertyOfferCondition object content: application/json: schema: $ref: '#/components/schemas/UpdatePropertyOfferCondition' required: true responses: 200: description: Offer Condition updated content: application/json: schema: $ref: '#/components/schemas/PropertyOfferCondition' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/sale/{lifeid}/offerConditions/{id}/complete: put: tags: - properties - propertyOfferConditions summary: Complete a property's offer condition description: Complete a property's offer condition operationId: completePropertyOfferCondition parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - 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 offer condition required: true schema: type: integer format: int64 responses: 200: description: Offer Condition updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/sale/{lifeid}/offerConditions/{id}/uncomplete: put: tags: - properties - propertyOfferConditions summary: Uncomplete a property's offer condition description: Uncomplete a property's offer condition operationId: uncompletePropertyOfferCondition parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - 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 offer condition required: true schema: type: integer format: int64 responses: 200: description: Offer Condition updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{class}/{salelease}/upcomingOpenHomes: get: tags: - properties summary: Retrieve a list of upcoming open homes description: Retrieve a list of upcoming open homes operationId: getUpcomingOpenHomes parameters: - name: class in: path description: Class of property required: true schema: type: string enum: - residential - rural - holidayRental - name: salelease in: path description: Filter by sale or lease properties required: true schema: type: string enum: - sale - lease - name: days in: query description: Number of days to look ahead (default 7) schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Open Homes retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/OpenHomeWithProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/lookup/{propertyReference}: get: tags: - properties summary: Look up property information based on property reference description: Look up property information based on the property reference sent to portal sites (e.g. <uniqueID>) operationId: lookupPropertyByPortalReference parameters: - name: propertyReference in: path description: Property reference to look up required: true schema: type: string responses: 200: description: Property retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyExtended' security: - Api-Key: [] Bearer: [] /properties/{id}/sale/statusChange/listing: put: tags: - properties summary: Convert a prospect or appraisal sale property to listing status description: Convert a prospect or appraisal sale property to listing status operationId: convertToListing parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 responses: 200: description: Status changed successfully content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Status could not be changed. content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{id}/lease/statusChange/management: put: tags: - properties summary: Convert a prospect or appraisal lease property to management status description: Convert a prospect or appraisal lease property to management status operationId: convertToManagement parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 responses: 200: description: Status changed successfully content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Status could not be changed. content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /templates/email: get: tags: - templates summary: Retrieve a list of email templates description: Retrieve a list of email templates operationId: getEmailTemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Email templates retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/EmailTemplate' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - templates summary: Create an email template description: Create an email template operationId: addEmailTemplate requestBody: description: Email template object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateEmailTemplate' required: true responses: 201: description: Email template created content: application/json: schema: $ref: '#/components/schemas/EmailTemplate' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /templates/email/{id}: get: tags: - templates summary: Retrieve a single email template description: Retrieve a single email template operationId: getEmailTemplate parameters: - name: id in: path description: ID of the template required: true schema: type: integer format: int64 responses: 200: description: Email Template retrieved content: application/json: schema: $ref: '#/components/schemas/EmailTemplate' security: - Api-Key: [] Bearer: [] put: tags: - templates summary: Update an email template description: Update an email template operationId: updateEmailTemplate parameters: - name: id in: path description: ID of the template required: true schema: type: integer format: int64 requestBody: description: Email template object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateEmailTemplate' required: true responses: 200: description: Email template updated content: application/json: schema: $ref: '#/components/schemas/EmailTemplate' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /templates/sms: get: tags: - templates summary: Retrieve a list of SMS templates description: Retrieve a list of SMS templates operationId: getSMSTemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: SMS templates retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/SMSTemplate' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - templates summary: Create an SMS template description: Create an SMS template operationId: addSMSTemplate requestBody: description: SMS template object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateSMSTemplate' required: true responses: 201: description: SMS template created content: application/json: schema: $ref: '#/components/schemas/SMSTemplate' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /templates/sms/{id}: get: tags: - templates summary: Retrieve a single SMS template description: Retrieve a single SMS template operationId: getSMSTemplate parameters: - name: id in: path description: ID of the template required: true schema: type: integer format: int64 responses: 200: description: SMS Template retrieved content: application/json: schema: $ref: '#/components/schemas/SMSTemplate' security: - Api-Key: [] Bearer: [] put: tags: - templates summary: Update an SMS template description: Update an SMS template operationId: updateSMSTemplate parameters: - name: id in: path description: ID of the template required: true schema: type: integer format: int64 requestBody: description: SMS template object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateSMSTemplate' required: true responses: 200: description: SMS template updated content: application/json: schema: $ref: '#/components/schemas/SMSTemplate' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /templates/ownerSummary: get: tags: - templates summary: Retrieve a list of owner summary templates description: Retrieve a list of owner summary templates operationId: getOwnerSummaryTemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Owner Summary templates retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/OwnerSummaryTemplate' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - templates summary: Create an Owner Summary template description: Create an Owner Summary template operationId: addOwnerSummaryTemplate requestBody: description: Owner Summary template object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateOwnerSummaryTemplate' required: true responses: 201: description: Owner Summary template created content: application/json: schema: $ref: '#/components/schemas/OwnerSummaryTemplate' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /templates/ownerSummary/{id}: get: tags: - templates summary: Retrieve a single Owner Summary template description: Retrieve a single Owner Summary template operationId: getOwnerSummaryTemplate parameters: - name: id in: path description: ID of the template required: true schema: type: integer format: int64 responses: 200: description: Owner Summary Template retrieved content: application/json: schema: $ref: '#/components/schemas/OwnerSummaryTemplate' security: - Api-Key: [] Bearer: [] put: tags: - templates summary: Update an Owner Summary template description: Update an Owner Summary template operationId: updateOwnerSummaryTemplate parameters: - name: id in: path description: ID of the template required: true schema: type: integer format: int64 requestBody: description: Owner Summary template object content: '*/*': schema: $ref: '#/components/schemas/AddUpdateOwnerSummaryTemplate' required: true responses: 200: description: Owner Summary template updated content: application/json: schema: $ref: '#/components/schemas/OwnerSummaryTemplate' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /merge-fields: get: tags: - mergeFields summary: Retrieve available merge fields description: |- Returns available merge fields for a given template type and delivery method. When `context` is omitted, returns a tiered response grouping fields by their availability requirements. When `context` is provided, returns a flat response containing only the fields usable in that context. operationId: getMergeFields parameters: - name: template_type in: query description: Template type ID (e.g. market_report, buyer_match, property_alert). required: true schema: type: string - name: delivery_method in: query description: Delivery method to filter fields by. Defaults to email. schema: type: string enum: - email - sms - cloud_letter default: email - name: context in: query description: |- Context ID (e.g. contact_only, contact_property_sale). When provided the response is a flat list of fields usable in that context. When omitted the response is tiered showing all availability levels. schema: type: string - name: include_custom in: query description: Include account-specific custom contact and property merge fields. schema: type: boolean default: false - name: search in: query description: Filter fields by matching against the field name, description, or token. schema: type: string responses: 200: description: Merge fields retrieved content: application/json: schema: oneOf: - $ref: '#/components/schemas/MergeFieldsTieredResponse' - $ref: '#/components/schemas/MergeFieldsFlatResponse' 400: description: template_type is required, or an invalid parameter value was supplied content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/interest: get: tags: - properties summary: Retrieve a list of contacts and their interest related this property life description: Retrieve a list of contacts and their interest related this property life operationId: getPropertyLifeInterest parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Property life interest retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/interest/{contactid}: get: tags: - properties summary: Retrieve a single contact's interest in this property life description: Retrieve a single contact's interest in this property life operationId: getPropertyLifeInterestItem parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 200: description: Property life interest retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyLifeInterest' security: - Api-Key: [] Bearer: [] put: tags: - properties summary: Update a contact's interest in this property life description: Update a contact's interest in this property life operationId: updatePropertyLifeInterest parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Interest object content: '*/*': schema: $ref: '#/components/schemas/UpdatePropertyLifeInterest' required: true responses: 200: description: Property life interest updated content: {} 201: description: Property life interest added content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{id}/{salelease}/{lifeid}/enquirySources: get: tags: - properties summary: Retrieve a list of contacts and their source of enquiry related this property life description: Retrieve a list of contacts and their source of enquiry related this property life operationId: getPropertyLifeEnquirySources parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Property life enquiry sources retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/enquirySources/{contactid}: get: tags: - properties summary: Retrieve a single contact's source of enquiry for this property life description: Retrieve a single contact's source of enquiry for this property life operationId: getPropertyLifeEnquirySourcesItem parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 200: description: Property life enquiry source retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyLifeEnquirySource' security: - Api-Key: [] Bearer: [] put: tags: - properties summary: Update a contact's source of enquiry for this property life description: Update a contact's source of enquiry for this property life operationId: updatePropertyLifeEnquirySource parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Enquiry Source object content: '*/*': schema: $ref: '#/components/schemas/UpdatePropertyLifeEnquirySource' required: true responses: 200: description: Property life enquiry source updated content: {} 201: description: Property life enquiry source added content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/requirements: get: tags: - contacts summary: Retrieve a list of buying/renting requirements across all contacts description: Retrieve a list of buying/renting requirements across all contacts operationId: getContactRequirementsBulk parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - $ref: '#/components/parameters/sortOrder' - name: active in: query description: Filter active/inactive requirements schema: type: boolean responses: 200: description: Requirements retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/RequirementAndContact' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/marketingUsers: get: tags: - contacts summary: Retrieve a list of contact marketing users across all contacts description: Retrieve a list of contact marketing users across all contacts operationId: getContactMarketingUsersBulk parameters: - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - modified - $ref: '#/components/parameters/sortOrder' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Marketing Users retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactAndMarketingUser' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/currentTenants: get: tags: - contacts - properties summary: Retrieve a list of current tenants across all properties description: Retrieve a list of current tenants across all properties operationId: getCurrentTenants parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Tenants retrieved content: application/json: schema: type: object properties: items: type: array items: type: object properties: contact: $ref: '#/components/schemas/ID' tenancy: $ref: '#/components/schemas/ID' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/currentLandlords: get: tags: - contacts - properties summary: Retrieve a list of current landlords across all properties description: Retrieve a list of current landlords across all properties operationId: getCurrentLandlords parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Landlords retrieved content: application/json: schema: type: object properties: items: type: array items: type: object properties: contact: $ref: '#/components/schemas/ID' leaseLife: $ref: '#/components/schemas/ID' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/currentOwners: get: tags: - contacts - properties summary: Retrieve a list of current owners/vendors across all sale properties description: Retrieve a list of current owners/vendors across all sale properties operationId: getCurrentOwners parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Owners retrieved content: application/json: schema: type: object properties: items: type: array items: type: object properties: contact: $ref: '#/components/schemas/ID' saleLife: $ref: '#/components/schemas/ID' property: $ref: '#/components/schemas/ID' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/currentPurchasers: get: tags: - contacts - properties summary: Retrieve a list of current purchasers across all sale properties description: Retrieve a list of current purchasers across all sale properties operationId: getCurrentPurchasers parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Purchasers retrieved content: application/json: schema: type: object properties: items: type: array items: type: object properties: contact: $ref: '#/components/schemas/ID' saleLife: $ref: '#/components/schemas/ID' property: $ref: '#/components/schemas/ID' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/sourceOfEnquiry: get: tags: - contacts summary: Retrieve a list of contact source of enquiry across all contacts description: Retrieve a list of contact source of enquiry across all contacts operationId: getContactSourceOfEnquiryBulk parameters: - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - modified - $ref: '#/components/parameters/sortOrder' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Records retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/BulkContactSourceOfEnquiry' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/dates: get: tags: - contacts summary: Retrieve a list of contact dates across all contacts description: Retrieve a list of contact dates across all contacts operationId: getContactDatesBulk parameters: - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - modified - $ref: '#/components/parameters/sortOrder' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Dates retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactAndDate' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/categories: get: tags: - contacts summary: Retrieve a list of contact category mappings across all contacts description: Retrieve a list of contact category mappings across all contacts operationId: getCategoriesContactBulk parameters: - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - modified - $ref: '#/components/parameters/sortOrder' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Categories retrieved content: application/json: schema: type: object properties: items: type: array items: type: object properties: contact: $ref: '#/components/schemas/ID' category: $ref: '#/components/schemas/ID' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /maintenance: get: tags: - maintenance summary: Retrieve a list of all maintenance jobs for this account description: Retrieve a list of all maintenance jobs for this account operationId: getAllMaintenance parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: completed in: query description: Filter maintenance jobs by their completed status 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: Maintenance jobs retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Maintenance' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/lease/{lifeid}/maintenance: get: tags: - properties - maintenance summary: Retrieve a list of maintenance jobs for this property life description: Retrieve a list of maintenance jobs for this property life operationId: getMaintenance parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: tenancy in: query description: Filter maintenance jobs for this tenancy id schema: type: integer format: int64 - name: completed in: query description: Filter maintenance jobs by their completed status 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: Maintenance jobs retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Maintenance' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - properties - maintenance summary: Create a maintenance job description: Create a maintenance job operationId: addMaintenance parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 requestBody: description: Maintenance job object content: '*/*': schema: $ref: '#/components/schemas/AddMaintenance' required: true responses: 201: description: Maintenance job created content: application/json: schema: $ref: '#/components/schemas/Maintenance' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/lease/{lifeid}/maintenance/{jobid}: get: tags: - properties - maintenance summary: Retrieve a single maintenance job description: Retrieve a single maintenance job operationId: getMaintenanceJob parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 responses: 200: description: Maintenance job retrieved content: application/json: schema: $ref: '#/components/schemas/Maintenance' security: - Api-Key: [] Bearer: [] put: tags: - properties - maintenance summary: Update a single maintenance job description: Update a single maintenance job operationId: updateMaintenance parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 requestBody: description: Maintenance job object content: application/json: schema: $ref: '#/components/schemas/UpdateMaintenance' required: true responses: 200: description: Maintenance job updated content: application/json: schema: $ref: '#/components/schemas/Maintenance' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - properties - maintenance summary: Delete a maintenance job description: Delete a maintenance job operationId: deleteMaintenance parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 responses: 204: description: Maintenance job deleted content: {} 400: description: Invalid data content: {} 403: description: User does not have permission to delete maintenance jobs content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/lease/{lifeid}/maintenance/{jobid}/photos: post: tags: - properties - maintenance summary: Add a maintenance job photo description: Add a maintenance job photo operationId: addMaintenancePhoto parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 requestBody: content: multipart/form-data: schema: required: - photo properties: description: type: string description: The description of the maintenance photo photo: type: string description: The photo to be uploaded format: binary required: true responses: 201: description: Maintenance job photo created content: application/json: schema: $ref: '#/components/schemas/MaintenancePhoto' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/lease/{lifeid}/maintenance/{jobid}/photos/{id}: get: tags: - properties - maintenance summary: Retrieve a single maintenance job photo description: Retrieve a single maintenance job photo operationId: getMaintenanceJobPhoto parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 - name: id in: path description: ID of the maintenance job photo required: true schema: type: integer format: int64 responses: 200: description: Maintenance job photo retrieved content: application/json: schema: $ref: '#/components/schemas/MaintenancePhoto' security: - Api-Key: [] Bearer: [] delete: tags: - properties - maintenance summary: Delete a maintenance job photo description: Delete a maintenance job photo operationId: deleteMaintenancePhoto parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 - name: id in: path description: ID of the maintenance job photo required: true schema: type: integer format: int64 responses: 204: description: Maintenance job photo deleted content: {} 400: description: Invalid data content: {} 403: description: User does not have permission to delete maintenance job photos content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/lease/{lifeid}/maintenance/{jobid}/requests: get: tags: - properties - maintenance summary: Retrieve a list of requests for a maintenance job description: Retrieve a list of requests for a maintenance job operationId: getMaintenanceRequests parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: workOrders in: query description: Filter maintenance job requests by work order status schema: type: boolean - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - $ref: '#/components/parameters/sortOrder' responses: 200: description: Maintenance requests retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MaintenanceRequest' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - properties - maintenance summary: Create a maintenance job request description: Create a maintenance request operationId: addMaintenanceRequest parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 requestBody: description: Maintenance request object content: '*/*': schema: $ref: '#/components/schemas/AddMaintenanceRequest' required: true responses: 201: description: Maintenance request created content: application/json: schema: $ref: '#/components/schemas/MaintenanceRequest' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/lease/{lifeid}/maintenance/{jobid}/requests/{id}/initiateWorkOrder: put: tags: - properties - maintenance summary: Initiate a maintenance work order description: Initiate a maintenance work order operationId: initiateMaintenceWorkOrder parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 - name: id in: path description: ID of the maintenance request required: true schema: type: integer format: int64 requestBody: description: Work order object content: application/json: schema: type: object properties: subject: type: string bodyHTML: type: string sender: $ref: '#/components/schemas/ID' required: true responses: 200: description: Work order initiated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/lease/{lifeid}/maintenance/{jobid}/requests/{id}/complete: put: tags: - properties - maintenance summary: Complete a maintenance work order description: Complete a maintenance work order operationId: completeMaintenceWorkOrder parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 - name: id in: path description: ID of the maintenance request required: true schema: type: integer format: int64 responses: 200: description: Work order completed content: application/json: schema: $ref: '#/components/schemas/Maintenance' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/lease/{lifeid}/maintenance/{jobid}/notes: get: tags: - properties - maintenance summary: Retrieve a list of notes for a maintenance job description: Retrieve a list of notes for a maintenance job operationId: getMaintenanceNotes parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: jobid in: path description: ID of the maintenance job required: true schema: type: integer format: int64 - $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 - $ref: '#/components/parameters/sortOrder' responses: 200: description: Maintenance notes retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MaintenanceNote' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/lease/{lifeid}/tenancy/{id}/inspections: get: tags: - properties - inspections summary: Retrieve a list of inspections for a tenancy description: Retrieve a list of inspections for a tenancy operationId: getInspections parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: id in: path description: ID of the tenancy required: true schema: type: integer format: int64 - $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 - $ref: '#/components/parameters/sortOrder' - name: completed in: query description: Filter inspections by their completed status schema: type: boolean responses: 200: description: Inspections retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Inspection' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - properties - inspections summary: Create an inspection description: Create an inspection operationId: addInspection parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: id in: path description: ID of the tenancy required: true schema: type: integer format: int64 requestBody: description: Inspection object content: application/json: schema: $ref: '#/components/schemas/AddInspection' required: true responses: 201: description: Inspection created content: application/json: schema: $ref: '#/components/schemas/Inspection' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/lease/{lifeid}/tenancy/{tenancyid}/inspections/{id}: get: tags: - properties - inspections summary: Retrieve a single inspection for a tenancy description: Retrieve a single inspection for a tenancy operationId: getInspection parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: tenancyid in: path description: ID of the tenancy required: true schema: type: integer format: int64 - name: id in: path description: ID of the inspection required: true schema: type: integer format: int64 responses: 200: description: Inspection retrieved content: application/json: schema: $ref: '#/components/schemas/Inspection' security: - Api-Key: [] Bearer: [] put: tags: - properties - inspections summary: Update an inspection description: Update an inspection operationId: updateInspection parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: tenancyid in: path description: ID of the tenancy required: true schema: type: integer format: int64 - name: id in: path description: ID of the inspection required: true schema: type: integer format: int64 requestBody: description: Inspection object content: application/json: schema: $ref: '#/components/schemas/UpdateInspection' required: true responses: 200: description: Inspection Updated content: application/json: schema: $ref: '#/components/schemas/Inspection' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - properties - inspections summary: Delete an inspection description: Delete an inspection operationId: deleteInspection parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the lease life required: true schema: type: integer format: int64 - name: tenancyid in: path description: ID of the tenancy required: true schema: type: integer format: int64 - name: id in: path description: ID of the inspection required: true schema: type: integer format: int64 responses: 204: description: Inspection deleted content: {} 400: description: Invalid data content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /suppliers: get: tags: - suppliers summary: Retrieve a list of suppliers description: Retrieve a list of suppliers operationId: getSuppliers parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - 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: Suppliers retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Supplier' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - suppliers summary: Create a supplier description: Create a supplier operationId: addSupplier requestBody: description: Supplier object content: '*/*': schema: $ref: '#/components/schemas/AddSupplier' required: true responses: 201: description: Supplier created content: application/json: schema: $ref: '#/components/schemas/SupplierExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /suppliers/{id}: get: tags: - suppliers summary: Retrieve a single supplier description: Retrieve a single supplier operationId: getSupplier parameters: - name: id in: path description: ID of the supplier required: true schema: type: integer format: int64 responses: 200: description: Supplier retrieved content: application/json: schema: $ref: '#/components/schemas/SupplierExtended' security: - Api-Key: [] Bearer: [] put: tags: - suppliers summary: Update a single supplier description: Update a single supplier operationId: updateSupplier parameters: - name: id in: path description: ID of the supplier required: true schema: type: integer format: int64 requestBody: description: Supplier object content: application/json: schema: $ref: '#/components/schemas/UpdateSupplier' required: true responses: 200: description: Supplier updated content: application/json: schema: $ref: '#/components/schemas/SupplierExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - suppliers summary: Delete a supplier description: Delete a supplier operationId: deleteSupplier parameters: - name: id in: path description: ID of the supplier required: true schema: type: integer format: int64 responses: 204: description: Supplier deleted content: {} 400: description: Invalid data content: {} 403: description: User does not have permission to delete contacts content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /suppliers/{id}/insurance: get: tags: - suppliers summary: Retrieve a supplier's insurance description: Retrieve a supplier's insurance operationId: getSupplierInsurance parameters: - name: id in: path description: ID of the supplier required: true schema: type: integer format: int64 responses: 200: description: Supplier insurance retrieved content: application/json: schema: $ref: '#/components/schemas/Insurance' security: - Api-Key: [] Bearer: [] put: tags: - suppliers summary: Update a single supplier's insurance description: Update a single supplier's insurance operationId: updateSupplierInsurance parameters: - name: id in: path description: ID of the supplier required: true schema: type: integer format: int64 requestBody: description: Insurance object content: application/json: schema: $ref: '#/components/schemas/Insurance' required: true responses: 200: description: Insurance updated content: application/json: schema: $ref: '#/components/schemas/Insurance' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /suppliers/{id}/categories: get: tags: - suppliers summary: Retrieve a list of categories to which this supplier belongs description: Retrieve a list of categories to which this supplier belongs operationId: getCategoriesSupplier parameters: - name: id in: path description: ID of the supplier required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Supplier categories retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Category' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/{id}/access: post: tags: - contacts summary: Allow a user to access this contact description: Allow a user to access this contact operationId: addContactAccess parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Array of user ID's content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ID' required: true responses: 200: description: Contact access successfully updated content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/residential/lease/tenancies: get: tags: - tenancies summary: Retrieve a list of residential tenancies description: Retrieve a list of residential tenancies operationId: getResidentialLeaseTenancies parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Tenancies retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/TenancyAndProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /bulk/contactNotes/requests: get: tags: - bulk summary: Retrieve a list of previously requested exports of contact notes description: Retrieve a list of previously requested exports of contact notes. operationId: retrieveBulkContactNotesExports parameters: - $ref: '#/components/parameters/insertedSince' - $ref: '#/components/parameters/insertedBefore' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: status in: query description: Filter exports by status schema: type: string enum: - pending - processing - ready responses: 200: description: Exports retrieved content: application/json: schema: type: object properties: items: type: array items: type: object properties: requestid: type: string status: type: string totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /bulk/contactNotes/request: get: tags: - bulk summary: Retrieve a previously requested export of contact notes description: Retrieve a previously requested export of contact notes. The response is a download link to a zip file containing the export. operationId: retrieveBulkContactNotesExport parameters: - name: requestid in: query description: Retrieve the export with this requestId schema: type: string responses: 200: description: Export link retrieved content: application/json: schema: type: object properties: url: type: string status: type: string security: - Api-Key: [] Bearer: [] post: tags: - bulk summary: Request an export of contact notes description: Request an export of contact notes. The export is processed offline; you can then poll the endpoint with the requestid to retrieve the export. operationId: requestBulkContactNotes requestBody: description: Filters to be applied to query content: application/json: schema: type: object properties: modifiedSince: type: string format: date-time modifiedBefore: type: string format: date-time insertedSince: type: string format: date-time insertedBefore: type: string format: date-time types: type: array items: type: integer format: int64 required: true responses: 202: description: Export request received content: application/json: schema: type: object properties: requestid: type: string message: type: string 400: description: Bad request - there may be an existing export pending for this account. Check the response message for more information. content: application/json: schema: type: object properties: requestid: type: string message: type: string security: - Api-Key: [] Bearer: [] delete: tags: - bulk summary: Delete a previously requested export of contact notes description: Delete a previously requested export of contact notes, which is still in "ready" or "processing" status. operationId: deleteBulkContactNotesExport parameters: - name: requestid in: query description: Cancel the export with this requestId schema: type: string responses: 204: description: Export cancelled security: - Api-Key: [] Bearer: [] /bulk/inspections: get: tags: - bulk summary: Retrieve a list of property inspections description: Retrieve a list of property inspections operationId: getBulkInspections parameters: - $ref: '#/components/parameters/after' - $ref: '#/components/parameters/pagesize' responses: 200: description: Inspections retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Inspection' urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /property/flush: put: tags: - properties summary: Trigger a property to be re-sent to certain portal sites description: Trigger a property to be re-sent to certain portal sites. Note that this endpoint only sends properties that are already selected to feed to the given sites. Please contact VaultRE for valid values of 'portals' operationId: flushProperty requestBody: description: Property Flush object content: application/json: schema: $ref: '#/components/schemas/FlushProperty' required: true responses: 200: description: Property flushed successfully content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /bulk/feedback: get: tags: - bulk summary: Retrieve a list of feedback items description: Retrieve a list of feedback items operationId: getBulkFeedback parameters: - 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/after' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Feedback retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactNoteAndContact' urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/deals/sale: get: tags: - deals summary: Retrieve a list of sale deals for this (commercial) property description: Retrieve a list of sale deals for this (commercial) property. This includes the agency's deals and external deals that have been tracked. operationId: getPropertySaleDeals parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: status in: query description: Filter commercial deals by status schema: type: string enum: - Sent for Approval - Pending - Rejected - Approved - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Sale deals retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialDealSale' urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - deals summary: Add a commercial sale deal description: Add a commercial sale deal operationId: addCommercialDealSale parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Commercial Deal Details content: application/json: schema: $ref: '#/components/schemas/CommercialDealSale' required: true responses: 201: description: Commercial Deal Added content: application/json: schema: $ref: '#/components/schemas/CommercialDealSale' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' /properties/{propertyid}/deals/lease: get: tags: - deals summary: Retrieve a list of lease deals for this (commercial) property description: Retrieve a list of lease deals for this (commercial) property. This includes the agency's deals and external deals that have been tracked. operationId: getPropertyLeaseDeals parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: status in: query description: Filter commercial deals by status schema: type: string enum: - Sent for Approval - Pending - Rejected - Approved - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Lease deals retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialDealLease' urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - deals summary: Add a commercial lease deal description: Add a commercial lease deal operationId: addCommercialDealLease parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Commercial Deal Details content: application/json: schema: $ref: '#/components/schemas/CommercialDealLease' required: true responses: 201: description: Commercial Deal Added content: application/json: schema: $ref: '#/components/schemas/CommercialDealLease' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' /properties/{propertyid}/deals/sale/{dealid}: get: tags: - deals summary: Retrieve a commercial sale deal description: Retrieve a commercial sale deal operationId: getCommercialDealSale parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: dealid in: path description: ID of the commercial deal required: true schema: type: integer format: int64 responses: 200: description: Commercial deal retrieved content: application/json: schema: $ref: '#/components/schemas/CommercialDealSale' security: - Api-Key: [] Bearer: [] put: tags: - deals summary: Update a commercial sale deal description: Update a commercial sale deal operationId: updateCommercialDealSale parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: dealid in: path description: ID of the commercial deal required: true schema: type: integer format: int64 requestBody: description: Commercial Deal Details content: application/json: schema: $ref: '#/components/schemas/CommercialDealSale' required: true responses: 200: description: Commercial Deal updated content: application/json: schema: $ref: '#/components/schemas/CommercialDealSale' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' delete: tags: - deals summary: Delete a commercial sale deal description: Delete a commercial sale deal operationId: deleteCommercialDealSale parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: dealid in: path description: ID of the commercial deal required: true schema: type: integer format: int64 responses: 204: description: Commercial Deal deleted content: {} 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' /properties/{propertyid}/deals/lease/{dealid}: get: tags: - deals summary: Retrieve a commercial lease deal description: Retrieve a commercial lease deal operationId: getCommercialDealLease parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: dealid in: path description: ID of the commercial deal required: true schema: type: integer format: int64 responses: 200: description: Commercial deal retrieved content: application/json: schema: $ref: '#/components/schemas/CommercialDealLease' security: - Api-Key: [] Bearer: [] put: tags: - deals summary: Update a commercial lease deal description: Update a commercial lease deal operationId: updateCommercialDealLease parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: dealid in: path description: ID of the commercial deal required: true schema: type: integer format: int64 requestBody: description: Commercial Deal Details content: application/json: schema: $ref: '#/components/schemas/CommercialDealLease' required: true responses: 200: description: Commercial Deal updated content: application/json: schema: $ref: '#/components/schemas/CommercialDealLease' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' delete: tags: - deals summary: Delete a commercial lease deal description: Delete a commercial lease deal operationId: deleteCommercialDealLease parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: dealid in: path description: ID of the commercial deal required: true schema: type: integer format: int64 responses: 204: description: Commercial Deal deleted content: {} 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' /properties/deals/sale: get: tags: - deals summary: Retrieve a list of commercial sale deals for this account. description: Retrieve a list of commercial sale deals for this account. This includes the agency's deals and external deals that have been tracked. operationId: getCommercialSaleDeals parameters: - name: settlementSince in: query description: Filter commercial deals occurring on or after this date schema: type: string format: date - name: settlementBefore in: query description: Filter commercial deals occurring before this date schema: type: string format: date - name: unconditionalSince in: query description: Filter commercial deals occurring on or after this date schema: type: string format: date - name: unconditionalBefore in: query description: Filter commercial deals occurring before this date schema: type: string format: date - name: status in: query description: Filter commercial deals by status schema: type: string enum: - Sent for Approval - Pending - Rejected - Approved - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Sale deals retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialDealSale' urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/deals/lease: get: tags: - deals summary: Retrieve a list of commercial lease deals for this account. description: Retrieve a list of commercial lease deals for this account. This includes the agency's deals and external deals that have been tracked. operationId: getCommercialLeaseDeals parameters: - name: leaseStartSince in: query description: Filter commercial deals occurring on or after this date schema: type: string format: date - name: leaseStartBefore in: query description: Filter commercial deals occurring before this date schema: type: string format: date - name: leaseExpirySince in: query description: Filter commercial deals occurring on or after this date schema: type: string format: date - name: leaseExpiryBefore in: query description: Filter commercial deals occurring before this date schema: type: string format: date - name: status in: query description: Filter commercial deals by status schema: type: string enum: - Sent for Approval - Pending - Rejected - Approved - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Lease deals retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CommercialDealLease' urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/saleHistory: get: tags: - properties summary: Retrieve the full sale history for a property description: Retrieve the full sale history for a property including commission splits operationId: getPropertySaleHistory parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Sale History retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/FullSaleHistory' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /search/contactCategories/name: get: tags: - search summary: Search for contact categories by name description: Search for contact categories by name operationId: searchContactCategoriesName parameters: - name: term in: query description: The term to search by required: true schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Search results retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CategoryGrouping' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /suburbs: get: tags: - suburbs summary: Retrieve a list of suburbs for the user's country description: Retrieve a list of suburbs for the user's country operationId: getSuburbs responses: 200: description: Suburbs retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/Suburb' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/{salelease}/{lifeid}/scheduledViewing: post: tags: - properties summary: Add a Scheduled Viewing description: Add a Scheduled Viewing operationId: addScheduledViewing 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 required: true schema: type: string - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: Scheduled Viewing details content: application/json: schema: $ref: '#/components/schemas/InsertScheduledViewing' required: true responses: 201: description: Scheduled Viewing added content: application/json: schema: $ref: '#/components/schemas/CalendarEvent' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' get: tags: - properties summary: Retrieve a list of scheduled viewings for this life description: Retrieve a list of scheduled viewings for this life operationId: getPropertyLifeScheduledViewings 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 scheduled viewings occurring on or after this date schema: type: string format: date - name: feedbackBefore in: query description: Filter scheduled viewings 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: - inserted - feedbackDate - $ref: '#/components/parameters/sortOrder' responses: 200: description: Scheduled viewings retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactNoteAndContact' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{id}/activityLog: get: tags: - contacts summary: Retrieve the activity log for a contact description: Retrieve the activity log for a contact operationId: getContactActivityLog parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Activity Log retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] /properties/categories: get: tags: - properties summary: Retrieve a list of property category mappings across all properties description: Retrieve a list of property category mappings across all properties operationId: getCategoriesPropertyBulk parameters: - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - modified - $ref: '#/components/parameters/sortOrder' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' responses: 200: description: Categories retrieved content: application/json: schema: type: object properties: items: type: array items: type: object properties: property: $ref: '#/components/schemas/ID' category: $ref: '#/components/schemas/ID' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /messages/received: get: tags: - messages summary: Retrieve all received messages description: Retrieve all received messages operationId: getMessagesReceived responses: 200: description: Messages retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] /messages/sent: get: tags: - messages summary: Retrieve all sent messages description: Retrieve all sent messages operationId: getMessagesSent responses: 200: description: Messages retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] /threads: get: tags: - messages summary: Retrieve all message threads description: Retrieve all message threads operationId: getMessagesThreads responses: 200: description: Message threads retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] /threads/franchise: post: tags: - messages summary: Add a franchise thread description: Add a franchise thread operationId: addThreadFranchise requestBody: description: Message thread details content: application/json: schema: $ref: '#/components/schemas/AddUpdateMessageThread' required: true responses: 201: description: Message thread added content: application/json: schema: $ref: '#/components/schemas/MessageThread' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /threads/user: post: tags: - messages summary: Add a user message thread description: Add a user message thread operationId: addThreadUser requestBody: description: Message thread details content: application/json: schema: $ref: '#/components/schemas/AddUpdateMessageThread' required: true responses: 201: description: Message thread added content: application/json: schema: $ref: '#/components/schemas/MessageThread' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /threads/{id}: put: tags: - messages summary: Update a message thread description: Update a message thread operationId: updateMessageThread parameters: - name: id in: path description: ID of the message thread required: true schema: type: integer format: int64 requestBody: description: Message thread details content: application/json: schema: $ref: '#/components/schemas/AddUpdateMessageThread' required: true responses: 200: description: Message thread updated content: application/json: schema: $ref: '#/components/schemas/MessageThread' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /threads/{id}/messages: get: tags: - messages summary: Retrieve all messages in a thread description: Retrieve all messages in a thread operationId: getThreadMessages parameters: - name: id in: path description: ID of the message thread required: true schema: type: integer format: int64 responses: 200: description: Thread messages retrieved content: application/json: schema: type: object security: - Api-Key: [] Bearer: [] post: tags: - messages summary: Add a message to a thread description: Add a message to a thread operationId: addThreadMessage parameters: - name: id in: path description: ID of the message thread required: true schema: type: integer format: int64 requestBody: description: Message details content: application/json: schema: type: object properties: message: type: string required: true responses: 201: description: Message added content: application/json: schema: $ref: '#/components/schemas/Message' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /threads/{id}/markRead: post: tags: - messages summary: Mark all messages in a thread as read by the current user description: Mark all messages in a thread as read by the current user operationId: putMessageThreadRead parameters: - name: id in: path description: ID of the message thread required: true schema: type: integer format: int64 responses: 200: description: Thread marked as read content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /search/threads/recipients: get: tags: - messages - search summary: Get all threads with the supplied recipients description: Get all threads with the supplied recipients. The user will be added automatically if not supplied. operationId: getSearchThreadsRecipients parameters: - name: recipients in: query description: Recipient ID style: form explode: false schema: type: array items: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - modified - created - $ref: '#/components/parameters/sortOrder' responses: 200: description: Message threads retrieved content: application/json: schema: type: object 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /search/threads/staffTypes: get: tags: - messages - search summary: Get all threads with the supplied recipients description: Get all threads with the supplied recipients. operationId: getSearchThreadsStaffTypes parameters: - name: staffTypes in: query description: Staff Type ID style: form explode: false schema: type: array items: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - modified - created - $ref: '#/components/parameters/sortOrder' responses: 200: description: Message threads retrieved content: application/json: schema: type: object 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /search/threads/term: get: tags: - messages - search summary: Search for message threads containing term description: Search for message threads containing term operationId: getSearchThreadsTerm parameters: - name: term in: query description: The term to search for. schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - modified - created - $ref: '#/components/parameters/sortOrder' responses: 200: description: Message threads retrieved content: application/json: schema: type: object 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /advertising/invoices: get: tags: - advertising summary: Retrieve a list of advertising invoices description: Retrieve a list of advertising invoices operationId: getAdvertisingInvoices parameters: - $ref: '#/components/parameters/insertedSince' - $ref: '#/components/parameters/insertedBefore' - $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: - inserted - modified - $ref: '#/components/parameters/sortOrder' - name: saleLifeId in: query description: Filter invoices by sale life ID (property invoices) schema: type: integer format: int64 - name: userIdInvoiced in: query description: Filter invoices by user ID invoiced (agent invoices) schema: type: integer format: int64 responses: 200: description: Advertising invoices retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AdvertisingInvoice' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /advertising/invoices/{id}: get: tags: - advertising summary: Retrieve a single advertising invoice description: Retrieve a single advertising invoice operationId: getAdvertisingInvoice parameters: - name: id in: path description: ID of the advertising invoice required: true schema: type: integer format: int64 responses: 200: description: Advertising invoice retrieved content: application/json: schema: $ref: '#/components/schemas/AdvertisingInvoice' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /advertising/schedules: get: tags: - advertising summary: Retrieve a list of advertising schedules description: Retrieve a list of advertising schedules operationId: getAdvertisingSchedules parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Advertising schedules retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AdvertisingSchedule' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /advertising/schedules/{id}: get: tags: - advertising summary: Retrieve a single advertising schedule description: Retrieve a single advertising schedule operationId: getAdvertisingSchedule parameters: - name: id in: path description: ID of the advertising schedule required: true schema: type: integer format: int64 responses: 200: description: Advertising schedule retrieved content: application/json: schema: $ref: '#/components/schemas/AdvertisingScheduleWithItems' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /advertising/suppliers: get: tags: - advertising summary: Retrieve a list of advertising suppliers description: Retrieve a list of advertising suppliers operationId: getAdvertisingSuppliers parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Advertising suppliers retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AdvertisingSupplier' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] post: tags: - advertising summary: Add a new advertising supplier description: Add a new advertising supplier operationId: addAdvertisingSupplier requestBody: description: Advertising Supplier object content: application/json: schema: $ref: '#/components/schemas/AddUpdateAdvertisingSupplier' required: true responses: 201: description: Advertising Supplier added content: application/json: schema: $ref: '#/components/schemas/AdvertisingSupplier' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /advertising/suppliers/{id}: get: tags: - advertising summary: Retrieve a single advertising supplier description: Retrieve a single advertising supplier operationId: getAdvertisingSupplier parameters: - name: id in: path description: ID of the advertising supplier required: true schema: type: integer format: int64 responses: 200: description: Advertising supplier retrieved content: application/json: schema: $ref: '#/components/schemas/AdvertisingSupplier' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] put: tags: - advertising summary: Update an advertising supplier description: Update an advertising supplier operationId: updateAdvertisingSupplier parameters: - name: id in: path description: ID of the advertising supplier required: true schema: type: integer format: int64 requestBody: description: Advertising Supplier object content: application/json: schema: $ref: '#/components/schemas/AddUpdateAdvertisingSupplier' required: true responses: 200: description: Advertising Supplier updated content: application/json: schema: $ref: '#/components/schemas/AdvertisingSupplier' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - advertising summary: Delete an advertising supplier description: Delete an advertising supplier operationId: deleteAdvertisingSupplier parameters: - name: id in: path description: ID of the advertising supplier required: true schema: type: integer format: int64 responses: 204: description: Advertising Supplier deleted content: {} 403: description: User does not have access to property financials content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /advertising/expenseTypes: get: tags: - advertising summary: Retrieve a list of advertising expense types description: Retrieve a list of advertising expense types operationId: getAdvertisingExpenseTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' - name: supplierId in: query description: Filter expense types by supplier schema: type: integer format: int64 responses: 200: description: Advertising expense types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AdvertisingExpenseType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /advertising/expenseTypes/{id}: get: tags: - advertising summary: Retrieve a single advertising expense type description: Retrieve a single advertising expense type operationId: getAdvertisingExpenseType parameters: - name: id in: path description: ID of the advertising expense type required: true schema: type: integer format: int64 responses: 200: description: Advertising expense type retrieved content: application/json: schema: $ref: '#/components/schemas/AdvertisingExpenseType' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/sale/{lifeid}/advertising/schedule: get: tags: - advertising summary: Retrieve the attached advertising schedule for this property description: Retrieve the attached advertising schedule for this property operationId: getPropertyLifeAdvertisingSchedule parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 responses: 200: description: Advertising schedule retrieved content: application/json: schema: type: object $ref: '#/components/schemas/AdvertisingAttachedScheduleWithItems' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/sale/{lifeid}/advertising/transactions: get: tags: - advertising summary: Retrieve a list of property advertising transactions description: Retrieve a list of advertising transactions on a given property ledger operationId: getPropertyLifeAdvertisingTransactions parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 responses: 200: description: Advertising transactions retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AdvertisingTransaction' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/sale/{lifeid}/trustledger/transactions: get: tags: - properties summary: Retrieve a list of trust ledger transactions for this property sale life description: Retrieve a list of trust ledger transactions on a given property sale life operationId: getPropertyLifeTrustLedgerTransactions parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property sale life required: true schema: type: integer format: int64 responses: 200: description: Trust ledger transactions retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/TrustLedgerTransaction' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to property financials content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /types/priceQualifiers: get: tags: - types summary: Retrieve a list of price qualifier types description: Retrieve a list of price qualifier types. This field is only available for NZ and UK accounts. operationId: getPriceQualifierTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PriceQualifier' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/tenureOrTitleTypes: get: tags: - types summary: Retrieve a list of tenure or title types description: Retrieve a list of tenure or title types. This field is only available for NZ and UK accounts. operationId: getTenureOrTitleTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/TenureOrTitleType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/holdingArea: get: tags: - enquiries - types summary: Retrieve a list of holding area types description: Retrieve a list of holding area types operationId: getHoldingAreaTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - source - $ref: '#/components/parameters/sortOrder' responses: 200: description: Types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/HoldingAreaType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/methodOfSale: get: tags: - types summary: Retrieve a list of method of sale types description: Retrieve a list of method of sale types operationId: getMethodOfSaleTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MethodOfSaleType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/auctionSale: get: tags: - types summary: Retrieve a list of Auction types description: Retrieve a list of Auction types operationId: getAuctionTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AuctionSaleType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/keys: get: tags: - keys - properties summary: Retrieve a list of keys for this property description: Retrieve a list of keys for this property operationId: getPropertyKeys parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - keyname - iskeyout - propertyid - $ref: '#/components/parameters/sortOrder' - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 responses: 200: description: Keys retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyKey' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - keys - properties summary: Add a new key to this property description: Add a new key to this property operationId: addPropertyKey parameters: - name: propertyid in: path description: ID of the property to add this key to required: true schema: type: integer format: int64 requestBody: description: AddUpdatePropertyKey object content: application/json: schema: $ref: '#/components/schemas/AddUpdatePropertyKey' required: true responses: 201: description: Add Successful content: application/json: schema: $ref: '#/components/schemas/PropertyKey' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/{propertyid}/keys/{id}: get: tags: - keys - properties summary: Retrieve a key from this property description: Retrieve a key from this property operationId: getPropertyKey parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: id in: path description: ID of the property key required: true schema: type: integer format: int64 responses: 200: description: Key retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyKey' security: - Api-Key: [] Bearer: [] put: tags: - keys - properties summary: Update a property key description: Update a property key operationId: updatePropertyKey parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 - name: id in: path description: ID of the property key required: true schema: type: integer format: int64 requestBody: description: AddUpdatePropertyKey object content: application/json: schema: $ref: '#/components/schemas/AddUpdatePropertyKey' required: true responses: 200: description: Key update content: application/json: schema: $ref: '#/components/schemas/PropertyKey' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /contacts/{contactid}/bankAccounts/default: get: tags: - contacts summary: Retrieve the default bank account for this contact description: Retrieve the default bank account for this contact operationId: getDefaultContactBankAccount parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 200: description: Bank Account retrieved content: application/json: schema: $ref: '#/components/schemas/ContactBankAccount' 403: description: User does not have access to contact bank accounts content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 404: description: Contact does not have a default bank account set content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] put: tags: - contacts summary: Update the contact's default bank account description: Update the contact's default bank account operationId: updateDefaultContactBankAccount parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: ContactBankAccount object content: application/json: schema: $ref: '#/components/schemas/AddUpdateContactBankAccount' required: true responses: 200: description: Contact bank account updated content: application/json: schema: $ref: '#/components/schemas/ContactBankAccount' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' 403: description: User does not have access to contact bank accounts content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - contacts summary: Delete the default bank account for this contact description: Delete the default bank account for this contact operationId: deleteDefaultContactBankAccount parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 204: description: Contact bank account deleted content: {} 403: description: User does not have access to contact bank accounts content: '*/*': schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /contacts/{contactid}/dates: get: tags: - contacts summary: Retrieve a list of dates for this contact description: Retrieve a list of dates for this contact operationId: getContactDates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 200: description: Dates retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactDate' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /account/contactDateTypes: get: tags: - user summary: Retrieve a list of available contact date types for this account description: Retrieve a list of available contact date types for this account operationId: getContactDateTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Date types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ContactDateType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /distributionLists/contact: get: tags: - lists summary: Retrieve a list of contact distribution lists for this account description: Retrieve a list of contact distribution lists for this account operationId: getContactDistributionLists parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - inserted - modified - $ref: '#/components/parameters/sortOrder' - name: userid in: query description: | Filter distribution lists by specific user ID(s). Accepts comma-separated list of user IDs. Example: `?userid=446,442` schema: type: array items: type: integer format: int64 style: form explode: false responses: 200: description: Lists retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/DistributionList' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /distributionLists/contact/{id}: get: tags: - lists summary: Retrieve a single contact distribution list description: Retrieve a single contact distribution list operationId: getContactDistributionList parameters: - name: id in: path description: ID of the distribution list required: true schema: type: integer format: int64 responses: 200: description: List retrieved content: application/json: schema: $ref: '#/components/schemas/DistributionList' security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/portals: get: tags: - properties summary: Retrieve a list of portal sites to which this listing is published description: Retrieve a list of portal sites to which this listing is published operationId: getPropertyLifePortals parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Portals retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PortalAccess' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/portalIds: get: tags: - properties summary: Retrieve a list of property portal IDs description: Retrieve a list of known IDs of properties on published portal sites operationId: getPropertyLifePortalIds parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Portals retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyPortalId' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /user/oAuthLoginUrl: get: tags: - user summary: Get the oAuth sign-in target URL for this username description: For the given username, find the correct oAuth sign-in URL. operationId: getOAuthLoginUrl parameters: - name: username in: query description: The user's username required: true schema: type: string responses: 200: description: URL retrieved content: application/json: schema: type: object properties: url: type: string security: - Api-Key: [] /account/oAuthLoginUrl: get: tags: - user summary: Get the oAuth sign-in target URL for this username (office level oAuth exchange) description: For the given username, find the correct oAuth sign-in URL. operationId: getOAuthLoginUrlAccount parameters: - name: username in: query description: The user's username required: true schema: type: string responses: 200: description: URL retrieved content: application/json: schema: type: object properties: url: type: string security: - Api-Key: [] /contacts/{contactid}/merged: get: tags: - contacts summary: Retrieve a list of contact ID's merged to this contact description: Retrieve a list of contact ID's that have been merged in to this contact (as duplicate records) operationId: getContactMergedDuplicates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 responses: 200: description: Merged duplicates retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ID' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/{contactid}/gdpr: get: tags: - contacts summary: Retrieve GDPR consent records for a contact description: Retrieve GDPR consent opt-in records for a contact operationId: getContactGdprOptins parameters: - name: contactid in: path description: ID of the contact required: true schema: type: integer format: int64 - $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 - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: GDPR consent records retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/GdprOptin' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' 404: description: Contact not found content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /openHomes: get: tags: - openhomes summary: Retrieve a list of property open homes description: Retrieve a list of property open homes operationId: getAccountOpenHomes parameters: - name: startingAfter in: query description: Filter open homes occurring on or after this date schema: type: string format: date - name: startingBefore in: query description: Filter open homes occurring before this date schema: type: string format: date - name: userid in: query description: Filter open homes attached to this user schema: type: integer format: int64 - name: properties in: query description: Filter open homes by property ID style: form explode: false schema: type: array items: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Open Homes retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/OpenHomeWithProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/alarmDetails: get: tags: - properties summary: Retrieve a list of alarm details for a property description: Retrieve a list of alarm details for a property operationId: getPropertyAlarmDetails parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: '200': description: Alarm details retrieved content: application/json: schema: properties: items: type: array items: $ref: '#/components/schemas/PropertyAlarmDetails' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/{salelease}/alarmDetails: get: tags: - properties summary: Retrieve a list of alarm details for a property life description: Retrieve a list of alarm details for a property life operationId: getPropertyLifeAlarmDetails parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: '200': description: Alarm details retrieved content: application/json: schema: properties: items: type: array items: $ref: '#/components/schemas/PropertyAlarmDetails' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}/{salelease}/{lifeid}/rooms: get: tags: - properties summary: Retrieve a list of rooms defined for this property life description: Retrieve a list of rooms defined for this property life operationId: getPropertyLifeRooms parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life 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 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Property rooms retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyRoom' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{id}/sale/{lifeid}/solicitors: get: tags: - properties summary: Retrieve purchaser and vendor solicitors defined for this property life description: Retrieve purchaser and vendor solicitors defined for this property life operationId: getPropertySolicitors parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 responses: 200: description: Property solicitors retrieved content: application/json: schema: type: object properties: purchaser: type: object $ref: '#/components/schemas/ContactExtended' vendor: type: object $ref: '#/components/schemas/ContactExtended' security: - Api-Key: [] Bearer: [] /properties/externalRefs/lookup: get: tags: - properties summary: Retrieve properties from an external reference description: Retrieve properties from an external reference operationId: getPropertiesFromExternalReference parameters: - name: externalReference in: query description: External ID to use for lookup required: true schema: type: string responses: 200: description: Property external reference retrieved content: application/json: schema: properties: items: type: array items: $ref: '#/components/schemas/Property' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /precincts: get: tags: - precincts summary: Retrieve a list of precincts for this account description: Retrieve a list of precincts for this account operationId: getAccountPrecincts parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: '200': description: Precincts retrieved content: application/json: schema: properties: items: type: array items: $ref: '#/components/schemas/Precinct' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /precincts/{id}: get: tags: - precincts summary: Retrieve a single precinct description: Retrieve a single precinct operationId: getPrecinct parameters: - name: id in: path description: ID of the precinct required: true schema: type: integer format: int64 responses: 200: description: Precinct retrieved content: application/json: schema: $ref: '#/components/schemas/Precinct' security: - Api-Key: [] Bearer: [] /properties/livestock/sale/sold: get: tags: - livestockProperties summary: Retrieve a list of sold livestock properties description: Retrieve a list of sold livestock properties operationId: getLivestockSoldProperties parameters: - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - $ref: '#/components/parameters/includeConditional' - $ref: '#/components/parameters/conditionalSince' - $ref: '#/components/parameters/conditionalBefore' - $ref: '#/components/parameters/includeFallen' - $ref: '#/components/parameters/fallenSince' - $ref: '#/components/parameters/fallenBefore' - $ref: '#/components/parameters/unconditionalSince' - $ref: '#/components/parameters/unconditionalBefore' - $ref: '#/components/parameters/settlementSince' - $ref: '#/components/parameters/settlementBefore' - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $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: - conditional - unconditional - settled - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - conditional - unconditional - settlement - suburb - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/LivestockSoldProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/livestock/sale: get: tags: - livestockProperties summary: Retrieve a list of livestock properties description: Retrieve a list of livestock properties operationId: getLivestockProperties 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: portalStatus in: query description: Filter by a list of portal 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - 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: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/LivestockProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - livestockProperties summary: Add a livestock property description: Add a livestock property operationId: addLivestockProperty requestBody: description: Livestock property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateLivestockProperty' required: true responses: 201: description: Property created content: application/json: schema: $ref: '#/components/schemas/LivestockPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/livestock/sale/{id}: get: tags: - livestockProperties summary: Retrieve a single livestock property description: Retrieve a single livestock property operationId: getLivestockProperty 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/LivestockPropertyExtended' security: - Api-Key: [] Bearer: [] put: tags: - livestockProperties summary: Update a livestock property description: Update a livestock property operationId: updateLivestockProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Livestock property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateLivestockProperty' required: true responses: 200: description: Property updated content: application/json: schema: $ref: '#/components/schemas/LivestockPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/clearingSales/sale/sold: get: tags: - clearingSalesProperties summary: Retrieve a list of sold clearing sales properties description: Retrieve a list of sold clearing sales properties operationId: getClearingSalesSoldProperties parameters: - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - $ref: '#/components/parameters/includeConditional' - $ref: '#/components/parameters/conditionalSince' - $ref: '#/components/parameters/conditionalBefore' - $ref: '#/components/parameters/includeFallen' - $ref: '#/components/parameters/fallenSince' - $ref: '#/components/parameters/fallenBefore' - $ref: '#/components/parameters/unconditionalSince' - $ref: '#/components/parameters/unconditionalBefore' - $ref: '#/components/parameters/settlementSince' - $ref: '#/components/parameters/settlementBefore' - $ref: '#/components/parameters/suburbs' - $ref: '#/components/parameters/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $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: - conditional - unconditional - settled - name: portalStatus in: query description: Filter by a list of portal statuses style: form explode: false schema: type: array items: type: string enum: - conditional - unconditional - settled - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - conditional - unconditional - settlement - suburb - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ClearingSalesSoldProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/clearingSales/sale: get: tags: - clearingSalesProperties summary: Retrieve a list of clearing sales properties description: Retrieve a list of clearing sales properties operationId: getClearingSalesProperties 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: portalStatus in: query description: Filter by a list of portal 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/accessBy' - $ref: '#/components/parameters/precincts' - $ref: '#/components/parameters/customRegions' - $ref: '#/components/parameters/branches' - $ref: '#/components/parameters/propertyIds' - $ref: '#/components/parameters/types' - 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: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ClearingSalesProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - clearingSalesProperties summary: Add a clearing sales property description: Add a clearing sales property operationId: addClearingSalesProperty requestBody: description: Clearing Sales property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateClearingSalesProperty' required: true responses: 201: description: Property created content: application/json: schema: $ref: '#/components/schemas/ClearingSalesPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/clearingSales/sale/{id}: get: tags: - clearingSalesProperties summary: Retrieve a single clearing sales property description: Retrieve a single clearing sales property operationId: getClearingSalesProperty 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/ClearingSalesPropertyExtended' security: - Api-Key: [] Bearer: [] put: tags: - clearingSalesProperties summary: Update a clearing sales property description: Update a clearing sales property operationId: updateClearingSalesProperty parameters: - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Clearing Sales property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateClearingSalesProperty' required: true responses: 200: description: Property updated content: application/json: schema: $ref: '#/components/schemas/ClearingSalesPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /fms/leads: get: tags: - fmsleads summary: Get a list of FMS leads description: Get a list of FMS leads operationId: getFMSLeads parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Leads retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/FMSLead' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - fmsleads summary: Submit a new FMS lead description: Submit a new FMS lead. operationId: addFMSLead requestBody: description: FMS Lead object content: application/json: schema: $ref: '#/components/schemas/AddFMSLead' required: true responses: 201: description: Lead received successfully content: application/json: schema: $ref: '#/components/schemas/FMSLead' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /propertyOffers: get: tags: - propertyOffer summary: Retrieve a list of property offers for this account description: Retrieve a list of property offers for this account operationId: getPropertyOffers parameters: - name: type in: query description: Filter by offer type. Currently only "sale" is supported required: true schema: enum: - sale - name: saleLifeId in: query description: Filter by offers for this sale life required: false schema: type: integer format: int64 - name: leaseLifeId in: query description: Filter by offers for this lease life required: false schema: type: integer format: int64 - name: contactId in: query description: Filter by offers for this contact required: false schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Sort items by field schema: type: string enum: - offerDate - $ref: '#/components/parameters/sortOrder' responses: 200: description: Offers retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyOffer' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - propertyOffer summary: Add a property offer description: Add a property offer. Sale or lease life must be provided, but not both. operationId: addPropertyOffer requestBody: content: application/json: schema: $ref: '#/components/schemas/AddPropertyOffer' required: true responses: 201: description: Property offer added content: application/json: schema: $ref: '#/components/schemas/PropertyOffer' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /propertyOffers/{id}: get: tags: - propertyOffer summary: Retrieve a single property offer description: Retrieve a single property offer operationId: getPropertyOffer parameters: - name: id in: path description: ID of the property offer required: true schema: type: integer format: int64 responses: 200: description: Offer retrieved content: application/json: schema: $ref: '#/components/schemas/PropertyOffer' security: - Api-Key: [] Bearer: [] put: tags: - propertyOffer summary: Update a property offer description: Update a property offer operationId: updatePropertyOffer parameters: - name: id in: path description: ID of the property offer required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePropertyOffer' required: true responses: 200: description: Property offer updated content: application/json: schema: type: array items: $ref: '#/components/schemas/PropertyOffer' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /campaigns: get: tags: - campaigns summary: Retrieve a list of marketing campaigns for this account description: Retrieve a list of marketing campaigns for this account operationId: getCampaigns parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Campaigns retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Campaign' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /campaigns/{id}: get: tags: - campaigns summary: Retrieve a single marketing campaign description: Retrieve a single marketing campaign operationId: getCampaign parameters: - name: id in: path description: ID of the marketing campaign required: true schema: type: integer format: int64 responses: 200: description: Campaign retrieved content: application/json: schema: $ref: '#/components/schemas/Campaign' security: - Api-Key: [] Bearer: [] /campaigns/{id}/tracking: get: tags: - campaigns summary: Retrieve a campaign tracking data description: Retrieve a campaign tracking data operationId: getCampaignTracking parameters: - name: id in: path description: ID of the marketing campaign required: true schema: type: integer format: int64 responses: 200: description: Campaign Tracking retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CampaignTracking' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /campaigns/{id}/tracking/summary: get: tags: - campaigns summary: Retrieve campaign stats (totals) description: Retrieve campaign stats (totals) operationId: getCampaignTrackingSummary parameters: - name: id in: path description: ID of the marketing campaign required: true schema: type: integer format: int64 responses: 200: description: Campaign Tracking Summary retrieved content: application/json: schema: $ref: '#/components/schemas/CampaignTrackingSummary' security: - Api-Key: [] Bearer: [] /conjunctionals: get: tags: - conjunctionals summary: Retrieve a list of conjunctional property deals for this account description: Retrieve a list of conjunctional property deals for this account operationId: getConjunctionals parameters: - name: sourceAccountId in: query description: Filter by deals with this account as the source required: false schema: type: integer format: int64 - name: destinationAccountId in: query description: Filter by deals with this account as the destination required: false schema: type: integer format: int64 - $ref: '#/components/parameters/insertedSince' - $ref: '#/components/parameters/insertedBefore' - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Conjunctional deals retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ConjunctionalSale' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/listingConfigurations: get: tags: - properties summary: Retrieve a list of listing configurations for the given property description: Retrieve a list of listing configurations for the given property operationId: getPropertyListingConfigurations parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 responses: 200: description: Listing Configurations retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyListingConfiguration' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/strataProperties: get: tags: - properties summary: Retrieve a list of strata properties for the given property description: Retrieve a list of strata properties for the given strata building operationId: getPropertyStrataProperties parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 responses: 200: description: Strata Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyStrataProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/projectProperties: get: tags: - properties summary: Retrieve a list of project properties for the given property description: Retrieve a list of project properties for the given project operationId: getPropertyProjectProperties parameters: - name: propertyid in: path description: ID of the property required: true schema: type: integer format: int64 responses: 200: description: Project Properties retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PropertyProjectProperty' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /contacts/matchingRequirement/count: post: tags: - contacts summary: Get a count of contacts matching the provided buy/lease requirement description: Get a count of contacts matching the provided buy/lease requirement operationId: getMatchingContactsCount requestBody: description: Request object content: application/json: schema: $ref: '#/components/schemas/MatchingContactsRequest' required: true responses: 200: description: Count of matching contacts retrieved content: application/json: schema: type: object properties: matchingContacts: type: integer format: int64 security: - Api-Key: [] Bearer: [] /contacts/merge: post: tags: - contacts summary: Submit a request for two contacts to be merged description: Submit a request for two contacts to be merged. The merge will be processed asynchronously and may take some time to complete. Integrators should subscribe to the "contact.merge" webhook event to be notified when the merge has completed. The returned "requestid" can be used by the MRI Vault team for any technical investigations. operationId: mergeContacts requestBody: description: Request object content: application/json: schema: $ref: '#/components/schemas/MergeContactRequest' required: true responses: 202: description: Merge request accepted content: application/json: schema: type: object properties: requestid: type: string message: type: string security: - Api-Key: [] Bearer: [] /properties/{propertyid}/{salelease}/{lifeid}/qrcode: get: tags: - properties summary: Retrieve a check-in QR code for the given property life description: Retrieve a check-in QR code for the given property life operationId: getPropertyLifeQrCode 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 required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 responses: 200: description: QR code retrieved content: application/json: schema: type: object properties: qrCode: type: string security: - Api-Key: [] Bearer: [] /properties/residential/sale/{id}/{lifeid}: get: tags: - residentialProperties summary: Retrieve a single residential sale property description: Retrieve a single residential sale property operationId: getResidentialSalePropertyAndLife 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/ResidentialSalePropertyExtended' security: - Api-Key: [] Bearer: [] /properties/residential/lease/{id}/{lifeid}: get: tags: - residentialProperties summary: Retrieve a single residential lease property description: Retrieve a single residential lease property operationId: getResidentialLeasePropertyAndLife 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/ResidentialLeasePropertyExtended' security: - Api-Key: [] Bearer: [] /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' security: - Api-Key: [] Bearer: [] /properties/land/sale/{id}/{lifeid}: get: tags: - landProperties summary: Retrieve a single land property description: Retrieve a single land property operationId: getLandPropertyAndLife 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/LandPropertyExtended' security: - Api-Key: [] Bearer: [] /properties/rural/sale/{id}/{lifeid}: get: tags: - ruralProperties summary: Retrieve a single rural property description: Retrieve a single rural property operationId: getRuralPropertyAndLife 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/RuralPropertyExtended' security: - Api-Key: [] Bearer: [] /properties/business/sale/{id}/{lifeid}: get: tags: - ruralProperties summary: Retrieve a single rural property description: Retrieve a single rural property operationId: getBusinessPropertyAndLife 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/BusinessPropertyExtended' security: - Api-Key: [] Bearer: [] /properties/livestock/sale/{id}/{lifeid}: get: tags: - ruralProperties summary: Retrieve a single rural property description: Retrieve a single rural property operationId: getLivestockPropertyAndLife 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/LivestockPropertyExtended' security: - Api-Key: [] Bearer: [] /properties/clearingSales/sale/{id}/{lifeid}: get: tags: - ruralProperties summary: Retrieve a single rural property description: Retrieve a single rural property operationId: getClearingSalesPropertyAndLife 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/ClearingSalesPropertyExtended' security: - Api-Key: [] Bearer: [] /properties/holidayRental/lease/{id}/{lifeid}: get: tags: - ruralProperties summary: Retrieve a single rural property description: Retrieve a single rural property operationId: getHolidayRentalPropertyAndLife 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/HolidayRentalPropertyExtended' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/{salelease}/{lifeid}/hazards: get: tags: - properties summary: Retrieve a list of hazards for a given property life description: Retrieve a list of hazards for a given property life operationId: getPropertyLifeHazards 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 required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 responses: 200: description: Hazards retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/HazardsAndRisks' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/{salelease}/{lifeid}/externalFeedback/{id}: get: tags: - properties summary: Retrieve a single external feedback for a given property life description: Retrieve a single external feedback for a given property life operationId: getPropertyLifeExternalFeedbackById 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 required: true schema: type: integer format: int64 - 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 external feedback required: true schema: type: integer format: int64 responses: 200: description: External Feedback retrieved content: application/json: schema: type: object $ref: '#/components/schemas/ExternalFeedback' security: - Api-Key: [] Bearer: [] put: tags: - properties summary: Update an external feedback for a given property life description: Update an existing external feedback entry. You can update fields such as source, comments, feedbackDate, and priceOpinion. operationId: updatePropertyLifeExternalFeedback 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 required: true schema: type: string - 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 external feedback to update required: true schema: type: integer format: int64 requestBody: description: Fields to update on the external feedback content: application/json: schema: $ref: '#/components/schemas/UpdateExternalFeedback' required: true responses: 200: description: External Feedback updated content: application/json: schema: $ref: '#/components/schemas/ExternalFeedback' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /properties/{propertyid}/{salelease}/{lifeid}/externalFeedback: get: tags: - properties summary: Retrieve a list of external feedback for a given property life description: Retrieve a list of external feedback for a given property life operationId: getPropertyLifeExternalFeedback 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 required: true schema: type: integer format: int64 - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 responses: 200: description: External Feedback retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ExternalFeedback' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - properties summary: Add an External Feedback description: Add an External Feedback operationId: addPropertyLifeExternalFeedback 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 required: true schema: type: string - name: lifeid in: path description: ID of the property life required: true schema: type: integer format: int64 requestBody: description: External Feedback details content: application/json: schema: $ref: '#/components/schemas/InsertExternalFeedback' required: true responses: 201: description: External Feedback added content: application/json: schema: $ref: '#/components/schemas/ExternalFeedback' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' /integrator/usage: get: tags: - integrator summary: Retrieve daily quota for this API key operationId: getUsage responses: 200: description: Usage retrieved content: application/json: schema: type: object properties: remaining: type: integer format: int64 used: type: integer format: int64 security: - Api-Key: [] Bearer: [] /invoices/saleSummary: get: tags: - invoices summary: Retrieve sale summary operationId: getSaleSummary parameters: - name: includeMultiOffice in: query description: Include multi office sales required: false schema: type: boolean - name: createdSince in: query description: Filter results since this datetime required: false schema: type: string format: date-time - name: createdBefore in: query description: Filter results before this datetime required: false schema: type: string format: date-time responses: 200: description: Sale Summary retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/SaleSummary' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /reinz/sales: get: tags: - reinz summary: Retrieve a list of sales sent to REINZ description: Retrieve a list of sales sent to REINZ for this account. operationId: getReinzSales parameters: - $ref: '#/components/parameters/insertedSince' - $ref: '#/components/parameters/insertedBefore' - name: processedSince in: query description: Filter sales processed since this datetime schema: type: string format: date-time - name: processedBefore in: query description: Filter sales processed before this datetime schema: type: string format: date-time - name: success in: query description: Filter sales that have been processed successfully or not schema: type: boolean - name: processed in: query description: Filter sales that have been processed or unprocessed schema: type: boolean - name: saleLifeId in: query description: Filter sales for this sale life ID schema: type: integer format: int64 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' responses: 200: description: Sales retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ReinzSale' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /account/customRegions: get: tags: - suburbs - user summary: Retrieve a list of custom regions for this account description: Retrieve a list of custom regions for this account operationId: getCustomRegions parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Sort items by field schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Custom regions retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/CustomRegion' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/advertising/transactions: get: tags: - types - advertising summary: Retrieve a list of advertising transaction types description: Retrieve a list of advertising transaction (ledger) types operationId: getAdvertisingTransactionTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Advertising transaction types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AdvertisingLedgerType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /types/advertising/payments: get: tags: - types - advertising summary: Retrieve a list of advertising payment types description: Retrieve a list of advertising payment types operationId: getAdvertisingPaymentTypes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - name - $ref: '#/components/parameters/sortOrder' responses: 200: description: Advertising payment types retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AdvertisingPaymentType' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] /advertising/payments: post: tags: - advertising summary: Add an Advertising Payment description: Add an Advertising Payment to either a property ledger or agent ledger operationId: addAdvertisingPayment requestBody: description: Advertising Payment details content: application/json: schema: $ref: '#/components/schemas/AddAdvertisingPayment' required: true responses: 201: description: Advertising Payment added content: application/json: schema: $ref: '#/components/schemas/AdvertisingTransaction' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' /aml: get: tags: - aml summary: Retrieve a list of AML checks description: Retrieve a list of AML checks. Currently only allows retrieving AML checks by contactId operationId: getAMLChecks parameters: - name: contactId in: query description: Filter AML checks by contact ID required: true schema: type: integer format: int64 - $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 - $ref: '#/components/parameters/sortOrder' responses: 200: description: AML Checks retrieved content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AMLCheck' totalItems: type: integer format: int64 totalPages: type: integer format: int64 urls: $ref: '#/components/schemas/Urls' security: - Api-Key: [] Bearer: [] post: tags: - aml summary: Create a new AML check for a contact description: Create a new AML check for a contact, and attach one or more properties. For each property provided, either a saleLifeId or leaseLifeId must be provided, and it must be the current sale/lease life for the property. operationId: addAMLCheck requestBody: description: AML Check details content: application/json: schema: $ref: '#/components/schemas/AddAMLCheck' required: true responses: 201: description: AML Check added content: application/json: schema: $ref: '#/components/schemas/AMLCheck' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' /aml/{id}: get: tags: - aml summary: Retrieve a single AML check description: Retrieve a single AML check by its ID operationId: getAMLCheck parameters: - name: id in: path description: ID of the AML check required: true schema: type: integer format: int64 responses: 200: description: AML check retrieved content: application/json: schema: $ref: '#/components/schemas/AMLCheck' security: - Api-Key: [] Bearer: [] put: tags: - aml summary: Update an existing AML check description: Update an existing AML check. Currently, only updating the status is permitted. Other endpoints are available for managing files and notes. operationId: updateAMLCheck parameters: - name: id in: path description: ID of the AML check required: true schema: type: integer format: int64 requestBody: description: AML Check details content: application/json: schema: $ref: '#/components/schemas/UpdateAMLCheck' required: true responses: 200: description: AML Check updated content: application/json: schema: $ref: '#/components/schemas/AMLCheck' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' /aml/{id}/notes: post: tags: - aml summary: Add a new note to the AML check description: Add a new note to the AML check. The note will be associated with the AML check and can be used to provide additional information or context. operationId: addAMLNote parameters: - name: id in: path description: ID of the AML check required: true schema: type: integer format: int64 requestBody: description: AML Note details content: application/json: schema: $ref: '#/components/schemas/AddAMLNote' required: true responses: 201: description: AML Note added content: application/json: schema: $ref: '#/components/schemas/AMLNote' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' /aml/{amlid}/files/{id}: delete: tags: - aml summary: Remove an attached file from an AML check description: Remove an attached file from an AML check. This will delete the file from the system. operationId: removeAMLNote parameters: - name: amlid in: path description: ID of the AML check required: true schema: type: integer format: int64 - name: id in: path description: ID of the AML file required: true schema: type: integer format: int64 responses: 204: description: AML file removed successfully /aml/{id}/files/upload: post: tags: - aml summary: Attach a file to this AML check description: Attach a file to this AML check. This endpoint returns an upload_url where the file data can be PUT. operationId: addAMLFile parameters: - name: id in: path description: ID of the AML check required: true schema: type: integer format: int64 requestBody: description: File upload object content: application/json: schema: $ref: '#/components/schemas/AddAMLFileUpload' required: true responses: 201: description: File record created. File data can now be posted to the returned URL. content: application/json: schema: $ref: '#/components/schemas/FileToBeUploaded' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] components: parameters: sortOrder: name: sortOrder in: query description: Order by which to sort the results. Used in conjunction with sort parameter. schema: type: string enum: - asc - desc leasedSince: name: leasedSince in: query description: Filter results leased since this datetime schema: type: string format: date-time leasedBefore: name: leasedBefore in: query description: Filter results leased before this datetime schema: type: string format: date-time listingAuthoritySince: name: listingAuthoritySince in: query description: Filter results with listing authority date since this datetime schema: type: string format: date-time listingAuthorityBefore: name: listingAuthorityBefore in: query description: Filter results with listing authority date before this datetime schema: type: string format: date-time webLiveDateSince: name: webLiveDateSince in: query description: Filter results with web live date since this datetime schema: type: string format: date-time webLiveDateBefore: name: webLiveDateBefore in: query description: Filter results with web live date before this datetime schema: type: string format: date-time insertedSince: name: insertedSince in: query description: Filter results inserted since this datetime schema: type: string format: date-time insertedBefore: name: insertedBefore in: query description: Filter results inserted before this datetime schema: type: string format: date-time modifiedSince: name: modifiedSince in: query description: Filter results modified since this datetime schema: type: string format: date-time modifiedBefore: name: modifiedBefore in: query description: Filter results modified before this datetime schema: type: string format: date-time conditionalSince: name: conditionalSince in: query description: Filter results with conditional date since this date schema: type: string format: date conditionalBefore: name: conditionalBefore in: query description: Filter results with conditional date before this date schema: type: string format: date unconditionalSince: name: unconditionalSince in: query description: Filter results with unconditional date since this date schema: type: string format: date unconditionalBefore: name: unconditionalBefore in: query description: Filter results with unconditional date before this date schema: type: string format: date settlementSince: name: settlementSince in: query description: Filter results with settlement date since this date schema: type: string format: date settlementBefore: name: settlementBefore in: query description: Filter results with settlement date before this date schema: type: string format: date fallenSince: name: fallenSince in: query description: Filter results with fallen date since this date schema: type: string format: date fallenBefore: name: fallenBefore in: query description: Filter results with fallen date before this date schema: type: string format: date withdrawnSince: name: withdrawnSince in: query description: Filter results with withdrawn date since this date schema: type: string format: date withdrawnBefore: name: withdrawnBefore in: query description: Filter results with withdrawn date before this date schema: type: string format: date priceReducedSince: name: priceReducedSince in: query description: Filter results by price reductions since this datetime schema: type: string format: date-time priceReducedBefore: name: priceReducedBefore in: query description: Filter results by price reductions before this datetime schema: type: string format: date-time page: name: page in: query description: Page number of results schema: type: integer format: int64 pagesize: name: pagesize in: query description: Number of records to be returned in each page. schema: type: integer format: int64 default: 50 published: name: published in: query description: Filter properties published to at least one web portal schema: type: boolean publishedOnPortals: name: publishedOnPortals in: query description: Filter properties published to at least one of these office portal IDs style: form explode: false schema: type: array items: type: integer format: int64 suburbs: name: suburbs in: query description: Filter properties in these suburb IDs style: form explode: false schema: type: array items: type: integer format: int64 propertyIds: name: propertyIds in: query description: Filter properties with these IDs style: form explode: false schema: type: array items: type: integer format: int64 lifeIds: name: lifeIds in: query description: Filter life records with these IDs style: form explode: false schema: type: array items: type: integer format: int64 types: name: types in: query description: Filter properties with these property type IDs style: form explode: false schema: type: array items: type: integer format: int64 branches: name: branches in: query description: Filter properties in these account branch IDs style: form explode: false schema: type: array items: type: integer format: int64 after: name: after in: query description: Filter records after this ID schema: type: integer format: int64 customRegions: name: customRegions in: query description: Filter properties belonging to at least one of these custom regions IDs style: form explode: false schema: type: array items: type: integer format: int64 precincts: name: precincts in: query description: Filter properties belonging to at least one of these precincts IDs style: form explode: false schema: type: array items: type: integer format: int64 includeConditional: name: includeConditional in: query description: Include conditional (written) sales schema: type: boolean includeFallen: name: includeFallen in: query description: Include fallen/crashed conditional sales schema: type: boolean minBed: name: minBed in: query description: Filter properties greater than or equal to min beds schema: type: integer format: int64 minBath: name: minBath in: query description: Filter properties greater than or equal to min bathrooms schema: type: integer format: int64 minCar: name: minCar in: query description: Filter properties greater than or equal to min car spaces schema: type: integer format: int64 minSalePrice: name: minSalePrice in: query description: Filter sold properties with sale price greater than or equal to min sale price schema: type: number format: float maxSalePrice: name: maxSalePrice in: query description: Filter sold properties with sale price less than or equal to max sale price schema: type: number format: float letAgreed: name: letAgreed in: query description: Filter properties by let agreed schema: type: boolean accessBy: name: accessBy in: query description: Filter properties by these user IDs. NOTE - Use the ID "-1" to filter properties which are accessible by Everyone. style: form explode: false schema: type: array items: type: integer format: int64 securitySchemes: Api-Key: type: apiKey name: X-Api-Key in: header Bearer: type: http scheme: bearer schemas: AuthToken: type: object properties: token: type: string TemporaryToken: type: object properties: temporaryToken: type: string AccountBranch: type: object properties: id: type: integer format: int64 name: type: string shortName: type: string websiteUrl: type: string address: $ref: '#/components/schemas/Address' MarketingUser: type: object properties: id: type: integer format: int64 user: $ref: '#/components/schemas/Access' AddUpdateMarketingUser: type: object properties: id: type: integer format: int64 user: $ref: '#/components/schemas/ID' 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 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' legalDescription: type: string abn: type: string description: 'Australian Business Number (ABN). For New Zealand customers, this field represents the GST registration number.' acn: type: string description: 'Australian Company Number (ACN).' marketingUsers: type: array items: $ref: '#/components/schemas/MarketingUser' smsUnsubscribeUrl: type: string customUnsubscribe: type: array items: $ref: '#/components/schemas/UnsubscribeType' ContactExtended: allOf: - $ref: '#/components/schemas/Contact' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' sourceOfEnquiry: $ref: '#/components/schemas/EnquirySource' 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 comment: type: string Country: type: object properties: id: type: integer format: int64 name: type: string isocode: type: string gstRate: type: number format: float Region: type: object properties: id: type: integer format: int64 name: type: string District: type: object properties: id: type: integer format: int64 name: type: string region: $ref: '#/components/schemas/Region' State: type: object properties: id: type: integer format: int64 name: type: string abbreviation: type: string Suburb: type: object properties: id: type: integer format: int64 name: type: string postcode: type: string state: $ref: '#/components/schemas/State' nzDistrict: $ref: '#/components/schemas/District' isPoBox: type: boolean RoyalMail: type: object properties: buildingName: type: string buildingNumber: type: string department: type: string locality: type: string locality2: type: string organisation: type: string postTown: type: string postcode: type: string subbuildingName: type: string subbuildingNumber: type: string thoroughfare: type: string thoroughfare2: type: string udprn: type: integer format: int64 CustomAddress: type: object properties: address1: type: string address2: type: string postTown: type: string postcode: 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' royalMail: $ref: '#/components/schemas/RoyalMail' customAddress: $ref: '#/components/schemas/CustomAddress' UpdateAddress: type: object properties: level: type: string unitNumber: type: string streetNumber: type: string street: type: string suburb: $ref: '#/components/schemas/ID' Unsubscribe: type: object properties: email: type: boolean sms: type: boolean letters: type: boolean Credential: type: object properties: password: type: string username: type: string TwoFactorCredential: type: object properties: code: type: string temporaryToken: type: string ID: type: object properties: id: type: integer format: int64 LocationHeader: type: string description: The location of the newly created resource SuccessOrError: type: object properties: success: type: boolean msg: type: string code: type: string ResponseCode: type: object properties: msg: type: string code: type: string Urls: type: object properties: previous: type: string next: type: string self: type: string ContactNoteTypePurpose: type: object properties: id: type: integer format: int64 name: type: string ContactNoteType: 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' PropertyNoteTypePurpose: type: object properties: id: type: integer format: int64 name: type: string PropertyNoteType: type: object properties: id: type: integer format: int64 name: type: string colour: type: string purpose: $ref: '#/components/schemas/PropertyNoteTypePurpose' Account: type: object properties: id: type: integer format: int64 name: type: string businessName: type: string eMarketingName: type: string timezone: type: string openDatabase: type: boolean email: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' address: $ref: '#/components/schemas/Address' postalAddress: $ref: '#/components/schemas/Address' franchise: $ref: '#/components/schemas/AccountFranchise' speciality: type: string enum: - commercial marketingUserOrders: type: array items: $ref: '#/components/schemas/MarketingUserOrder' websiteUrl: type: string clientLoginUrl: type: string openingHours: type: object properties: sunday: type: string monday: type: string tuesday: type: string wednesday: type: string thursday: type: string friday: type: string saturday: type: string MarketingUserOrder: type: object properties: id: type: integer format: int64 name: type: string ContactPhoto: type: object properties: original: type: string UserPhoto: type: object properties: original: type: string thumb_360: type: string 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 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 UserAndTeams: allOf: - $ref: '#/components/schemas/User' - type: object properties: teams: type: array items: $ref: '#/components/schemas/Team' 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 contact: $ref: '#/components/schemas/ID' insertedBy: $ref: '#/components/schemas/User' type: $ref: '#/components/schemas/ContactNoteType' reminder: $ref: '#/components/schemas/ContactNoteReminder' propertyFeedback: $ref: '#/components/schemas/PropertyFeedback' ContactNoteExtended: allOf: - $ref: '#/components/schemas/ContactNote' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' ContactNoteAndContact: type: object properties: note: $ref: '#/components/schemas/ContactNote' contact: $ref: '#/components/schemas/Contact' ContactNoteAndContactExtended: type: object properties: note: $ref: '#/components/schemas/ContactNoteExtended' contact: $ref: '#/components/schemas/ContactExtended' ContactNoteReminder: type: object properties: date: type: string format: date-time user: $ref: '#/components/schemas/User' AddContactNoteReminder: type: object properties: date: type: string format: date-time user: $ref: '#/components/schemas/ID' UpdateContactNote: 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' GdprOptin: type: object properties: id: type: integer format: int64 description: GDPR opt-in record ID sms: type: boolean description: SMS consent flag email: type: boolean description: Email consent flag phone: type: boolean description: Phone consent flag inserted: type: string format: date-time description: When the consent was recorded modified: type: string format: date-time description: When the consent was last modified insertedBy: $ref: '#/components/schemas/User' modifiedBy: $ref: '#/components/schemas/User' property: type: object properties: id: type: integer format: int64 description: Associated property ID (if applicable) AddUpdatePropertyFeedback: type: object properties: priceOpinion: type: number format: float feedbackDate: type: string format: date-time contractRequested: type: boolean contractSent: type: string format: date-time UpdateContactNoteWithFeedback: allOf: - $ref: '#/components/schemas/UpdateContactNote' - type: object properties: propertyFeedback: $ref: '#/components/schemas/AddUpdatePropertyFeedback' 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 accessBy: type: array items: $ref: '#/components/schemas/ID' insertedBy: $ref: '#/components/schemas/ID' AddContactNoteWithFeedback: allOf: - $ref: '#/components/schemas/AddContactNote' - type: object properties: propertyFeedback: $ref: '#/components/schemas/AddUpdatePropertyFeedback' AddPropertyFeedback: type: object properties: contact: $ref: '#/components/schemas/ID' note: $ref: '#/components/schemas/AddContactNoteWithFeedback' UpdatePropertyFeedback: type: object properties: note: $ref: '#/components/schemas/UpdateContactNoteWithFeedback' PropertyNote: 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/PropertyNoteType' UpdatePropertyNote: type: object properties: body: type: string readOnly: type: boolean type: $ref: '#/components/schemas/ID' AddPropertyNote: type: object properties: body: type: string readOnly: type: boolean type: $ref: '#/components/schemas/ID' inserted: type: string format: date-time CategoryGroupingSimple: type: object properties: id: type: integer format: int64 name: type: string CategoryGrouping: type: object properties: id: type: integer format: int64 name: type: string categories: type: array items: $ref: '#/components/schemas/Category' Category: type: object properties: id: type: integer format: int64 name: type: string AddUpdateCategoryGrouping: type: object properties: name: type: string AddUpdateCategory: type: object properties: name: type: string Building: type: object properties: id: type: integer format: int64 name: type: string AddUpdateBuilding: type: object properties: name: type: string PropertyPhotoThumbnails: type: object properties: thumb_180: type: string thumb_1024: type: string 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 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 addressVisibility: type: string enum: - streetAndSuburb - suburb - fullAddress referenceID: 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 windowCardDescription: type: string landArea: $ref: '#/components/schemas/Area' frontage: type: number format: float 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' lotNumber: type: string certificateOfTitle: type: string legalDescription: type: string rpdp: type: string commercialListingType: type: string enum: - sale - lease - both councilTaxBand: type: string isStrataBuilding: type: boolean isProjectBuilding: type: boolean epcRating: type: string zoning: type: string account: type: object properties: id: type: integer format: int64 name: type: string discriminator: propertyName: class PropertyLife: allOf: - $ref: '#/components/schemas/ResidentialProperty' - $ref: '#/components/schemas/CommercialProperty' PropertyExtended: allOf: - $ref: '#/components/schemas/Property' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' leaseHistory: type: array items: $ref: '#/components/schemas/LeaseHistory' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' saleLife: type: object properties: id: type: integer format: int64 status: type: string leaseLife: type: object properties: id: type: integer format: int64 status: type: string AddUpdateProperty: type: object properties: branch: $ref: '#/components/schemas/ID' building: $ref: '#/components/schemas/ID' type: $ref: '#/components/schemas/ID' address: $ref: '#/components/schemas/UpdateAddress' referenceID: type: string searchPrice: type: number format: float displayPrice: type: string heading: type: string description: type: string brochureDescription: type: string windowCardDescription: 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' editableBy: type: array items: $ref: '#/components/schemas/ID' appraisal: type: string format: date-time appraisalPriceLower: type: number format: float appraisalPriceUpper: type: number format: float contactStaff: type: array items: $ref: '#/components/schemas/ID' externalLinks: type: array items: $ref: '#/components/schemas/AddUpdateExternalLink' mobileMarketingDescription: type: string internalRemarks: type: string certificateOfTitle: type: string legalDescription: type: string rpdp: type: string lotNumber: type: string discriminator: propertyName: class ResidentialProperty: allOf: - $ref: '#/components/schemas/Property' - type: object properties: bed: type: integer format: int64 bath: type: integer format: int64 garages: type: integer format: int64 carports: type: integer format: int64 openSpaces: type: integer format: int64 ensuites: type: integer format: int64 toilets: type: integer format: int64 receptionRooms: type: integer format: int64 floorArea: $ref: '#/components/schemas/Area' status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal portalStatus: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal contactStaff: type: array items: $ref: '#/components/schemas/User' eTableUrl: type: string externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' energyRating: type: number format: float isNewHome: type: boolean isHouseLandPackage: type: boolean ResidentialPropertyExtended: allOf: - $ref: '#/components/schemas/ResidentialProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' leaseHistory: type: array items: $ref: '#/components/schemas/LeaseHistory' highlights: type: array items: type: string portals: type: array items: $ref: '#/components/schemas/PortalAccess' AddUpdateResidentialProperty: allOf: - $ref: '#/components/schemas/AddUpdateProperty' - type: object properties: bed: type: integer format: int64 bath: type: integer format: int64 garages: type: integer format: int64 carports: type: integer format: int64 openSpaces: type: integer format: int64 ensuites: type: integer format: int64 toilets: type: integer format: int64 receptionRooms: type: integer format: int64 floorArea: $ref: '#/components/schemas/Area' status: type: string enum: - prospect - appraisal SaleProperty: type: object properties: priceQualifier: $ref: '#/components/schemas/PriceQualifier' tenureOrTitleType: $ref: '#/components/schemas/TenureOrTitleType' branch: $ref: '#/components/schemas/AccountBranch' tenanted: type: boolean tenancyDetails: type: string tenancyStart: type: string format: date-time tenancyStop: type: string format: date-time tenantName: type: string tenantPhone: type: string tenantEmail: type: string rates: type: object properties: water: $ref: '#/components/schemas/Rate' council: $ref: '#/components/schemas/Rate' strata: $ref: '#/components/schemas/Rate' mobileMarketingDescription: type: string internalRemarks: type: string externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' priceOnApplication: type: boolean appraisal: type: string format: date-time authorityStart: type: string format: date-time authorityEnd: type: string format: date-time listingAuthorityFile: $ref: '#/components/schemas/PropertyFile' salePricePercentSplit: type: number format: float publishedToWeb: type: string format: date-time sellingFeePercent: type: number format: float sellingFeeFixed: type: number format: float vpa: type: number format: float agentPriceOpinion: type: number format: float agentPriceOpinionUpper: type: number format: float rateableValue: type: integer format: int64 landValue: type: integer format: int64 improvementValue: type: integer format: int64 methodOfsale: $ref: '#/components/schemas/MethodOfSale' auctionSaleType: $ref: '#/components/schemas/AuctionType' authorityType: $ref: '#/components/schemas/AuthorityType' webId: type: string sharedOwnership: $ref: '#/components/schemas/SharedOwnership' isNewHome: type: boolean soiUrl: type: string isOurListing: type: boolean internalMarketingLiveDate: type: string format: date-time mortgageeSale: type: boolean asIsSale: type: boolean isUnitTitle: type: boolean contractNumber: type: string AddUpdateSaleProperty: type: object properties: rates: type: object properties: water: $ref: '#/components/schemas/Rate' council: $ref: '#/components/schemas/Rate' strata: $ref: '#/components/schemas/Rate' externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' priceOnApplication: type: boolean authorityStart: type: string format: date-time authorityEnd: type: string format: date-time sellingFeePercent: type: number format: float sellingFeeFixed: type: number format: float vpa: type: number format: float agentPriceOpinion: type: number format: float agentPriceOpinionUpper: type: number format: float rateableValue: type: integer format: int64 landValue: type: integer format: int64 improvementValue: type: integer format: int64 methodOfsale: $ref: '#/components/schemas/ID' authorityType: $ref: '#/components/schemas/ID' tenureOrTitleType: $ref: '#/components/schemas/ID' auctionDetails: $ref: '#/components/schemas/AuctionDetails' tenderDetails: $ref: '#/components/schemas/TenderDetails' setSaleDateDetails: $ref: '#/components/schemas/SetSaleDateDetails' MethodOfSale: type: object properties: id: type: integer format: int64 name: type: string AuctionSaleType: type: object properties: id: type: integer format: int64 name: type: string SoldType: type: object properties: id: type: integer format: int64 name: type: string AuthorityType: type: object properties: id: type: integer format: int64 name: type: string ResidentialSaleProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - $ref: '#/components/schemas/SaleProperty' - type: object properties: auctionDetails: $ref: '#/components/schemas/AuctionDetails' tenderDetails: $ref: '#/components/schemas/TenderDetails' setSaleDateDetails: $ref: '#/components/schemas/SetSaleDateDetails' soiUrl: type: string isOurListing: type: boolean ResidentialSoldProperty: allOf: - $ref: '#/components/schemas/ResidentialSaleProperty' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' ResidentialSalePropertyExtended: allOf: - $ref: '#/components/schemas/ResidentialSaleProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' highlights: type: array items: type: string leasehold: $ref: '#/components/schemas/Leasehold' portals: type: array items: $ref: '#/components/schemas/PortalAccess' ResidentialSoldPropertyExtended: allOf: - $ref: '#/components/schemas/ResidentialSalePropertyExtended' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' LeaseProperty: type: object properties: branch: $ref: '#/components/schemas/AccountBranch' mobileMarketingDescription: type: string internalRemarks: type: string externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' priceOnApplication: type: boolean authorityStart: type: string format: date-time authorityEnd: type: string format: date-time bondPrice: type: number format: float expenditureLimit: type: number format: float webId: type: string rates: type: object properties: council: $ref: '#/components/schemas/Rate' isNewHome: type: boolean soiUrl: type: string publishedToWeb: type: string format: date-time furnished: $ref: '#/components/schemas/Furnished' internalMarketingLiveDate: type: string format: date-time AddUpdateLeaseProperty: type: object properties: externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' priceOnApplication: type: boolean authorityStart: type: string format: date-time authorityEnd: type: string format: date-time bondPrice: type: number format: float expenditureLimit: type: number format: float rates: type: object properties: council: $ref: '#/components/schemas/Rate' ResidentialLeaseProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - $ref: '#/components/schemas/LeaseProperty' - type: object properties: currentTenancy: $ref: '#/components/schemas/Tenancy' propertyManager: $ref: '#/components/schemas/User' available: type: boolean ResidentialLeasePropertyExtended: allOf: - $ref: '#/components/schemas/ResidentialLeaseProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' leaseHistory: type: array items: $ref: '#/components/schemas/LeaseHistory' highlights: type: array items: type: string portals: type: array items: $ref: '#/components/schemas/PortalAccess' AddUpdateResidentialSaleProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - $ref: '#/components/schemas/AddUpdateSaleProperty' - type: object AddUpdateResidentialLeaseProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - $ref: '#/components/schemas/AddUpdateLeaseProperty' - type: object properties: propertyManager: $ref: '#/components/schemas/ID' LandProperty: allOf: - $ref: '#/components/schemas/Property' - type: object properties: status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal portalStatus: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal auctionDetails: $ref: '#/components/schemas/AuctionDetails' tenderDetails: $ref: '#/components/schemas/TenderDetails' setSaleDateDetails: $ref: '#/components/schemas/SetSaleDateDetails' contactStaff: type: array items: $ref: '#/components/schemas/ID' eTableUrl: type: string soiUrl: type: string isNewHome: type: boolean isHouseLandPackage: type: boolean externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' LandSoldProperty: allOf: - $ref: '#/components/schemas/LandProperty' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' LandPropertyExtended: allOf: - $ref: '#/components/schemas/LandProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' highlights: type: array items: type: string portals: type: array items: $ref: '#/components/schemas/PortalAccess' LandSoldPropertyExtended: allOf: - $ref: '#/components/schemas/LandPropertyExtended' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' AddUpdateLandProperty: allOf: - $ref: '#/components/schemas/AddUpdateProperty' - $ref: '#/components/schemas/AddUpdateSaleProperty' - type: object properties: status: type: string enum: - prospect - appraisal RuralProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - type: object properties: auctionDetails: $ref: '#/components/schemas/AuctionDetails' tenderDetails: $ref: '#/components/schemas/TenderDetails' setSaleDateDetails: $ref: '#/components/schemas/SetSaleDateDetails' soiUrl: type: string externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' isOurListing: type: boolean RuralSoldProperty: allOf: - $ref: '#/components/schemas/RuralProperty' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' AddUpdateRuralProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - $ref: '#/components/schemas/AddUpdateSaleProperty' - type: object RuralPropertyExtended: allOf: - $ref: '#/components/schemas/RuralProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' highlights: type: array items: type: string portals: type: array items: $ref: '#/components/schemas/PortalAccess' RuralSoldPropertyExtended: allOf: - $ref: '#/components/schemas/RuralPropertyExtended' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' CommercialProperty: allOf: - $ref: '#/components/schemas/Property' - type: object properties: zoning: type: string carSpaces: type: integer format: int64 floorArea: $ref: '#/components/schemas/Area' mezzanineArea: $ref: '#/components/schemas/Area' warehouseArea: $ref: '#/components/schemas/Area' retailArea: $ref: '#/components/schemas/Area' officeArea: $ref: '#/components/schemas/Area' otherArea: $ref: '#/components/schemas/Area' status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal portalStatus: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal contactStaff: type: array items: $ref: '#/components/schemas/ID' eTableUrl: type: string commercialListingType: type: string enum: - sale - lease - both externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' energyRating: type: number format: float commercialLeasePrice: type: number format: float outgoingsPerAnnum: type: number format: float outgoingsText: type: string includesOutgoings: type: boolean commercialLeasePriceIncludesGst: type: boolean isNewHome: type: boolean CommercialPropertyExtended: allOf: - $ref: '#/components/schemas/CommercialProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' highlights: type: array items: type: string portals: type: array items: $ref: '#/components/schemas/PortalAccess' CommercialSaleProperty: allOf: - $ref: '#/components/schemas/CommercialProperty' - $ref: '#/components/schemas/SaleProperty' - type: object properties: auctionDetails: $ref: '#/components/schemas/AuctionDetails' tenderDetails: $ref: '#/components/schemas/TenderDetails' setSaleDateDetails: $ref: '#/components/schemas/SetSaleDateDetails' annualReturnPercent: type: number format: float CommercialSoldProperty: allOf: - $ref: '#/components/schemas/CommercialSaleProperty' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' CommercialSalePropertyExtended: allOf: - $ref: '#/components/schemas/CommercialPropertyExtended' - type: object properties: auctionDetails: $ref: '#/components/schemas/AuctionDetails' tenderDetails: $ref: '#/components/schemas/TenderDetails' setSaleDateDetails: $ref: '#/components/schemas/SetSaleDateDetails' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' CommercialSoldPropertyExtended: allOf: - $ref: '#/components/schemas/CommercialSalePropertyExtended' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' CommercialLeaseProperty: allOf: - $ref: '#/components/schemas/CommercialProperty' - $ref: '#/components/schemas/LeaseProperty' CommercialLeasePropertyExtended: allOf: - $ref: '#/components/schemas/CommercialPropertyExtended' - type: object properties: leaseHistory: type: array items: $ref: '#/components/schemas/LeaseHistory' 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 commercialLeasePrice: type: number format: float outgoingsPerAnnum: type: number format: float outgoingsText: type: string includesOutgoings: type: boolean commercialLeasePriceIncludesGst: type: boolean AddUpdateCommercialLeaseProperty: allOf: - $ref: '#/components/schemas/AddUpdateCommercialProperty' - $ref: '#/components/schemas/AddUpdateLeaseProperty' AddUpdateCommercialSaleProperty: allOf: - $ref: '#/components/schemas/AddUpdateCommercialProperty' - $ref: '#/components/schemas/AddUpdateSaleProperty' BusinessProperty: allOf: - $ref: '#/components/schemas/Property' - type: object properties: floorArea: $ref: '#/components/schemas/Area' status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - withdrawn - withdrawnAppraisal portalStatus: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal auctionDetails: $ref: '#/components/schemas/AuctionDetails' tenderDetails: $ref: '#/components/schemas/TenderDetails' setSaleDateDetails: $ref: '#/components/schemas/SetSaleDateDetails' contactStaff: type: array items: $ref: '#/components/schemas/ID' eTableUrl: type: string externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' energyRating: type: number format: float BusinessSoldProperty: allOf: - $ref: '#/components/schemas/BusinessProperty' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' BusinessPropertyExtended: allOf: - $ref: '#/components/schemas/BusinessProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' highlights: type: array items: type: string portals: type: array items: $ref: '#/components/schemas/PortalAccess' BusinessSoldPropertyExtended: allOf: - $ref: '#/components/schemas/BusinessPropertyExtended' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' AddUpdateBusinessProperty: allOf: - $ref: '#/components/schemas/AddUpdateProperty' - $ref: '#/components/schemas/AddUpdateSaleProperty' - type: object properties: floorArea: $ref: '#/components/schemas/Area' status: type: string enum: - prospect - appraisal HolidayRentalProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - $ref: '#/components/schemas/LeaseProperty' - type: object HolidayRentalPropertyExtended: allOf: - $ref: '#/components/schemas/HolidayRentalProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' leaseHistory: type: array items: $ref: '#/components/schemas/LeaseHistory' highlights: type: array items: type: string portals: type: array items: $ref: '#/components/schemas/PortalAccess' AddUpdateHolidayRentalProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - $ref: '#/components/schemas/AddUpdateLeaseProperty' - type: object BuildingSearchResult: allOf: - $ref: '#/components/schemas/Building' - type: object PropertySearchResult: type: object properties: id: type: integer format: int64 saleLifeId: type: integer format: int64 leaseLifeId: type: integer format: int64 address: $ref: '#/components/schemas/Address' displayAddress: type: string commercialListingType: type: string enum: - sale - lease - both salePrice: type: number format: float nullable: true showSalePrice: type: boolean unconditional: type: string format: date-time nullable: true class: $ref: '#/components/schemas/PropertyClass' saleLife: type: object properties: id: type: integer format: int64 status: type: string portalStatus: type: string leaseLife: type: object properties: id: type: integer format: int64 status: type: string portalStatus: type: string account: type: object properties: id: type: integer format: int64 name: type: string ContactSearchResult: type: object properties: id: type: integer format: int64 name: type: string greeting: type: string firstName: type: string lastName: type: string emails: type: array items: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' marketingUsers: type: array items: $ref: '#/components/schemas/MarketingUser' editableBy: type: array items: $ref: '#/components/schemas/Access' Rate: type: object properties: value: type: number format: float period: type: string enum: - pa - pq Area: type: object properties: value: type: integer format: int64 units: type: string enum: - sqm - acre - hectare AreaRange: type: object properties: minimum: type: integer format: int64 maximum: type: integer format: int64 units: type: string enum: - sqm - acre - hectare UpdateUser: type: object properties: firstName: type: string lastName: type: string email: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' position: type: string profile: type: string CustomFieldGrouping: type: object properties: fields: type: array items: $ref: '#/components/schemas/CustomField' group: type: string CustomField: type: object properties: dataType: type: string enum: - selectBox - text - string - float - boolean - date - dayAndMonth id: type: integer format: int64 name: type: string data: type: string AddUpdateCustomField: type: object properties: id: type: integer format: int64 data: type: string ActivityLog: type: object properties: id: type: integer format: int64 inserted: type: string format: date-time note: type: string insertedBy: $ref: '#/components/schemas/User' ContactFile: type: object properties: id: type: integer format: int64 inserted: type: string format: date-time modified: type: string format: date-time description: type: string filename: type: string filesize: type: integer format: int64 insertedBy: $ref: '#/components/schemas/User' url: type: string contentType: type: string CalendarEvent: type: object properties: id: type: integer format: int64 modified: type: string format: date-time recurring: type: boolean allDay: type: boolean start: type: string format: date-time end: type: string format: date-time summary: type: string description: type: string reminderMinutes: type: integer format: int64 contacts: type: array items: $ref: '#/components/schemas/CalendarContact' user: $ref: '#/components/schemas/Access' isConfirmed: type: boolean isCancelled: type: boolean CalendarContact: type: object properties: id: type: integer format: int64 name: type: string AddUpdateCalendarEvent: type: object properties: recurring: type: boolean allDay: type: boolean start: type: string format: date-time end: type: string format: date-time summary: type: string description: type: string reminderMinutes: type: integer format: int64 contacts: type: array items: $ref: '#/components/schemas/ID' user: $ref: '#/components/schemas/ID' isConfirmed: type: boolean PropertyFile: type: object properties: id: type: integer format: int64 inserted: type: string format: date-time modified: type: string format: date-time filename: type: string filesize: type: integer format: int64 contentType: type: string url: type: string electronicTable: type: boolean isPublic: type: boolean PropertyFileWithFolders: allOf: - $ref: '#/components/schemas/PropertyFile' - type: object properties: tenancyId: type: integer format: int64 folders: type: array items: $ref: '#/components/schemas/PropertyFileFolder' PropertyFileFolder: type: object properties: id: type: integer format: int64 name: type: string display: type: string enum: - sale - lease - saleAndLease CoreLogicAddressSuggest: type: object properties: id: type: integer format: int64 name: type: string CoreLogicProperty: type: object properties: id: type: integer format: int64 address: $ref: '#/components/schemas/Address' bed: type: integer format: int64 bath: type: integer format: int64 carSpaces: type: integer format: int64 floorArea: $ref: '#/components/schemas/Area' landArea: $ref: '#/components/schemas/Area' volumeNumber: type: string folioNumber: type: string frontage: type: number format: float UpdateContact: type: object properties: title: type: string firstName: type: string lastName: type: string greeting: type: string partnerTitle: type: string partnerFirstName: type: string partnerLastName: type: string company: type: string position: type: string address: $ref: '#/components/schemas/UpdateAddress' postalAddress: $ref: '#/components/schemas/UpdateAddress' onDoNotCallList: type: boolean archived: type: boolean unsubscribe: $ref: '#/components/schemas/Unsubscribe' emails: type: array items: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' legalDescription: type: string abn: type: string description: 'Australian Business Number (ABN). For New Zealand customers, this field represents the GST registration number.' acn: type: string description: 'Australian Company Number (ACN).' accessBy: type: array items: $ref: '#/components/schemas/ID' editableBy: type: array items: $ref: '#/components/schemas/ID' sourceOfEnquiry: $ref: '#/components/schemas/ID' marketingUsers: type: array items: $ref: '#/components/schemas/AddUpdateMarketingUser' customUnsubscribe: type: array items: $ref: '#/components/schemas/ID' AddContact: allOf: - $ref: '#/components/schemas/UpdateContact' - type: object properties: inserted: type: string format: date-time entityType: $ref: '#/components/schemas/ID' Supplier: allOf: - $ref: '#/components/schemas/Contact' - type: object properties: labels: type: array items: type: string SupplierExtended: allOf: - $ref: '#/components/schemas/ContactExtended' - type: object properties: labels: type: array items: type: string UpdateSupplier: type: object properties: title: type: string firstName: type: string lastName: type: string greeting: type: string partnerTitle: type: string partnerFirstName: type: string partnerLastName: type: string company: type: string position: type: string address: $ref: '#/components/schemas/UpdateAddress' postalAddress: $ref: '#/components/schemas/UpdateAddress' onDoNotCallList: type: boolean unsubscribe: $ref: '#/components/schemas/Unsubscribe' emails: type: array items: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' legalDescription: type: string abn: type: string description: 'Australian Business Number (ABN). For New Zealand customers, this field represents the GST registration number.' acn: type: string description: 'Australian Company Number (ACN).' accessBy: type: array items: $ref: '#/components/schemas/ID' sourceOfEnquiry: $ref: '#/components/schemas/ID' marketingUsers: type: array items: $ref: '#/components/schemas/AddUpdateMarketingUser' labels: type: array items: type: string AddSupplier: allOf: - $ref: '#/components/schemas/UpdateSupplier' - type: object properties: inserted: type: string format: date-time ContactRequirement: type: object properties: id: type: integer format: int64 inserted: type: string format: date-time modified: type: string format: date-time active: type: boolean propertyClass: $ref: '#/components/schemas/PropertyClass' minimumPrice: type: number format: float maximumPrice: type: number format: float minimumBed: type: integer format: int64 minimumBath: type: integer format: int64 minimumCar: type: integer format: int64 minimumPricePerSQM: type: number format: float maximumPricePerSQM: type: number format: float landArea: $ref: '#/components/schemas/AreaRange' buildingArea: $ref: '#/components/schemas/AreaRange' propertyTypes: type: array items: $ref: '#/components/schemas/PropertyType' propertyTags: type: array items: type: string suburbs: type: array items: $ref: '#/components/schemas/Suburb' type: type: string enum: - sale - lease - saleOrLease tenantedInvestment: type: boolean AddUpdateContactRequirement: type: object properties: active: type: boolean propertyClass: $ref: '#/components/schemas/ID' minimumPrice: type: number format: float maximumPrice: type: number format: float minimumBed: type: integer format: int64 minimumBath: type: integer format: int64 minimumCar: type: integer format: int64 minimumPricePerSQM: type: number format: float maximumPricePerSQM: type: number format: float landArea: $ref: '#/components/schemas/AreaRange' buildingArea: $ref: '#/components/schemas/AreaRange' propertyTypes: type: array items: $ref: '#/components/schemas/ID' propertyTags: type: array items: type: string suburbs: type: array items: $ref: '#/components/schemas/Suburb' type: type: string enum: - sale - lease - saleOrLease tenantedInvestment: type: boolean PropertyType: type: object properties: id: type: integer format: int64 name: type: string propertyClass: $ref: '#/components/schemas/PropertyClass' PropertyClass: type: object properties: id: type: integer format: int64 name: type: string internalName: type: string Access: type: object properties: id: type: integer format: int64 name: type: string photo: $ref: '#/components/schemas/UserPhoto' account: type: object properties: id: type: integer format: int64 name: type: string Team: type: object properties: id: type: integer format: int64 name: type: string CoreLogicAvm: type: object properties: estimatedPriceHigh: type: number format: float estimatedPriceLow: type: number format: float estimatedValue: type: number format: float confidence: type: string CoreLogicRentalAvm: type: object properties: estimatedPricePerWeekHigh: type: number format: float estimatedPricePerWeekLow: type: number format: float estimatedValuePerWeek: type: number format: float forecastStandardDeviation: type: number format: float yieldForecastStandardDeviation: type: number format: float yield: type: number format: float ContactContext: type: object properties: phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' displayName: type: string partnerDisplayName: type: string companyInfo: type: string emails: type: array items: type: string format: email linkedProperties: type: array items: $ref: '#/components/schemas/LinkedProperty' categories: type: array items: $ref: '#/components/schemas/Category' LinkedProperty: type: object properties: id: type: integer format: int64 address: $ref: '#/components/schemas/Address' displayAddress: type: string saleLifeId: type: integer format: int64 leaseLifeId: type: integer format: int64 relationship: type: string enum: - pastOwner - owner - landlord - tenant - purchaser status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal portalStatus: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal class: $ref: '#/components/schemas/PropertyClass' photo: $ref: '#/components/schemas/PropertyPhoto' UserSubscriptions: type: object properties: corelogic: type: boolean pricefinder: type: boolean RentFrequency: type: object properties: id: type: integer format: int64 name: type: string Tenancy: type: object properties: id: type: integer format: int64 inserted: type: string format: date-time modified: type: string format: date-time rent: type: number format: float rentFrequency: $ref: '#/components/schemas/RentFrequency' archived: type: boolean letAgreed: type: boolean start: type: string format: date-time end: type: string format: date-time rentPaidUntil: type: string format: date-time arrearsAmount: type: number format: float vacateDate: type: string format: date-time PropertyFeedback: 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 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 ExternalLinkType: type: object properties: id: type: integer format: int64 name: type: string ExternalLink: type: object properties: id: type: number format: int64 url: type: string modified: type: string format: date-time type: $ref: '#/components/schemas/ExternalLinkType' AddUpdateExternalLink: type: object properties: url: type: string type: $ref: '#/components/schemas/ID' OfferCondition: type: object properties: id: type: number format: int64 name: type: string PropertyOfferCondition: type: object properties: id: type: number format: int64 condition: $ref: '#/components/schemas/OfferCondition' user: $ref: '#/components/schemas/User' due: type: string format: date-time completed: type: boolean UpdatePropertyOfferCondition: type: object properties: condition: $ref: '#/components/schemas/ID' user: $ref: '#/components/schemas/ID' due: type: string format: date-time completed: type: boolean PropertyOfferConditionWithProperty: allOf: - $ref: '#/components/schemas/PropertyOfferCondition' - type: object properties: property: type: object properties: id: type: number format: int64 displayAddress: type: string saleLifeId: type: number format: int64 class: $ref: '#/components/schemas/PropertyClass' Signature: type: object properties: url: type: string AuctionDetails: type: object properties: dateTime: type: string format: date-time venue: type: string auctioneer: type: string TenderDetails: type: object properties: dateTime: type: string format: date-time SetSaleDateDetails: type: object properties: dateTime: type: string format: date-time OpenHome: type: object properties: id: type: number format: int64 start: type: string format: date-time end: type: string format: date-time user: $ref: '#/components/schemas/User' isRental: type: boolean extraAgents: type: array items: $ref: '#/components/schemas/Access' AddUpdateOpenHome: type: object properties: start: type: string format: date-time end: type: string format: date-time user: $ref: '#/components/schemas/ID' extraAgents: type: array items: $ref: '#/components/schemas/ID' OpenHomeWithProperty: allOf: - $ref: '#/components/schemas/OpenHome' - type: object properties: 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' EnquirySource: type: object properties: id: type: number format: int64 name: type: string AddUpdateEnquirySource: type: object properties: name: type: string BulkContactNote: type: object properties: type: $ref: '#/components/schemas/ID' readOnly: type: boolean inserted: type: string format: date-time accessBy: type: array items: $ref: '#/components/schemas/Access' notes: type: array items: type: object properties: contact: $ref: '#/components/schemas/ID' body: type: string Task: type: object properties: id: type: number format: int64 subject: type: string description: type: string inserted: type: string format: date-time completed: type: boolean start: type: string format: date-time contact: $ref: '#/components/schemas/TaskContact' contactNote: $ref: '#/components/schemas/ContactNote' 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' user: $ref: '#/components/schemas/Access' TaskContact: type: object properties: id: type: integer format: int64 name: type: string AddTask: type: object properties: subject: type: string description: type: string start: type: string format: date-time user: $ref: '#/components/schemas/ID' UpdateTask: type: object properties: subject: type: string description: type: string start: type: string format: date-time PropertyFeatureGrouping: type: object properties: groupName: type: string groupDisplayName: type: string features: type: array items: $ref: '#/components/schemas/PropertyFeature' UpdatePropertyFeatureGrouping: type: object properties: groupName: type: string features: type: array items: $ref: '#/components/schemas/UpdatePropertyFeature' PropertyFeature: type: object properties: name: type: string displayName: type: string dataType: type: string enum: - selectBox - text - string - float - integer - boolean - date - dayAndMonth data: type: string UpdatePropertyFeature: type: object properties: name: type: string data: type: string Enquiry: type: object properties: id: type: number format: int64 subject: type: string originalId: type: string inserted: type: string format: date-time source: type: string sourceName: type: string saleLifeId: type: number format: int64 leaseLifeId: type: number format: int64 processed: type: boolean enquiryDate: type: string format: date-time body: type: string contactId: type: number format: int64 personEmails: type: array items: type: string format: email personName: type: string unsubscribe: type: object properties: email: type: boolean personPhoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' categories: type: array items: $ref: '#/components/schemas/Category' user: $ref: '#/components/schemas/Access' AddEnquiry: type: object properties: enquiryDate: type: string format: date-time subject: type: string body: type: string originalId: type: string propertyReference: type: string source: type: string saleLifeId: type: number format: int64 leaseLifeId: type: number format: int64 userId: type: number format: int64 fullName: type: string firstName: type: string lastName: type: string email: type: string format: email telephone: type: string mobile: type: string categories: type: array items: $ref: '#/components/schemas/ID' metaData: type: array items: type: object properties: key: type: string value: type: string SMS: type: object properties: user: $ref: '#/components/schemas/ID' message: type: string number: type: string BulkSMS: type: object properties: contact: $ref: '#/components/schemas/ID' message: type: string number: type: string Email: type: object properties: user: $ref: '#/components/schemas/ID' subject: type: string bodyText: type: string bodyHTML: type: string to: type: string BulkEmail: type: object properties: contact: $ref: '#/components/schemas/ID' email: type: string subject: type: string bodyText: type: string bodyHTML: type: string AccountPricingUnit: type: object properties: currency: type: string unitPrice: type: number format: float AccountPricing: type: object properties: sms: $ref: '#/components/schemas/AccountPricingUnit' Token: type: object properties: account: $ref: '#/components/schemas/ID' token: type: string scopes: type: array items: type: string Metric: type: object properties: statType: type: string enum: - propertyView - emailAgent - callAgent - brochureView total: type: number format: int64 UpdatePortalStatsTotal: type: object properties: source: type: string saleLifeId: type: number format: int64 leaseLifeId: type: number format: int64 propertyReference: type: string metrics: type: array items: $ref: '#/components/schemas/Metric' UpdatePortalStatsCumulative: allOf: - $ref: '#/components/schemas/UpdatePortalStatsTotal' - type: object properties: statDate: type: string format: date-time PortalStats: type: object properties: id: type: integer format: int64 source: $ref: '#/components/schemas/Portal' saleLifeId: type: integer format: int64 leaseLifeId: type: integer format: int64 statDate: type: string format: date-time statType: type: string modified: type: string format: date-time isTotalFigure: type: boolean total: type: integer format: int64 EmailTemplate: type: object properties: id: type: integer format: int64 name: type: string subject: type: string content: type: string propertyTemplate: type: boolean accessBy: type: array items: $ref: '#/components/schemas/Access' inserted: type: string format: date-time AddUpdateEmailTemplate: type: object properties: name: type: string subject: type: string content: type: string propertyTemplate: type: boolean accessBy: type: array items: $ref: '#/components/schemas/ID' SMSTemplate: type: object properties: id: type: integer format: int64 name: type: string content: type: string propertyTemplate: type: boolean accessBy: type: array items: $ref: '#/components/schemas/Access' inserted: type: string format: date-time AddUpdateSMSTemplate: type: object properties: name: type: string content: type: string propertyTemplate: type: boolean accessBy: type: array items: $ref: '#/components/schemas/ID' OwnerSummaryTemplate: type: object properties: id: type: integer format: int64 name: type: string subject: type: string content: type: string accessBy: type: array items: $ref: '#/components/schemas/Access' inserted: type: string format: date-time AddUpdateOwnerSummaryTemplate: type: object properties: name: type: string subject: type: string content: type: string accessBy: type: array items: $ref: '#/components/schemas/ID' LeaseHistory: type: object properties: lifeId: type: number format: int64 appraisal: type: string format: date-time appraisalPriceLower: type: number format: float appraisalPriceUpper: type: number format: float status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal portalStatus: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal inserted: type: string format: date-time modified: type: string format: date-time contactStaff: type: array items: $ref: '#/components/schemas/Access' tenancyHistory: type: array items: $ref: '#/components/schemas/Tenancy' isNewHome: type: boolean webId: type: string furnished: $ref: '#/components/schemas/Furnished' internalMarketingLiveDate: type: string format: date-time SaleHistory: type: object properties: lifeId: type: number format: int64 isReleasedSale: type: boolean isAdminComplete: type: boolean isUnitTitle: type: boolean contractNumber: type: string appraisal: type: string format: date-time appraisalPriceLower: type: number format: float appraisalPriceUpper: type: number format: float listingAuthority: type: string format: date-time publishedToWeb: type: string format: date-time conditional: type: string format: date-time unconditional: type: string format: date-time settlement: type: string format: date-time releaseDate: type: string format: date-time adminCompletionDate: type: string format: date-time status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - withdrawn - withdrawnAppraisal portalStatus: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn - withdrawnAppraisal salePrice: type: number format: float showSalePrice: type: boolean grossCommissionExcGST: type: number format: float grossCommissionLessDeductionsExcGST: type: number format: float netIncomeIntoOfficeExcGST: type: number format: float netIncomeLessOfficeDeductionsExcGST: type: number format: float webId: type: string isNewHome: type: boolean inserted: type: string format: date-time modified: type: string format: date-time contactStaff: type: array items: $ref: '#/components/schemas/Access' commissionSplits: type: array items: $ref: '#/components/schemas/CommissionSplit' deductions: type: array items: $ref: '#/components/schemas/PreDistributionDeduction' officeReferrals: type: array items: $ref: '#/components/schemas/OfficeReferral' officeDeductions: type: array items: $ref: '#/components/schemas/OfficeDeduction' soldType: $ref: '#/components/schemas/SoldType' sharedOwnership: $ref: '#/components/schemas/SharedOwnership' isOurListing: type: boolean internalMarketingLiveDate: type: string format: date-time mortgageeSale: type: boolean asIsSale: type: boolean sellingFeePercent: type: number format: float sellingFeeFixed: type: number format: float vpa: type: number format: float annualReturnPercent: type: number format: float listingAuthorityFile: $ref: '#/components/schemas/PropertyFile' salePricePercentSplit: type: number format: float PhotoTag: type: object properties: confidence: type: number format: float name: type: string AccountFranchise: type: object properties: id: type: integer format: int64 name: type: string ContactInterest: type: object properties: id: type: integer format: int64 name: type: string ContactMinimal: type: object properties: id: type: integer format: int64 displayName: type: string inserted: type: string format: date-time modified: type: string format: date-time emails: type: array items: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' PropertyLifeInterest: type: object properties: contact: $ref: '#/components/schemas/ContactMinimal' interest: $ref: '#/components/schemas/ContactInterest' PropertyLifeEnquirySource: type: object properties: contact: $ref: '#/components/schemas/ContactMinimal' source: $ref: '#/components/schemas/EnquirySource' UpdatePropertyLifeEnquirySource: type: object properties: source: type: object properties: id: type: integer format: int64 UpdatePropertyLifeInterest: type: object properties: interest: type: object properties: id: type: integer format: int64 RequirementAndContact: type: object properties: requirement: $ref: '#/components/schemas/ContactRequirement' contact: $ref: '#/components/schemas/ID' ContactAndMarketingUser: type: object properties: marketingUser: $ref: '#/components/schemas/MarketingUser' contact: $ref: '#/components/schemas/ID' ContactAndCount: type: object properties: count: type: integer format: int64 contact: $ref: '#/components/schemas/ID' PropertyFileWithFoldersUpload: type: object properties: filename: type: string filesize: type: integer format: int64 contentType: type: string folders: type: array items: $ref: '#/components/schemas/ID' FileToBeUploaded: type: object properties: id: type: integer format: int64 upload_url: type: string Portal: type: object properties: id: type: integer format: int64 name: type: string PortalAccess: type: object properties: id: type: integer format: int64 code: type: string description: type: string portal: $ref: '#/components/schemas/Portal' PropertyPhotoUpload: type: object properties: filesize: type: integer format: int64 width: type: integer format: int64 height: type: integer format: int64 caption: type: string type: type: string enum: - Photograph - Floorplan contentType: type: string enum: - image/jpeg - image/jpg - image/png - image/gif userFilename: type: string published: type: boolean ContactFileUpload: type: object properties: filename: type: string filesize: type: integer format: int64 contentType: type: string MaintenancePhoto: type: object properties: id: type: integer format: int64 url: type: string description: type: string userFileName: type: string AddMaintenancePhoto: type: object properties: description: type: string Maintenance: type: object properties: id: type: integer format: int64 summary: type: string description: type: string status: type: string enum: - open - requested - sent - completed inserted: type: string format: date-time modified: type: string format: date-time insertedBy: $ref: '#/components/schemas/Access' requestedBy: $ref: '#/components/schemas/ContactMinimal' tenancy: $ref: '#/components/schemas/Tenancy' leaseLifeId: type: integer format: int64 photos: type: array items: $ref: '#/components/schemas/MaintenancePhoto' notifications: type: array items: $ref: '#/components/schemas/Access' AddMaintenance: type: object properties: summary: type: string description: type: string inserted: type: string format: date-time requestedBy: $ref: '#/components/schemas/ID' notifications: type: array items: $ref: '#/components/schemas/ID' tenancy: $ref: '#/components/schemas/ID' UpdateMaintenance: type: object properties: summary: type: string description: type: string requestedBy: $ref: '#/components/schemas/ID' notifications: type: array items: $ref: '#/components/schemas/ID' MaintenanceRequest: type: object properties: id: type: integer format: int64 inserted: type: string format: date-time supplier: $ref: '#/components/schemas/ContactMinimal' status: type: string enum: - requested - viewed - notInterested - received jobId: type: integer format: int64 quote: $ref: '#/components/schemas/PropertyFile' invoice: $ref: '#/components/schemas/PropertyFile' isWorkOrder: type: boolean AddMaintenanceRequest: type: object properties: supplier: $ref: '#/components/schemas/ID' subject: type: string bodyHTML: type: string isWorkOrder: type: boolean sender: $ref: '#/components/schemas/ID' MaintenanceNote: type: object properties: id: type: integer format: int64 note: type: string inserted: type: string format: date-time insertedBy: $ref: '#/components/schemas/Access' Inspection: type: object properties: id: type: integer format: int64 insertedBy: $ref: '#/components/schemas/Access' inserted: type: string format: date-time start: type: string format: date-time end: type: string format: date-time status: type: string enum: - proposed - scheduled - confirmed type: type: string enum: - routine - ingoing - outgoing timeOfDay: type: string enum: - morning - afternoon tenancy: $ref: '#/components/schemas/ID' AddInspection: type: object properties: inserted: type: string format: date-time start: type: string format: date-time end: type: string format: date-time status: type: string enum: - proposed - scheduled - confirmed type: type: string enum: - routine - ingoing - outgoing insertedBy: $ref: '#/components/schemas/ID' UpdateInspection: type: object properties: start: type: string format: date-time end: type: string format: date-time status: type: string enum: - proposed - scheduled - confirmed type: type: string enum: - routine - ingoing - outgoing Insurance: type: object properties: publicLiability: type: string format: date-time TrustAccount: type: object properties: id: type: integer format: int64 name: type: string accountNumber: type: string bsbNumber: type: string type: type: string enum: - sales - propertyManagement - combinedSalesAndPropertyManagement TrustLedgerTransactionType: type: object properties: id: type: integer format: int64 name: type: string TrustLedgerCategory: type: object properties: id: type: integer format: int64 name: type: string TrustLedgerTransaction: type: object properties: id: type: integer format: int64 saleLifeId: type: integer format: int64 transactionType: $ref: '#/components/schemas/TrustLedgerTransactionType' trustAccount: $ref: '#/components/schemas/ID' receiptNumber: type: string nullable: true category: $ref: '#/components/schemas/TrustLedgerCategory' transactionDate: type: string format: date depositReleaseDate: type: string format: date inserted: type: string format: date-time amount: type: number format: float internalNote: type: string internalRefId: type: string contact: $ref: '#/components/schemas/ID' receivedFromText: type: string nullable: true TenancyExtended: allOf: - $ref: '#/components/schemas/Tenancy' - type: object properties: bondReceipted: type: number format: float paymentType: type: string paymentReference: type: string TenancyAndProperty: type: object properties: property: type: object properties: id: type: number format: int64 displayAddress: type: string tenancy: $ref: '#/components/schemas/TenancyExtended' PropertyRoom: type: object properties: id: type: integer format: int64 name: type: string description: type: string length: type: number format: float width: type: number format: float units: type: string enum: - feet - metres dimensionClarification: type: string ContactNoteWithContact: allOf: - $ref: '#/components/schemas/ContactNote' - type: object properties: contact: $ref: '#/components/schemas/ID' FlushProperty: type: object properties: saleLifeId: type: number format: int64 leaseLifeId: type: number format: int64 propertyReference: type: string portals: type: array items: type: string CommercialDeal: type: object properties: id: type: number format: int64 owners: type: array items: $ref: '#/components/schemas/ContactMinimal' tenants: type: array items: $ref: '#/components/schemas/ContactMinimal' unconditional: type: string format: date-time settlement: type: string format: date-time grossCommissionExcGST: type: number format: float outgoingsPerAnnum: type: number format: float outgoingsText: type: string parkingBays: type: number format: int64 parkingInfo: type: string externalAgency: $ref: '#/components/schemas/ContactMinimal' ourDeal: type: boolean status: type: string enum: - Sent for Approval - Pending - Rejected - Approved CommercialDealSale: allOf: - $ref: '#/components/schemas/CommercialDeal' - type: object properties: purchasers: type: array items: $ref: '#/components/schemas/ContactMinimal' salePrice: type: number format: float vacantPossession: type: boolean CommercialDealLease: allOf: - $ref: '#/components/schemas/CommercialDeal' - type: object properties: leaseStart: type: string format: date-time leaseExpiry: type: string format: date-time leaseExpiryReminder: type: string format: date-time leaseExpiryReminderUser: $ref: '#/components/schemas/Access' annualRent: type: number format: float initialTermYears: type: integer format: int64 renewal1Years: type: integer format: int64 renewal2Years: type: integer format: int64 renewal3Years: type: integer format: int64 fitoutEstimate: type: number format: float otherIncentives: type: string CommissionSplitType: type: object properties: id: type: number format: int64 name: type: string PreDistributionDeduction: type: object properties: amount: type: number format: float type: $ref: '#/components/schemas/FeesCharges' OfficeDeduction: type: object properties: amount: type: number format: float type: $ref: '#/components/schemas/FeesCharges' OfficeReferral: allOf: - $ref: '#/components/schemas/OfficeDeduction' type: object properties: paidBy: type: string enum: - listers - sellers - totalShare CommissionSplitDeduction: type: object properties: amount: type: number format: float type: $ref: '#/components/schemas/FeesCharges' CommissionSplit: type: object properties: id: type: number format: int64 user: $ref: '#/components/schemas/Access' type: $ref: '#/components/schemas/CommissionSplitType' conjunctingAgent: $ref: '#/components/schemas/ContactMinimal' grossPercent: type: number format: float grossAmount: type: number format: float grossAmountLessDeductions: type: number format: float netPercent: type: number format: float netAmount: type: number format: float details: type: string branch: $ref: '#/components/schemas/AccountBranch' deductions: type: array items: $ref: '#/components/schemas/CommissionSplitDeduction' FullSaleHistory: allOf: - $ref: '#/components/schemas/SaleHistory' EntityType: type: object properties: id: type: number format: int64 name: type: string IntegratorPropertyStat: type: object properties: name: type: string displayName: type: string value: type: number format: int64 UpdateIntegratorPropertyStats: type: object properties: stats: type: array items: $ref: '#/components/schemas/IntegratorPropertyStat' InsertScheduledViewing: type: object properties: contacts: type: array items: $ref: '#/components/schemas/ID' accessBy: type: array items: $ref: '#/components/schemas/Access' insertedBy: $ref: '#/components/schemas/Access' start: type: string format: date-time end: type: string format: date-time MessageReceipt: type: object properties: id: type: number format: int64 name: type: string seen: type: boolean Message: type: object properties: id: type: number format: int64 threadId: type: number format: int64 message: type: string receipts: type: array items: $ref: '#/components/schemas/MessageReceipt' insertedBy: $ref: '#/components/schemas/Access' inserted: type: string format: date-time isFranchise: type: boolean MessageRecipient: type: object properties: id: type: number format: int64 name: type: string photo: type: string MessageThread: type: object properties: id: type: number format: int64 name: type: string created: type: string format: date-time modified: type: string format: date-time accountId: type: number format: int64 franchiseId: type: number format: int64 insertedBy: $ref: '#/components/schemas/Access' recipients: type: array items: $ref: '#/components/schemas/MessageRecipient' latestMessage: $ref: '#/components/schemas/Message' AddUpdateMessageThread: type: object properties: name: type: string recipients: type: array items: $ref: '#/components/schemas/MessageRecipient' InspectionWithProperty: type: object properties: id: type: integer format: int64 insertedBy: $ref: '#/components/schemas/Access' inserted: type: string format: date-time start: type: string format: date-time end: type: string format: date-time status: type: string enum: - proposed - scheduled - confirmed type: type: string enum: - routine - ingoing - outgoing timeOfDay: type: string enum: - morning - afternoon property: type: object properties: id: type: integer format: int64 displayAddress: type: string class: $ref: '#/components/schemas/PropertyClass' leaseLife: type: object properties: id: type: integer format: int64 status: type: string portalStatus: type: string tenancy: $ref: '#/components/schemas/ID' AdvertisingScheduleItem: type: object properties: id: type: number format: int64 week: type: number format: int64 dayOfWeek: type: string expenseType: $ref: '#/components/schemas/AdvertisingExpenseType' AdvertisingSchedule: type: object properties: id: type: number format: int64 name: type: string AdvertisingScheduleWithItems: allOf: - $ref: '#/components/schemas/AdvertisingSchedule' - type: object properties: schedule: type: array items: $ref: '#/components/schemas/AdvertisingScheduleItem' AdvertisingAttachedScheduleItem: type: object properties: id: type: number format: int64 expenseType: $ref: '#/components/schemas/AdvertisingExpenseType' amount: type: number format: float companyContribution: type: number format: float actualDate: type: string format: date-time allocated: type: boolean AdvertisingAttachedSchedule: type: object properties: id: type: number format: int64 baseSchedule: $ref: '#/components/schemas/AdvertisingSchedule' startDate: type: string format: date-time AdvertisingAttachedScheduleWithItems: allOf: - $ref: '#/components/schemas/AdvertisingAttachedSchedule' - type: object properties: schedule: type: array items: $ref: '#/components/schemas/AdvertisingAttachedScheduleItem' AdvertisingLedgerType: type: object properties: id: type: number format: int64 name: type: string AdvertisingPaymentType: type: object properties: id: type: number format: int64 name: type: string AdvertisingSupplier: type: object properties: id: type: number format: int64 name: type: string AddUpdateAdvertisingSupplier: type: object properties: name: type: string AdvertisingExpenseType: type: object properties: id: type: number format: int64 name: type: string supplier: $ref: '#/components/schemas/AdvertisingSupplier' gstInclusive: type: boolean amount: type: number format: float companyContribution: type: number format: float AdvertisingInvoice: type: object properties: id: type: number format: int64 inserted: type: string format: date-time modified: type: string format: date-time invoiceNumber: type: string insertedBy: $ref: '#/components/schemas/Access' totalAmount: type: number format: float amountOutstanding: type: number format: float addressedTo: $ref: '#/components/schemas/ContactMinimal' gstRateUsed: type: number format: float userInvoiced: $ref: '#/components/schemas/Access' saleLifeId: type: number format: int64 tenancyId: type: number format: int64 AdvertisingTransaction: type: object properties: id: type: number format: int64 inserted: type: string format: date-time insertedBy: $ref: '#/components/schemas/Access' amount: type: number format: float companyContribution: type: number format: float saleLifeId: type: number format: int64 description: type: string expenseType: $ref: '#/components/schemas/AdvertisingExpenseType' invoiceId: type: number format: int64 linkedTransactionId: type: number format: int64 paymentType: $ref: '#/components/schemas/AdvertisingPaymentType' referenceID: type: string transactionDate: type: string format: date-time transactionType: $ref: '#/components/schemas/AdvertisingLedgerType' userCharged: $ref: '#/components/schemas/Access' paymentIsTaxApplicable: type: boolean description: Applies to agent payments on property ledger only. Indicates if the amount includes tax. AddAdvertisingPayment: type: object properties: amount: type: number format: float saleLifeId: type: number format: int64 description: type: string invoiceId: type: number format: int64 paymentType: $ref: '#/components/schemas/ID' referenceID: type: string transactionDate: type: string format: date-time transactionType: $ref: '#/components/schemas/ID' user: $ref: '#/components/schemas/ID' paymentIsTaxApplicable: type: boolean description: Applies to agent payments on property ledger only. Indicates if the amount includes tax. PriceQualifier: type: object properties: id: type: integer format: int64 name: type: string TenureOrTitleType: type: object properties: id: type: integer format: int64 name: type: string HoldingAreaType: type: object properties: id: type: integer format: int64 source: type: string apiCode: type: string MethodOfSaleType: type: object properties: id: type: integer format: int64 name: type: string AuctionType: type: object properties: id: type: integer format: int64 name: type: string PropertyKey: type: object properties: id: type: number format: int64 propertyId: type: number format: int64 name: type: string isKeyOut: type: boolean details: type: string hexColour: type: string inserted: type: string format: date-time modified: type: string format: date-time keyOutUser: $ref: '#/components/schemas/Access' keyOutContact: $ref: '#/components/schemas/ContactSearchResult' AddUpdatePropertyKey: type: object properties: id: type: number format: int64 name: type: string isKeyOut: type: boolean details: type: string hexColour: type: string keyOutUser: $ref: '#/components/schemas/ID' keyOutContact: $ref: '#/components/schemas/ID' ContactBankAccount: type: object properties: id: type: integer format: int64 name: type: string accountNumber: type: string bsbNumber: type: string AddUpdateContactBankAccount: type: object properties: name: type: string accountNumber: type: string bsbNumber: type: string ContactDateType: type: object properties: id: type: integer format: int64 name: type: string format: type: string enum: - MM-DD - YYYY-MM-DD ContactDate: type: object properties: id: type: integer format: int64 type: $ref: '#/components/schemas/ContactDateType' date: type: string property: type: object properties: id: type: integer format: int64 displayAddress: type: string class: $ref: '#/components/schemas/PropertyClass' leaseLifeId: type: integer format: int64 saleLifeId: type: integer format: int64 ContactAndDate: allOf: - $ref: '#/components/schemas/ContactDate' - type: object properties: contactid: type: integer format: int64 DistributionList: type: object properties: id: type: integer format: int64 name: type: string PropertyPortalId: type: object properties: portalId: type: string officePortal: $ref: '#/components/schemas/PortalAccess' PropertyAlarmDetails: type: object properties: alarmCode: type: string details: type: string modified: type: string format: date-time UnsubscribeType: type: object properties: id: type: integer format: int64 name: type: string Vertex: type: object properties: latitude: type: number format: float longitude: type: number format: float Precinct: type: object properties: id: type: integer format: int64 name: type: string inserted: type: string format: date-time modified: type: string format: date-time accessBy: type: array items: $ref: '#/components/schemas/Access' vertices: type: array items: $ref: '#/components/schemas/Vertex' FeesCharges: type: object properties: id: type: integer format: int64 name: type: string ClearingSalesProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - type: object properties: auctionDetails: $ref: '#/components/schemas/AuctionDetails' tenderDetails: $ref: '#/components/schemas/TenderDetails' setSaleDateDetails: $ref: '#/components/schemas/SetSaleDateDetails' soiUrl: type: string externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' isOurListing: type: boolean ClearingSalesSoldProperty: allOf: - $ref: '#/components/schemas/ClearingSalesProperty' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' AddUpdateClearingSalesProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - $ref: '#/components/schemas/AddUpdateSaleProperty' - type: object ClearingSalesPropertyExtended: allOf: - $ref: '#/components/schemas/ClearingSalesProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' highlights: type: array items: type: string portals: type: array items: $ref: '#/components/schemas/PortalAccess' ClearingSalesSoldPropertyExtended: allOf: - $ref: '#/components/schemas/ClearingSalesPropertyExtended' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' LivestockProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - type: object properties: auctionDetails: $ref: '#/components/schemas/AuctionDetails' tenderDetails: $ref: '#/components/schemas/TenderDetails' setSaleDateDetails: $ref: '#/components/schemas/SetSaleDateDetails' soiUrl: type: string externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' isOurListing: type: boolean LivestockSoldProperty: allOf: - $ref: '#/components/schemas/LivestockProperty' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' AddUpdateLivestockProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - $ref: '#/components/schemas/AddUpdateSaleProperty' - type: object LivestockPropertyExtended: allOf: - $ref: '#/components/schemas/LivestockProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' editableBy: type: array items: $ref: '#/components/schemas/Access' keys: type: array items: $ref: '#/components/schemas/PropertyKey' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' highlights: type: array items: type: string portals: type: array items: $ref: '#/components/schemas/PortalAccess' LivestockSoldPropertyExtended: allOf: - $ref: '#/components/schemas/LivestockPropertyExtended' - type: object properties: saleDetails: $ref: '#/components/schemas/SaleHistory' FMSLeadContact: type: object properties: name: type: string phone: type: string email: type: string doNotMail: type: boolean description: type: string FMSLeadProperty: type: object properties: streetAddress: type: string suburb: type: string state: type: string bedrooms: type: integer format: int64 bathrooms: type: integer format: int64 carParkingSpaces: type: integer format: int64 contactIsOwner: type: boolean FMSLead: type: object properties: id: type: number format: int64 contact: type: string $ref: '#/components/schemas/FMSLeadContact' property: type: string $ref: '#/components/schemas/FMSLeadProperty' appraisalRequired: type: boolean appraisalType: type: string source: type: string AddFMSLead: type: object properties: contact: type: string $ref: '#/components/schemas/FMSLeadContact' property: type: string $ref: '#/components/schemas/FMSLeadProperty' appraisalRequired: type: boolean appraisalType: type: string source: type: string PropertyOfferStatus: type: object properties: id: type: number format: int64 name: type: string PropertyOffer: type: object properties: id: type: number format: int64 contact: $ref: '#/components/schemas/ContactMinimal' details: type: string leaseLifeId: type: integer format: int64 saleLifeId: type: integer format: int64 offerDate: type: string format: date-time offerPrice: type: number format: float status: $ref: '#/components/schemas/PropertyOfferStatus' AddPropertyOffer: type: object properties: contact: $ref: '#/components/schemas/ID' details: type: string leaseLifeId: type: integer format: int64 saleLifeId: type: integer format: int64 offerDate: type: string format: date-time offerPrice: type: number format: float status: $ref: '#/components/schemas/ID' UpdatePropertyOffer: type: object properties: id: type: number format: int64 contact: $ref: '#/components/schemas/ID' details: type: string offerDate: type: string format: date-time offerPrice: type: number format: float status: $ref: '#/components/schemas/ID' BulkContactSourceOfEnquiry: type: object properties: contact: $ref: '#/components/schemas/ID' leaseLifeId: type: integer format: int64 saleLifeId: type: integer format: int64 source: $ref: '#/components/schemas/EnquirySource' ConjunctionalSale: type: object properties: id: type: integer format: int64 parties: type: array items: type: object properties: accountId: type: integer format: int64 accountName: type: string saleLifeId: type: integer format: int64 sourceAccount: type: object properties: id: type: integer format: int64 name: type: string sourceSaleLifeId: type: integer format: int64 inserted: type: string format: date-time modified: type: string format: date-time ServiceChargeFrequency: type: object properties: id: type: integer format: int64 name: type: string SharedOwnership: type: object properties: percentage: type: number format: float rent: type: number format: float rentFrequency: $ref: '#/components/schemas/ServiceChargeFrequency' Leasehold: type: object properties: fixedForTerm: type: boolean groundRent: type: number format: float groundRentPercentageIncrease: type: number format: float leaseEnd: type: string format: date-time managingAgent: $ref: '#/components/schemas/ContactMinimal' notes: type: string serviceCharge: $ref: '#/components/schemas/ServiceCharge' solicitorInformed: type: boolean tenureVerified: type: boolean ServiceCharge: type: object properties: details: type: string period: $ref: '#/components/schemas/ServiceChargeFrequency' value: type: number format: float PropertyListingConfiguration: type: object properties: id: type: integer format: int64 description: type: string heading: type: string displayAddress: type: string floorArea: $ref: '#/components/schemas/Area' ratePerSQM: type: number format: float tenanted: type: boolean type: $ref: '#/components/schemas/PropertyType' status: type: string address: $ref: '#/components/schemas/Address' PropertyStrataProperty: allOf: - $ref: '#/components/schemas/PropertyListingConfiguration' PropertyProjectProperty: allOf: - $ref: '#/components/schemas/PropertyListingConfiguration' MatchingContactsRequest: type: object properties: bed: type: integer format: int64 bath: type: integer format: int64 car: type: integer format: int64 type: type: string enum: - sale - lease - saleAndLease propertyClass: type: string enum: - residential - commercial - business - rural - holidayRental - land minPrice: type: number format: float maxPrice: type: number format: float suburbs: type: array items: $ref: '#/components/schemas/Suburb' EventStreamItem: type: object properties: timestamp: type: string format: date-time type: type: string action: type: string data: type: object id: type: integer format: int64 Furnished: type: object properties: id: type: integer format: int64 type: type: string enum: - Unfurnished - Furnished - Part Furnished - Optional AddPropertyActivityNote: type: object properties: note: type: string leaseLifeId: type: integer format: int64 saleLifeId: type: integer format: int64 CampaignComments: type: object properties: categories: type: string from: type: string lists: type: string precincts: type: string subject: type: string Campaign: type: object properties: id: type: number format: int64 title: type: string bulkEmail: type: boolean inserted: type: string format: date-time comments: $ref: '#/components/schemas/CampaignComments' user: $ref: '#/components/schemas/User' CampaignTracking: type: object properties: id: type: number format: int64 remoteAddress: type: string url: type: string inserted: type: string format: date-time contact: type: object $ref: '#/components/schemas/ContactMinimal' CampaignTrackingSummary: type: object properties: readPenetration: type: string totalClicks: type: integer format: int64 totalRecipients: type: integer format: int64 totalRecipientsRead: type: integer format: int64 totalUnsubscribers: type: integer format: int64 totalViews: type: integer format: int64 HazardsAndRisks: type: object properties: id: type: integer format: int64 name: type: string ExternalFeedback: type: object properties: id: type: integer format: int64 comments: type: string contactiId: type: integer format: int64 feedbackDate: type: string format: date insertAccountId: type: integer format: int64 insertUserId: type: integer format: int64 inserted: type: string format: date-time isDeleted: type: boolean leaseLifeId: type: integer format: int64 modified: type: string format: date-time priceOpinion: type: number format: float propertyId: type: integer format: int64 saleLifeId: type: integer format: int64 userId: type: integer format: int64 source: type: object description: Source of enquiry for this feedback properties: id: type: integer format: int64 name: type: string InsertExternalFeedback: type: object properties: contactId: type: integer format: int64 description: ID of an existing contact (mutually exclusive with contact object) contact: $ref: '#/components/schemas/AddContact' comments: type: string feedbackDate: type: string format: date priceOpinion: type: number format: float userId: type: integer format: int64 source: type: object description: Source of enquiry (optional). Use GET /account/enquirySources to retrieve available options. properties: id: type: integer format: int64 oneOf: - required: [contactId] - required: [contact] UpdateExternalFeedback: type: object properties: comments: type: string feedbackDate: type: string format: date priceOpinion: type: number format: float userId: type: integer format: int64 source: type: object description: Source of enquiry (optional). Use GET /account/enquirySources to retrieve available options. properties: id: type: integer format: int64 SaleSummary: type: object properties: account: type: object properties: id: type: integer format: int64 name: type: string balance: type: number format: float contractNumber: type: string created: type: string format: date-time invoiceNumber: type: string invoiceToText: type: string saleLifeId: type: integer format: int64 totalFees: type: number format: float ReinzSale: type: object properties: saleLifeId: type: integer format: int64 inserted: type: string format: date-time processed: type: string format: date-time success: type: boolean saleType: type: string suppressSale: type: boolean CustomRegion: type: object properties: id: type: integer format: int64 name: type: string ExternalReference: type: object properties: type: type: string value: type: string NZDistrict: type: object properties: id: type: integer format: int64 name: type: string suburbs: type: array items: type: object properties: id: type: integer format: int64 name: type: string postcode: type: string isPoBox: type: boolean AMLStatus: type: object properties: id: type: number format: int64 name: type: string AMLNote: type: object properties: id: type: number format: int64 note: type: string inserted: type: string format: date-time insertedBy: type: object $ref: '#/components/schemas/Access' AddAMLNote: type: object properties: note: type: string AMLFile: type: object properties: id: type: number format: int64 filename: type: string contentType: type: string url: type: string inserted: type: string format: date-time AddAMLFileUpload: type: object properties: filename: type: string contentType: type: string AMLProperty: type: object properties: id: type: number format: int64 saleLifeId: type: number format: int64 leaseLifeId: type: number format: int64 address: type: object $ref: '#/components/schemas/Address' displayAddress: type: string class: type: object $ref: '#/components/schemas/PropertyClass' type: type: object $ref: '#/components/schemas/PropertyType' AddAMLProperty: type: object properties: id: type: number format: int64 saleLifeId: type: number format: int64 leaseLifeId: type: number format: int64 AMLCheck: type: object properties: id: type: integer format: int64 contact: type: object $ref: '#/components/schemas/ID' inserted: type: string format: date-time insertedBy: type: object $ref: '#/components/schemas/Access' status: type: object $ref: '#/components/schemas/AMLStatus' approved: type: string format: date-time approvedBy: type: object $ref: '#/components/schemas/Access' rejected: type: string format: date-time rejectedBy: type: object $ref: '#/components/schemas/Access' properties: type: array items: $ref: '#/components/schemas/AMLProperty' files: type: array items: $ref: '#/components/schemas/AMLFile' notes: type: array items: $ref: '#/components/schemas/AMLNote' AddAMLCheck: type: object properties: contact: type: object $ref: '#/components/schemas/ID' properties: type: array items: $ref: '#/components/schemas/AddAMLProperty' UpdateAMLCheck: type: object properties: status: type: object $ref: '#/components/schemas/ID' PropertyPhotoOrderRequest: type: object required: - photoIds properties: photoIds: type: array items: type: integer format: int64 minItems: 1 description: Array of photo IDs in the desired order example: [151522513, 151522512, 151522514] PropertyPhotoOrderResponse: type: object properties: message: type: string example: "PHOTO_ORDER_UPDATED" description: Success message indicating the photo order was updated totalPhotos: type: integer format: int64 example: 3 description: Total number of photos for the property photos: type: array items: $ref: '#/components/schemas/PropertyPhoto' description: Array of photos in their new order PropertyPhotoBulkDeleteRequest: type: object required: - items properties: items: type: array items: type: integer format: int64 minItems: 1 maxItems: 50 description: Array of photo IDs to delete (1-50 photos) example: [151522513, 151522512] PropertyPhotoBulkDeleteResult: type: object required: - id - success - message properties: id: type: integer format: int64 description: Photo ID success: type: boolean description: Whether this photo was successfully deleted message: type: string description: Result message for this photo filename: type: string nullable: true description: Filename of the photo (if available) PropertyPhotoBulkDeleteResponse: type: object required: - message - deleted_count - failed_count - results properties: message: type: string description: Overall operation message example: "BULK_DELETE_SUCCESS" deleted_count: type: integer format: int64 description: Number of photos successfully deleted example: 2 failed_count: type: integer format: int64 description: Number of photos that failed to delete example: 0 results: type: array items: $ref: '#/components/schemas/PropertyPhotoBulkDeleteResult' description: Detailed results for each photo deletion attempt MergeContactRequest: type: object properties: contactIds: type: array items: type: integer format: int64 minItems: 2 maxItems: 2 updateFields: type: object properties: firstName: type: integer format: int64 description: "ID of the contact to take the first name from" nullable: true lastName: type: integer format: int64 description: "ID of the contact to take the last name from" nullable: true company: type: integer format: int64 description: "ID of the contact to take the company name from" nullable: true position: type: integer format: int64 description: "ID of the contact to take the position from" nullable: true greeting: type: integer format: int64 description: "ID of the contact to take the greeting from" nullable: true partner: type: integer format: int64 description: "ID of the contact to take the partner name fields from" nullable: true legalDescription: type: integer format: int64 description: "ID of the contact to take the legal description from" nullable: true envelopeGreeting: type: integer format: int64 description: "ID of the contact to take the envelope greeting from" nullable: true address: type: integer format: int64 description: "ID of the contact to take the residential address from" nullable: true postalAddress: type: integer format: int64 description: "ID of the contact to take the postal address from" nullable: true marketingUsers: type: array description: "IDs and orders of the users to be assigned as marketing users" items: type: object properties: id: type: integer format: int64 user: type: integer format: int64 accessBy: type: array description: "IDs of the users to have access to the merged contact" items: type: integer format: int64 MergeField: type: object required: - token - name properties: token: type: string description: The merge field token (e.g. $$ContactFirstName$$) name: type: string description: Human-readable name of the field description: type: string description: Description of the field category: type: string description: Category ID this field belongs to engines: type: array description: Delivery engines that support this field items: type: string enum: - email - sms - cloud_letter in_editor: type: boolean description: Whether the field is available in the template editor deprecated: type: boolean description: Whether the field is deprecated custom_field: type: boolean description: Whether the field is a custom account-specific field MergeFieldCategory: type: object required: - id - name - fields properties: id: type: string description: Category identifier name: type: string description: Human-readable category name description: type: string description: Description of the category fields: type: array items: $ref: '#/components/schemas/MergeField' MergeFieldTier: type: object required: - id - name - categories properties: id: type: string description: Tier identifier (e.g. always_available, requires_property) name: type: string description: Human-readable tier name description: type: string description: Description of the tier categories: type: array items: $ref: '#/components/schemas/MergeFieldCategory' MergeFieldsTieredResponse: type: object description: Returned when no context is provided. Shows all availability tiers. required: - meta - tiers properties: meta: type: object required: - response_type properties: template_type: type: string description: The template type used to filter the fields delivery_method: type: string description: The delivery method used to filter the fields response_type: type: string enum: - tiered total_fields: type: integer format: int32 description: Total number of fields returned across all tiers registry_version: type: string description: Version of the merge field registry tiers: type: array items: $ref: '#/components/schemas/MergeFieldTier' MergeFieldsFlatResponse: type: object description: Returned when a context is provided. Shows only fields usable in that context. required: - meta - categories properties: meta: type: object required: - response_type properties: context: type: string description: The context used to filter the fields template_type: type: string description: The template type used to filter the fields delivery_method: type: string description: The delivery method used to filter the fields response_type: type: string enum: - flat total_fields: type: integer format: int32 description: Total number of fields returned registry_version: type: string description: Version of the merge field registry categories: type: array items: $ref: '#/components/schemas/MergeFieldCategory'