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.1" servers: - url: https://ap-southeast-2.api.vaultre.com.au/api/v1.1 tags: - name: categories description: Operations related to categories - name: contacts description: Operations related to contacts - name: user description: Operations related to users - name: properties description: Operations related to properties - 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: 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: types description: Operations related to various VaultRE object types - name: enquiries description: Operations related to listing enquiries - 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: templates description: Operations related to SMS and email templates paths: /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: {} 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 - $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: {} 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: {} 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' responses: 200: description: Tokens retrieved content: {} security: - Api-Key: [] Bearer: [] /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: {} 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: {} 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: {} 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: {} 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: {} 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: {} 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: {} 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: {} security: - Api-Key: [] Bearer: [] /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: [] /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: {} 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 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 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: {} 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: {} 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: {} 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: categories in: query description: Filter contacts belonging to category IDs style: form explode: false schema: type: array items: type: integer format: int64 - 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' responses: 200: description: Contacts retrieved content: {} 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 (charges may apply). operationId: sendContactSMS 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 (charges may apply). Maximum 50 recipients in any one request. operationId: sendBulkContactSMS requestBody: description: Array of SMS objects content: application/json: {} 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}/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 responses: 200: description: Contacts retrieved content: {} 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: {} security: - Api-Key: [] Bearer: [] post: tags: - contacts summary: Add a note to this contact description: Add a note to this contact operationId: addContactNote 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/ContactNote' 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/ContactNote' 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/ContactNote' 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: {} 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: {} 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 a category to this contact description: Attach a category to this contact operationId: attachCategoryContact parameters: - name: id in: path description: ID of the contact required: true schema: type: integer format: int64 requestBody: description: Category ID object content: application/json: schema: $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}/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: {} 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: {} 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: {} 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: {} 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 - $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: {} 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/User' security: - Api-Key: [] Bearer: [] put: tags: - user summary: Update the authenticated user description: Update the authenticated user operationId: updateUser 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/User' 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: {} 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: {} 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: {} 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: {} 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: User 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: 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: {} security: - Api-Key: [] Bearer: [] /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: [] /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: 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: {} 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: {} 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: {} 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: [] /logout: delete: tags: - user summary: Log out from the current user session description: Log out from the current user session operationId: logout responses: 204: description: Logged out successfully content: {} 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: {} 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 /properties: get: tags: - properties summary: Retrieve a list of properties description: Retrieve a list of properties operationId: getProperties parameters: - $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' responses: 200: description: Properties retrieved content: {} 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/{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: {} security: - Api-Key: [] Bearer: [] post: tags: - properties summary: Add a note to this property description: Add a note to this property operationId: addPropertyNote 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: {} security: - Api-Key: [] Bearer: [] post: tags: - properties summary: Upload a new photo to this property description: Upload a new photo to this property 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: [] /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: [] 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: {} 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: {} 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: getPropertyCategories 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: {} 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: {} security: - Api-Key: [] Bearer: [] /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: {} 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 - $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: {} security: - Api-Key: [] Bearer: [] post: tags: - properties summary: Attach a file to this property life description: Attach a file to this property life 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: 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/PropertyFile' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] /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/PropertyFile' 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/page' - $ref: '#/components/parameters/pagesize' - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - feedbackDate - $ref: '#/components/parameters/sortOrder' responses: 200: description: Property feedback retrieved content: {} security: - Api-Key: [] Bearer: [] post: tags: - 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/PropertyFeedback' 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/PropertyFeedback' 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/PropertyFeedback' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body delete: tags: - 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}/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: path description: Filter open homes attached to this user 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: Open Homes retrieved content: {} 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: {} 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: {} 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/{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: {} 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: {} 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: {} 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: {} 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: {} 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: {} 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/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - name: status in: query description: Property status to filter by schema: type: string default: "50" enum: - prospect - appraisal - listing - conditional - listingOrConditional - unconditional - settled - withdrawn - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: {} security: - Api-Key: [] Bearer: [] post: tags: - 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/{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/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/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - name: status in: query description: Property status to filter by schema: type: string default: "50" enum: - prospect - appraisal - 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 - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: {} security: - Api-Key: [] Bearer: [] post: tags: - 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/{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: {} 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: {} required: true responses: 200: description: Features retrieved content: {} 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/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - name: status in: query description: Property status to filter by schema: type: string default: "50" enum: - prospect - appraisal - listing - conditional - listingOrConditional - unconditional - settled - withdrawn - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: {} security: - Api-Key: [] Bearer: [] post: tags: - 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/{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/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/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - name: status in: query description: Property status to filter by schema: type: string default: "50" enum: - prospect - appraisal - listing - conditional - listingOrConditional - unconditional - settled - withdrawn - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: {} security: - Api-Key: [] Bearer: [] post: tags: - 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/{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/commercial/{salelease}: get: tags: - commercialProperties summary: Retrieve a list of commercial properties description: Retrieve a list of commercial properties operationId: getCommercialProperties parameters: - name: salelease in: path description: Filter by sale or lease properties required: true schema: type: string enum: - sale - lease - $ref: '#/components/parameters/modifiedSince' - $ref: '#/components/parameters/modifiedBefore' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - name: status in: query description: Property status to filter by schema: type: string default: "50" enum: - prospect - appraisal - listing - conditional - listingOrConditional - unconditional - settled - management - withdrawn - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - name: availableOnly in: query description: Filter available lease properties only schema: type: boolean - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: {} security: - Api-Key: [] Bearer: [] post: tags: - commercialProperties summary: Add a commercial property description: Add a commercial property operationId: addCommercialProperty requestBody: description: Commercial property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateCommercialProperty' required: true responses: 201: description: Property created content: application/json: schema: $ref: '#/components/schemas/CommercialPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /properties/commercial/{salelease}/{id}: get: tags: - commercialProperties summary: Retrieve a single commercial property description: Retrieve a single commercial property operationId: getCommercialProperty parameters: - name: salelease in: path description: Filter by sale or lease properties required: true schema: type: string enum: - sale - lease - name: id in: path description: ID of the property required: true schema: type: integer format: int64 responses: 200: description: Property retrieved content: application/json: schema: $ref: '#/components/schemas/CommercialPropertyExtended' security: - Api-Key: [] Bearer: [] put: tags: - commercialProperties summary: Update a commercial property description: Update a commercial property operationId: updateCommercialProperty parameters: - name: salelease in: path description: Update sale or lease life required: true schema: type: string enum: - sale - lease - name: id in: path description: ID of the property required: true schema: type: integer format: int64 requestBody: description: Commercial property object content: application/json: schema: $ref: '#/components/schemas/AddUpdateCommercialProperty' required: true responses: 200: description: Property updated content: application/json: schema: $ref: '#/components/schemas/CommercialPropertyExtended' 400: description: Invalid data content: application/json: schema: $ref: '#/components/schemas/SuccessOrError' security: - Api-Key: [] Bearer: [] x-codegen-request-body-name: body /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/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - name: status in: query description: Property status to filter by schema: type: string default: "50" enum: - prospect - appraisal - listing - conditional - listingOrConditional - unconditional - settled - withdrawn - name: contactStaff in: query description: Filter properties with contactStaff containing this user ID schema: type: integer format: int64 - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: {} security: - Api-Key: [] Bearer: [] post: tags: - 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/{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/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/page' - $ref: '#/components/parameters/pagesize' - $ref: '#/components/parameters/published' - name: status in: query description: Property status to filter by schema: type: string default: "50" enum: - prospect - appraisal - management - withdrawn - 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 - name: sort in: query description: Field by which to sort the results. schema: type: string enum: - inserted - modified - $ref: '#/components/parameters/sortOrder' responses: 200: description: Properties retrieved content: {} security: - Api-Key: [] Bearer: [] post: tags: - 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/{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: {} 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: {} 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 - $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: {} 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: {} 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: {} 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: {} 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' responses: 200: description: Search results retrieved content: {} 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' responses: 200: description: Search results retrieved content: {} 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' responses: 200: description: Search results retrieved content: {} 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: {} security: - Api-Key: [] Bearer: [] /calendar/events: get: tags: - calendar summary: Get a list of calendar events for the user description: Get a list of calendar events for the user 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: {} 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 user description: Get a list of tasks for the 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: completed in: query description: Filter tasks by completed status 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: - start - $ref: '#/components/parameters/sortOrder' responses: 200: description: Tasks retrieved content: {} 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/AddUpdateTask' 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/AddUpdateTask' 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: post: tags: - enquiries summary: Submit a listing enquiry description: Submit a listing enquiry (e.g. from a franchise/portal site) 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: put: tags: - propertyStats summary: Update portal stats for a property description: Update portal stats for a property (e.g. listing views) operationId: updatePortalStats 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/UpdatePortalStats' 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 /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: {} 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: {} 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/AddEmailTemplate' 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/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: {} 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/AddSMSTemplate' 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 components: schemas: AuthToken: type: object properties: token: type: string TemporaryToken: type: object properties: temporaryToken: type: string Contact: type: object properties: id: type: integer format: int64 title: type: string firstName: type: string lastName: type: string greeting: type: string displayName: type: string partnerTitle: type: string partnerFirstName: type: string partnerLastName: type: string company: type: string position: type: string address: $ref: '#/components/schemas/Address' postalAddress: $ref: '#/components/schemas/Address' onDoNotCallList: type: boolean inserted: type: string format: date-time modified: type: string format: date-time touched: type: string format: date-time remoteId: type: string unsubscribe: $ref: '#/components/schemas/Unsubscribe' emails: type: array items: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' legalDescription: type: string 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 Country: type: object properties: id: type: integer format: int64 name: type: string isocode: type: string gstRate: type: number format: float 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' 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' 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 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 timezone: type: string openDatabase: type: boolean email: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' address: $ref: '#/components/schemas/Address' franchise: $ref: '#/components/schemas/AccountFranchise' speciality: type: string enum: - commercial 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 canLogin: type: boolean deleteContacts: type: boolean globalActionListsReadWrite: type: boolean globalContactsReadWrite: type: boolean globalNotesRead: type: boolean globalNotesReadWrite: type: boolean globalPropertiesRead: type: boolean globalPropertiesReadWrite: type: boolean globalTasksReadWrite: type: boolean sendSMS: type: boolean ContactNote: type: object properties: id: type: integer format: int64 inserted: type: string format: date-time modified: type: string format: date-time body: type: string readOnly: type: boolean insertedBy: $ref: '#/components/schemas/User' type: $ref: '#/components/schemas/ContactNoteType' reminder: $ref: '#/components/schemas/ContactNoteReminder' 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' 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 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 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 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 referenceID: type: string keyID: type: string photos: type: array items: $ref: '#/components/schemas/PropertyPhoto' searchPrice: type: number format: float displayPrice: type: string heading: type: string description: type: string brochureDescription: type: string landArea: $ref: '#/components/schemas/Area' volumeNumber: type: string folioNumber: type: string corelogicId: type: integer format: int64 yearBuilt: type: integer format: int64 inserted: type: string format: date-time modified: type: string format: date-time saleLifeId: type: integer format: int64 leaseLifeId: type: integer format: int64 geolocation: $ref: '#/components/schemas/Geolocation' contactStaff: type: array items: $ref: '#/components/schemas/User' discriminator: propertyName: class PropertyExtended: allOf: - $ref: '#/components/schemas/Property' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' leaseHistory: type: array items: $ref: '#/components/schemas/LeaseHistory' saleHistory: type: array items: $ref: '#/components/schemas/SaleHistory' AddUpdateProperty: type: object properties: building: $ref: '#/components/schemas/ID' type: $ref: '#/components/schemas/ID' address: $ref: '#/components/schemas/UpdateAddress' referenceID: type: string keyID: type: string searchPrice: type: number format: float displayPrice: type: string heading: type: string description: type: string brochureDescription: type: string landArea: $ref: '#/components/schemas/Area' volumeNumber: type: string folioNumber: type: string corelogicId: type: integer format: int64 yearBuilt: type: integer format: int64 accessBy: type: array items: $ref: '#/components/schemas/ID' contactStaff: type: array items: $ref: '#/components/schemas/ID' discriminator: propertyName: class 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 floorArea: $ref: '#/components/schemas/Area' status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn ResidentialPropertyExtended: allOf: - $ref: '#/components/schemas/ResidentialProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' 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 floorArea: $ref: '#/components/schemas/Area' status: type: string enum: - prospect - appraisal ResidentialSaleProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - type: object properties: auctionDetails: $ref: '#/components/schemas/AuctionDetails' ResidentialSalePropertyExtended: allOf: - $ref: '#/components/schemas/ResidentialSaleProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' ResidentialLeaseProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - type: object properties: currentTenancy: $ref: '#/components/schemas/Tenancy' available: type: boolean ResidentialLeasePropertyExtended: allOf: - $ref: '#/components/schemas/ResidentialLeaseProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' AddUpdateResidentialSaleProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - type: object AddUpdateResidentialLeaseProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - type: object LandProperty: allOf: - $ref: '#/components/schemas/Property' - type: object properties: frontage: type: number format: float status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn auctionDetails: $ref: '#/components/schemas/AuctionDetails' LandPropertyExtended: allOf: - $ref: '#/components/schemas/LandProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' AddUpdateLandProperty: allOf: - $ref: '#/components/schemas/AddUpdateProperty' - type: object properties: frontage: type: number format: float status: type: string enum: - prospect - appraisal RuralProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - type: object properties: auctionDetails: $ref: '#/components/schemas/AuctionDetails' AddUpdateRuralProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - type: object RuralPropertyExtended: allOf: - $ref: '#/components/schemas/RuralProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' CommercialProperty: allOf: - $ref: '#/components/schemas/Property' - type: object properties: carSpaces: type: integer format: int64 floorArea: $ref: '#/components/schemas/Area' status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn CommercialPropertyExtended: allOf: - $ref: '#/components/schemas/CommercialProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' auctionDetails: $ref: '#/components/schemas/AuctionDetails' 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 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 auctionDetails: $ref: '#/components/schemas/AuctionDetails' BusinessPropertyExtended: allOf: - $ref: '#/components/schemas/BusinessProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' AddUpdateBusinessProperty: allOf: - $ref: '#/components/schemas/AddUpdateProperty' - type: object properties: floorArea: $ref: '#/components/schemas/Area' status: type: string enum: - prospect - appraisal HolidayRentalProperty: allOf: - $ref: '#/components/schemas/ResidentialProperty' - type: object HolidayRentalPropertyExtended: allOf: - $ref: '#/components/schemas/HolidayRentalProperty' - type: object properties: accessBy: type: array items: $ref: '#/components/schemas/Access' externalLinks: type: array items: $ref: '#/components/schemas/ExternalLink' AddUpdateHolidayRentalProperty: allOf: - $ref: '#/components/schemas/AddUpdateResidentialProperty' - 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: type: string class: $ref: '#/components/schemas/PropertyClass' ContactSearchResult: type: object properties: id: type: integer format: int64 name: type: string emails: type: array items: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' 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 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' 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' 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 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 unsubscribe: $ref: '#/components/schemas/Unsubscribe' emails: type: array items: type: string format: email phoneNumbers: type: array items: $ref: '#/components/schemas/PhoneNumber' legalDescription: type: string accessBy: type: array items: $ref: '#/components/schemas/ID' sourceOfEnquiry: $ref: '#/components/schemas/ID' AddContact: allOf: - $ref: '#/components/schemas/UpdateContact' - 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' suburbs: type: array items: $ref: '#/components/schemas/Suburb' type: type: string enum: - sale - lease - saleOrLease 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' suburbs: type: array items: $ref: '#/components/schemas/ID' type: type: string enum: - sale - lease - saleOrLease PropertyType: type: object properties: id: type: integer format: int64 name: type: string country: $ref: '#/components/schemas/Country' propertyClass: $ref: '#/components/schemas/PropertyClass' PropertyClass: type: object properties: id: type: integer format: int64 name: type: string Access: type: object properties: id: type: integer format: int64 name: type: string photo: $ref: '#/components/schemas/UserPhoto' 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 forecastStandardDeviation: type: number format: float 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 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 class: $ref: '#/components/schemas/PropertyClass' photo: $ref: '#/components/schemas/PropertyPhoto' UserSubscriptions: type: object properties: corelogic: 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 start: type: string format: date-time end: type: string format: date-time rentPaidUntil: type: string format: date-time PropertyFeedback: type: object properties: id: type: integer format: int64 note: $ref: '#/components/schemas/ContactNote' contact: $ref: '#/components/schemas/Contact' feedbackDate: type: string format: date-time priceOpinion: type: number format: float UpdatePropertyFeedback: type: object properties: note: $ref: '#/components/schemas/UpdateContactNote' contact: $ref: '#/components/schemas/ID' feedbackDate: type: string format: date-time priceOpinion: type: number format: float AddPropertyFeedback: type: object properties: note: $ref: '#/components/schemas/AddContactNote' contact: $ref: '#/components/schemas/ID' feedbackDate: type: string format: date-time priceOpinion: type: number format: float 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' 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 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 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 AddUpdateOpenHome: type: object properties: start: type: string format: date-time end: type: string format: date-time user: $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 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' TaskContact: type: object properties: id: type: integer format: int64 name: type: string AddUpdateTask: 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 - 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 saleLifeId: type: number format: int64 leaseLifeId: type: number format: int64 processed: type: boolean enquiryDate: type: string format: date-time 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 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' SMS: type: object properties: message: type: string number: type: string BulkSMS: type: object properties: contact: $ref: '#/components/schemas/ID' message: type: string number: 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 UpdatePortalStats: type: object properties: statDate: type: string format: date-time statType: type: string enum: - propertyView source: type: string saleLifeId: type: number format: int64 leaseLifeId: type: number format: int64 propertyReference: type: string total: type: number 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 AddEmailTemplate: 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 AddSMSTemplate: type: object properties: name: type: string content: type: string propertyTemplate: type: boolean accessBy: type: array items: $ref: '#/components/schemas/ID' LeaseHistory: type: object properties: lifeId: type: number format: int64 status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - management - withdrawn SaleHistory: type: object properties: lifeId: type: number format: int64 appraisal: type: string format: date-time listingAuthority: type: string format: date-time conditional: type: string format: date-time unconditional: type: string format: date-time settlement: type: string format: date-time status: type: string enum: - prospect - appraisal - listing - conditional - unconditional - settled - withdrawn PhotoTag: type: object properties: confidence: type: number format: float name: type: string AccountFranchise: type: object properties: id: type: integer format: int64 name: type: string 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 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 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 securitySchemes: Api-Key: type: apiKey name: X-Api-Key in: header Bearer: type: apiKey description: Use format 'Bearer [token]' name: Authorization in: header