openapi: "3.0.3"
info:
title: "Projects API"
description: |
PEXA Projects External Client API for Projects
This API uses the OAuth 2.0 protocol for authentication and authorization. It supports the following OAuth 2.0 flows:
- Client Credentials
- Authorization Code
Scopes are used to grant an application different levels of access to data. Each API endpoint will require specific scopes.
The scopes are listed against each API endpoint.
For more information, see the following guides:
- [Authentication](../../../Exchange/docs/documentation/)
version: v4
x-api-version: "4.0.0"
contact:
name: "PEXA Projects"
email: pexaprojects-prdsupport@pexa.com.au
x-pexa-products:
- pexa-projects
tags:
- name: Project
x-idp-config:
consumer-claim: azp
scopes-claim: scope
x-disable-subscription: "off"
x-protected-view: "off"
x-rate-limits:
limit: 200
window_size: 60
window_type: sliding
x-service-limits:
limit: 200
window_size: 60
window_type: sliding
# Defing dynamic hosts for APIM
#
# {% if apim_hosts is defined %}
x-apim-hosts: # {%- for host in apim_hosts %}
- '{{ host }}' # {% endfor %}
#{% else %}
# apim_hosts is not defined
#{% endif %}
#
servers:
- url: '{{ service.url }}'
paths:
/v4/projects:
post:
operationId: "createProject"
security:
- oauth2:
- au:projects:project:write
summary: Create Project
description: Create a new project
Scopes:
au:projects:project:write
tags:
- Project
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
examples:
"NSW":
$ref: "#/components/examples/NswProjectRequest"
"VIC":
$ref: "#/components/examples/VicProjectRequest"
"QLD":
$ref: "#/components/examples/QldProjectRequest"
"SA":
$ref: "#/components/examples/SaProjectRequest"
responses:
"201":
description: Successfully created a project
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
examples:
"NSW":
$ref: "#/components/examples/NswProjectResponse"
"VIC":
$ref: "#/components/examples/VicProjectResponse"
"QLD":
$ref: "#/components/examples/QldProjectResponse"
"SA":
$ref: "#/components/examples/SaProjectResponse"
"400":
$ref: "#/components/responses/ErrorResponse"
"401":
$ref: "#/components/responses/ErrorResponse"
"403":
$ref: "#/components/responses/ErrorResponse"
"500":
$ref: "#/components/responses/ErrorResponse"
/v4/projects/{projectId}:
put:
operationId: "updateProject"
security:
- oauth2:
- au:projects:project:write
summary: Update Project
description: Update an existing project
Scopes:
au:projects:project:write
tags:
- Project
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: Id of the project to update
example: 1234
schema:
type: integer
format: int64
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
examples:
"NSW":
$ref: "#/components/examples/NswProjectRequest"
"VIC":
$ref: "#/components/examples/VicProjectRequest"
"QLD":
$ref: "#/components/examples/QldProjectRequest"
"SA":
$ref: "#/components/examples/SaProjectRequest"
responses:
"200":
description: Successfully updated a project
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
examples:
"NSW":
$ref: "#/components/examples/NswProjectResponse"
"VIC":
$ref: "#/components/examples/VicProjectResponse"
"QLD":
$ref: "#/components/examples/QldProjectResponse"
"SA":
$ref: "#/components/examples/SaProjectResponse"
"400":
$ref: "#/components/responses/ErrorResponse"
"401":
$ref: "#/components/responses/ErrorResponse"
"403":
$ref: "#/components/responses/ErrorResponse"
"500":
$ref: "#/components/responses/ErrorResponse"
/v4/projects/{projectId}/statuses:
get:
operationId: "statuses"
security:
- oauth2:
- au:projects:status:read
tags:
- Project
description: Fetch the status details for a project
Scopes:
au:projects:status:read
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: Id of the project to find status details for
example: 1234
schema:
type: integer
format: int64
responses:
'200':
description: Status details for a project
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectStatus'
examples:
"Status":
$ref: '#/components/examples/ProjectStatusResponse'
"400":
$ref: "#/components/responses/ErrorResponse"
"401":
$ref: "#/components/responses/ErrorResponse"
"403":
$ref: "#/components/responses/ErrorResponse"
"500":
$ref: "#/components/responses/ErrorResponse"
/v4/projects/{projectId}/workspaces:
get:
operationId: "workspaces"
security:
- oauth2:
- au:projects:workspaces:read
tags:
- Project
description: Fetch the list of workspaces of a project
Scopes:
au:projects:workspaces:read
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: Id of the project to list workspaces for
example: 1234
schema:
type: integer
format: int64
responses:
'200':
description: The list of workspaces of a project
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProjectsWorkspace'
examples:
"ListOfOne":
$ref: '#/components/examples/WorkspacesResponse'
"400":
$ref: "#/components/responses/ErrorResponse"
"401":
$ref: "#/components/responses/ErrorResponse"
"403":
$ref: "#/components/responses/ErrorResponse"
"500":
$ref: "#/components/responses/ErrorResponse"
post:
operationId: 'createWorkspace'
security:
- oauth2:
- au:projects:workspaces:write
tags:
- Workspaces
description: Create a new workspace for an existing Project
Scopes:
au:projects:workspaces:write
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: 'Id of the project to create a workspace for'
example: 1234
schema:
type: integer
format: int64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace'
responses:
'201':
description: 'Workspace created'
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace'
'400':
description: Invalid request
content:
application/json:
schema:
type: object
properties:
exceptionList:
type: array
items:
type: object
properties:
code:
type: string
message:
type: string
example:
{
exceptionList: [
{
code: 'OB0001.000',
message: 'The request is invalid'
}
]
}
/v4/projects/{projectId}/workspaces/{pexaWorkspaceId}:
put:
operationId: "updateWorkspace"
security:
- oauth2:
- au:projects:workspaces:write
summary: Update a workspace
description: Updates a workspace of a given project with parameters 'projectId', 'pexaWorkspaceId' and 'payload'
Scopes:
au:projects:workspaces:write
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: 'Id of the project to update workspaces for'
example: 1234
schema:
type: integer
format: int64
- name: pexaWorkspaceId
in: path
required: true
description: 'The workspace update'
example: 'PEXA12345'
schema:
type: string
requestBody:
description: workspaceUpdate Response
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkspaceRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkspaceResponse'
'401':
$ref: "#/components/responses/ErrorResponse"
'403':
$ref: "#/components/responses/ErrorResponse"
'404':
$ref: "#/components/responses/ErrorResponse"
'500':
$ref: "#/components/responses/ErrorResponse"
deprecated: false
/v4/projects/{projectId}/workspaces/{workspaceId}/financials:
post:
operationId: "createFinancials"
security:
- oauth2:
- au:projects:workspaces:write
summary: Create Financial Settlement Line Items
description: Add financial settlement line items to an existing workspace
Scopes:
au:projects:workspaces:write
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: 'Id of the project to upload financials for'
example: 1234
schema:
type: integer
format: int64
- name: workspaceId
in: path
required: true
description: 'The workspace to upload financials for'
example: 'PEXA12345'
schema:
type: string
requestBody:
description: settlementUploadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/SettlementUploadRequest'
required: true
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SettlementUploadResponse'
'401':
$ref: "#/components/responses/ErrorResponse"
'403':
$ref: "#/components/responses/ErrorResponse"
'404':
$ref: "#/components/responses/ErrorResponse"
'500':
$ref: "#/components/responses/ErrorResponse"
deprecated: false
x-codegen-request-body-name: settlementUploadRequest
/v4/projects/{projectId}/workspaces/{workspaceId}/parties:
post:
operationId: "addParties"
security:
- oauth2:
- au:projects:workspaces:write
summary: Add Parties
description: Add parties to an existing workspace
Scopes:
au:projects:workspaces:write
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: 'Id of the project to add parties for'
example: 1234
schema:
type: integer
format: int64
- name: workspaceId
in: path
required: true
description: 'Id of the workspace to add parties for'
example: 'PEXA12345'
schema:
type: string
requestBody:
description: Create parties request body
content:
application/json:
schema:
$ref: '#/components/schemas/AddPartiesRequest'
required: true
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AddPartiesResponse'
'401':
$ref: "#/components/responses/ErrorResponse"
'403':
$ref: "#/components/responses/ErrorResponse"
'404':
$ref: "#/components/responses/ErrorResponse"
'500':
$ref: "#/components/responses/ErrorResponse"
deprecated: false
x-codegen-request-body-name: createPartiesRequest
put:
operationId: "updateParties"
security:
- oauth2:
- au:projects:workspaces:write
summary: Update Parties
description: Update parties on an existing workspace
Scopes:
au:projects:workspaces:write
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: 'Id of the project to update parties for'
example: 1234
schema:
type: integer
format: int64
- name: workspaceId
in: path
required: true
description: 'Id of the workspace to update parties for'
example: 'PEXA12345'
schema:
type: string
requestBody:
description: Update parties request body
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePartiesRequest'
required: true
responses:
'204':
description: NO CONTENT
'401':
$ref: "#/components/responses/ErrorResponse"
'403':
$ref: "#/components/responses/ErrorResponse"
'404':
$ref: "#/components/responses/ErrorResponse"
'500':
$ref: "#/components/responses/ErrorResponse"
deprecated: false
x-codegen-request-body-name: updatePartiesRequest
delete:
operationId: "deleteParties"
security:
- oauth2:
- au:projects:workspaces:write
summary: Delete Parties
description: Delete parties on an existing workspace
Scopes:
au:projects:workspaces:write
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: 'Id of the project to remove parties for'
example: 1234
schema:
type: integer
format: int64
- name: workspaceId
in: path
required: true
description: 'Id of the workspace to remove parties for'
example: 'PEXA12345'
schema:
type: string
requestBody:
description: Delete parties request body
content:
application/json:
schema:
$ref: '#/components/schemas/DeletePartiesRequest'
required: true
responses:
'204':
description: NO CONTENT
'401':
$ref: "#/components/responses/ErrorResponse"
'403':
$ref: "#/components/responses/ErrorResponse"
'404':
$ref: "#/components/responses/ErrorResponse"
'500':
$ref: "#/components/responses/ErrorResponse"
deprecated: false
x-codegen-request-body-name: deletePartiesRequest
/v4/projects/{projectId}/workspaces/{workspaceId}/participants:
post:
operationId: "addParticipants"
security:
- oauth2:
- au:projects:workspaces:write
summary: Add Participants
description: Add participants to an existing workspace
Scopes:
au:projects:workspaces:write
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: 'Id of the project that the workspace resides in'
example: 1234
schema:
type: integer
format: int64
- name: workspaceId
in: path
required: true
description: 'The workspace to add participants to'
example: 'PEXA12345'
schema:
type: string
requestBody:
description: Add participants request body
content:
application/json:
schema:
$ref: '#/components/schemas/AddParticipantsRequest'
required: true
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AddParticipantsResponse'
'401':
$ref: "#/components/responses/ErrorResponse"
'403':
$ref: "#/components/responses/ErrorResponse"
'404':
$ref: "#/components/responses/ErrorResponse"
'500':
$ref: "#/components/responses/ErrorResponse"
deprecated: false
x-codegen-request-body-name: addParticipantsRequest
delete:
operationId: "deleteParticipants"
security:
- oauth2:
- au:projects:workspaces:write
summary: Delete Participants
description: Delete participants in an existing workspace
Scopes:
au:projects:workspaces:write
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: 'Id of the project that the workspace resides in'
example: 1234
schema:
type: integer
format: int64
- name: workspaceId
in: path
required: true
description: 'The workspace to delete participants from'
example: 'PEXA12345'
schema:
type: string
requestBody:
description: Delete participants request body
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteParticipantsRequest'
required: true
responses:
'204':
description: No Content
'401':
$ref: "#/components/responses/ErrorResponse"
'403':
$ref: "#/components/responses/ErrorResponse"
'404':
$ref: "#/components/responses/ErrorResponse"
'500':
$ref: "#/components/responses/ErrorResponse"
deprecated: false
/v4/projects/{projectId}/workspaces/{pexaWorkspaceId}/settlementDates:
post:
operationId: "proposeSettlement"
security:
- oauth2:
- au:projects:workspaces:write
summary: Propose Settlement Date
description: Propose a settlement date to an existing workspace
Scopes:
au:projects:workspaces:write
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: projectId
in: path
required: true
description: 'Id of the project that the workspace resides in'
example: 1234
schema:
type: integer
format: int64
- name: pexaWorkspaceId
in: path
required: true
description: 'The workspace to propose settlement date for'
example: 'PEXA12345'
schema:
type: string
requestBody:
description: Propose Settlement request body
content:
application/json:
schema:
$ref: '#/components/schemas/ProposeSettlementRequest'
required: true
responses:
'204':
description: No Content
'401':
$ref: "#/components/responses/ErrorResponse"
'403':
$ref: "#/components/responses/ErrorResponse"
'404':
$ref: "#/components/responses/ErrorResponse"
'500':
$ref: "#/components/responses/ErrorResponse"
deprecated: false
/v4/projects/notifications:
get:
operationId: "notification"
security:
- oauth2:
- au:projects:notification:read
tags:
- Notification
description: Fetch notifications
Scopes:
au:projects:notification:read
parameters:
- $ref: '#/components/parameters/RequestCorrelationIdHeader'
- name: categoryList
in: query
required: false
description: The notification category the results will return. Each value must be separated with a comma (,) with no spaces. If not provided, PEXA will return all notification category types.
example: 'Document'
schema:
type: string
- name: lastEventId
in: query
required: true
description: 'The PEXA internal reference for the event. This value must match the last Event Id which was provided in the previous notification response from PEXA. Note: If a Last Event Id has yet to be obtained, the value must be 0. If the Last Event ID value does not correspond to the Last Event Timestamp recorded in PEXA, an exception will be returned. Maximum 19 characters.'
example: '1213'
schema:
type: string
- name: lastEventTimestamp
in: query
required: true
description: 'The timestamp of the last event previously retrieved which the results will be filtered from (in UTC). Note: The Last Event Timestamp is used in conjunction with the Last Event ID for retrieving notifications. The Last Event Timestamp value in the request should match the Last Event Timestamp value which was provided in the previous notification response from PEXA. If the Last Event Timestamp value does not correspond to the Last Event Id recorded in PEXA, an exception will be returned.'
example: '2018-11-18T02:30:20.283Z'
schema:
type: string
- name: maxRecords
in: query
required: false
description: 'Used to specify the maximum number of notification records to be returned in a single service call. PEXA will set an internal threshold for a maximum number of records to be returned. If the PEXA threshold is less than the max number of records provided, PEXA will return its threshold number of records (with the More Data flag set to indicate there are more notification records where applicable). If no value is provided, the PEXA threshold will be used as the default number for notification records to be received. If a value is provided, it must be greater than 0.'
example: '2'
schema:
type: string
pattern: '[0-9]+'
- name: severity
in: query
required: false
description: 'The notification severity the results will return. If not provided, PEXA will return all notification severity types.'
example: 'Error'
schema:
type: string
responses:
'200':
description: Status details for a project
content:
application/json:
schema:
$ref: '#/components/schemas/RetrieveNotificationsResponse'
"400":
$ref: "#/components/responses/ErrorResponse"
"401":
$ref: "#/components/responses/ErrorResponse"
"403":
$ref: "#/components/responses/ErrorResponse"
"500":
$ref: "#/components/responses/ErrorResponse"
components:
parameters:
RequestCorrelationIdHeader:
description: A unique request id provided by api caller to support end-to-end troubleshooting and tracing
in: header
name: X-Request-Correlation-Id
schema:
type: string
format: UUID
example: 123e4567-e89b-12d3-a456-426614174000
responses:
ErrorResponse:
description: Error Response
content:
application/json:
schema:
$ref: "#/components/schemas/Errors"
securitySchemes:
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: 'https://host.kubernetes.internal/auth/realms/pexa/protocol/openid-connect/auth'
tokenUrl: 'https://host.kubernetes.internal/auth/realms/pexa/protocol/openid-connect/token'
scopes:
au:projects:project:write: Grant project write access
au:projects:status:read: Grant project status read access
au:projects:workspaces:read: Grant project workspaces read access
clientCredentials:
tokenUrl: 'https://host.kubernetes.internal/auth/realms/pexa/protocol/openid-connect/token'
scopes:
au:projects:project:write: Grant project write access
au:projects:status:read: Grant project status read access
au:projects:workspaces:read: Grant project workspaces read access
schemas:
Errors:
description: List of errors related to the API
type: object
properties:
exceptionList:
type: array
items:
allOf:
- $ref: "#/components/schemas/Error"
Error:
description: Error related to the API
type: object
properties:
code:
description: Error code
type: string
example: "OB0001.000"
message:
description: Error message
type: string
example: "The request is invalid"
details:
description: Optional list of error details
type: array
items:
type: string
description: Error details
Project:
description: "Object with all required details for a Project"
type: object
required:
- projectName
- jurisdiction
- workgroupId
- parentTitle
- supplierApplicable
- withMortgageeOnTitles
- intentionToLock
- projectStages
- settlementRestriction
properties:
projectName:
type: string
description: "The Name of the project"
pattern: ^[\w\s\-!@#$%^&*()+={}\[\]|:;',.?/~`]+$
maxLength: 150
jurisdiction:
$ref: "#/components/schemas/Jurisdiction"
workgroupId:
description: "The Workgroup id that the project will belongs to"
type: integer
format: int64
estimatedSettlementDate:
type: string
description: "The Estimated Settlement Date of the project"
format: string
parentTitle:
type: string
description: "The Parent Land Title"
format: string
minLength: 1
proprietorOnTitle:
description: "List of Proprietor(s) on Title"
type: array
items:
description: "A proprietor on title"
type: string
supplierApplicable:
type: boolean
description: "Is the Supplier Details section mandatory?"
supplierDetails:
$ref: "#/components/schemas/SupplierDetails"
withMortgageeOnTitles:
type: boolean
description: "Is there a mortgage registered on the title?"
mortgageeOnTitles:
type: array
items:
$ref: "#/components/schemas/MotParticipants"
intentionToLock:
type: boolean
description: "Do you intend to restrict account(s) this project can disburse to?"
example: true
projectStages:
type: boolean
description: "Do you intend to have more than one stage to this project?"
example: false
settlementRestriction:
type: boolean
description: "Do you intend to restrict Incoming Proprietor Representative(s) from proposing the settlement date?"
example: true
nswPropertyDetails:
$ref: "#/components/schemas/NswPropertyDetails"
qldPropertyDetails:
$ref: "#/components/schemas/QldPropertyDetails"
vicPropertyDetails:
$ref: "#/components/schemas/VicPropertyDetails"
id:
readOnly: true
type: integer
format: int64
description: "The id of the project"
projectStatus:
readOnly: true
type: string
description: "The project status"
historicalParentTitles:
readOnly: true
type: array
description: "All historical parent titles of project"
items:
description: "A historical parent title"
type: string
workspacesCreated:
readOnly: true
type: boolean
description: "If workspaces have been created for this project"
# Property details for each jurisdiction
QldPropertyDetails:
type: object
description: "Property details for the QLD jurisdiction"
properties:
currentLandUse:
$ref: "#/components/schemas/CurrentLandUse"
marginScheme:
type: boolean
description: "Is the transaction under the margin scheme?"
safetySwitch:
$ref: "#/components/schemas/SafetySwitch"
smokeAlarm:
$ref: "#/components/schemas/SmokeAlarm"
NswPropertyDetails:
type: object
description: "Property details for the NSW jurisdiction"
properties:
locality:
description: "The name assigned to a government administrative district, such as a Parish, County or Local Government Area."
type: string
natureOfProperty:
type: string
description: "Specify the use of the property being dealt with"
pattern: "Carspace|Commercial|Factory|Marine berth|Office|Residence|Shop|Vacant land|Warehouse"
VicPropertyDetails:
type: object
description: "Property details for the VIC jurisdiction"
required:
- restrictiveCovenant
properties:
restrictiveCovenant:
description: "A restrictive covenant is a private treaty or written agreement between landowners that limits the way land can be used and developed"
type: boolean
covenantMcpRef:
type: string
description: "The covenant MCP reference"
maxLength: 150
covenantMcpExpiryDate:
type: string
description: "Some restrictive covenant have a lapse date or a date when they end. Most don't! That means the restriction apply to the land even if it's sold multiple times, the convenant will remain on title until it is removed."
pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
municipalityName:
type: string
description: "Council name. For example - Bendigo council, Ballarat council etc"
pattern: "Alpine Shire Council|Ararat Rural City Council|Ballarat City Council|Banyule City Council|Bass Coast Shire Council|Baw Baw Shire Council|Bayside City Council|Benalla Rural City Council|Boroondara City Council|Brimbank City Council|Buloke Shire Council|Campaspe Shire Council|Cardinia Shire Council|Casey City Council|Central Goldfield Shire Council|Colac Otway Shire Council|Corangamite Shire Council|Darebin City Council|East Gippsland Shire Council|Frankston City Council|French Island|Gannawarra Shire Council|Glen Eira City Council|Glenelg Shire Council|Golden Plains Shire Council|Greater Bendigo City Council|Greater Dandenong City Council|Greater Geelong City Council|Greater Shepparton City Council|Hepburn Shire Council|Hindmarsh Shire Council|Hobsons Bay City Council|Horsham Rural City Council|Hume City Council|Indigo Shire Council|Kingston City Council|Knox City Council|Latrobe City Council|Loddon Shire Council|Macedon Ranges Shire Council|Manningham City Council|Mansfield Shire Council|Maribyrnong City Council|Maroondah City Council|Melbourne City Council|Melton City Council|Mildura Rural City Council|Mitchell Shire Council|Moira Shire Council|Monash City Council|Moonee Valley City Council|Moorabool Shire Council|Merri-bek City Council|Mornington Peninsula Shire Council|Mount Alexander Shire Council|Moyne Shire Council|Murrindindi Shire Council|Nillumbik Shire Council|Northern Grampians Shire Council|Port Phillip City Council|Pyrenees Shire Council|Queenscliffe - Borough of|South Gippsland Shire Council|Southern Grampians Shire Council|Stonnington City Council|Strathbogie Shire Council|Surf Coast Shire Council|Swan Hill Rural City Council|Towong Shire Council|Wangaratta Rural City Council|Warrnambool City Council|Wellington Shire Council|West Wimmera Shire Council|Whitehorse City Council|Whittlesea City Council|Wodonga Rural City Council|Wyndham City Council|Yarra City Council|Yarra Ranges Shire Council|Yarriambiack Shire Council"
natureOfProperty:
type: string
description: "Type of property. Example - Residential, Vacant land, Commercial etc"
pattern: "Residential vacant land|Residential|Commercial|Industrial|Extractive industries|Primary production|Infrastructure|Community services|Sport"
primaryLandUse:
$ref: "#/components/schemas/PrimaryLandUse"
primaryConstructionType:
$ref: "#/components/schemas/PrimaryConstructionType"
QldWorkspaceDetails:
type: object
description: "Workspace details for the QLD jurisdiction"
properties:
cashAmount:
type: number
format: decimal
description: 'The cash amount for the transaction'
minimum: 0
example: 50000.00
depositPaid:
type: number
format: decimal
description: 'The deposit amount paid'
minimum: 0
example: 25000.00
vendorTermsAmount:
type: number
format: decimal
description: 'The vendor terms amount'
minimum: 0
example: 10000.00
liabilitiesAmount:
type: number
format: decimal
description: 'The liabilities amount'
minimum: 0
example: 5000.00
contractRebateAmount:
type: number
description: 'The contract rebate amount'
minimum: 0
example: 2000.00
agreementDate:
type: string
format: date
description: 'The agreement/contract of sale date'
example: '2024-01-15'
dateOfPossession:
type: string
format: date
description: 'The date of possession'
example: '2024-12-29'
Jurisdiction:
type: string
description: "Jurisdiction"
pattern: "ACT|NSW|VIC|WA|QLD|SA|TAS"
SupplierDetails:
type: object
description: "Details for the supplier"
required:
- name
- phone
- abn
- addressLine1
- suburb
- postcode
- state
- email
properties:
name:
type: string
description: "Supplier's name"
pattern: ^[a-zA-Z0-9\s-`!@#$&(){}_=\\\[\]|;:',.?\/"]+$
maxLength: 200
phone:
type: string
description: "Supplier's phone number"
pattern: ^[0-9]+$
maxLength: 19
abn:
type: string
description: "Supplier's ABN containing 11 digits"
pattern: ^(?:\s*\d\s*){11}$
addressLine1:
description: "Supplier's first address line"
type: string
pattern: ^[a-zA-Z0-9\s()&'/-]+$
maxLength: 38
addressLine2:
type: string
description: "Supplier's second address line"
pattern: ^[a-zA-Z0-9\s()&'/-]+$
maxLength: 38
suburb:
type: string
description: "Supplier's suburb"
pattern: ^[a-zA-Z0-9\s()&'/-]+$
maxLength: 46
postcode:
type: string
description: "Supplier's postcode"
pattern: ^[0-9]{4}$
maxLength: 4
state:
$ref: "#/components/schemas/Jurisdiction"
email:
type: string
description: "Supplier's email address"
pattern: ^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
maxLength: 200
SafetySwitch:
type: object
description: "A safety switch is a device that quickly switches off the electric supply if an electric fault is detected, to minimise the risk of electricity -related fires, electric shock, injury to death. In QLD, it's a legal requirement for all properties to have an electrical safety switch installed. When selling your property you must disclose whether a safety switch is installed in the property on the contract of sale, as well as on the property transfer document"
properties:
installed:
type: boolean
description: "Electrical safety switch installed"
informed:
type: boolean
description: "Transferee has been informed in writing about its existence"
SmokeAlarm:
type: object
description: "Smoke alarm are the devices that are able to detect smoke in the event of a fire and sound an alarm to alert people to the potential danger. In QLD, it's a legal requirement that the seller is required to complete prior to the buyer signing the contract, stating whether the property is fitted with compliant smoke alarms"
properties:
installed:
type: boolean
description: "Compliant smoke alarm/s installed"
informed:
type: boolean
description: "Transferee has been informed in writing about its existence"
MotParticipants:
type: object
description: "Details on incoming mortgagees"
required:
- participantName
- subscriberName
- subscriberId
properties:
dealingNumber:
type: string
description: "It is the Land Registry document number. This number is supplied by your land registry and can be used as your reference in any further communications with the Registry. Numbers begins with 2 or 3 letters following by a number. The letters identify the county in which the property is situate, e.g. VIC52825 denotes a property in Victoria"
participantName:
description: "Name of PEXA subscriber involved in Property transaction"
type: string
subscriberId:
type: string
description: "Id of the mortgagee as listed in PEXA Exchange"
subscriberName:
type: string
description: "Lender name - an entity that lends money to a borrower for the purpose of purchasing real estate. Normally it’s the bank. It is the name of the Mortgagee registered on parent title"
CurrentLandUse:
type: string
description: "Current land use"
pattern: "Vacant Land|Dwelling|Multi Unit|Flats|Guest House Private Hotel|Farming|Industrial|Commercial|Other"
PrimaryConstructionType:
type: string
description: "Material used to construct the property. Example - Timber, Brick etc"
pattern: "Not applicable|Brick|Brick Veneer|Fibro|Timber|OTHER"
PrimaryLandUse:
type: string
description: "For which purpose the land will be used for. Example - dwelling, carpark, flat multi-storey etc"
ProjectStatus:
type: object
description: Status details of a project
properties:
jurisdiction:
$ref: '#/components/schemas/Jurisdiction'
proprietorOnTitles:
description: 'List of Proprietor(s) on Title'
type: array
items:
description: 'A proprietor on title'
type: string
parentTitle:
type: string
description: 'The Parent Land Title'
format: string
mortgageeNames:
description: 'List of Mortgagee(s) on Title'
type: array
items:
description: 'A mortgagee on title'
type: string
estimatedSettlementDate:
type: string
description: 'The Estimated Settlement Date of the project'
format: string
invitationAcceptance:
type: object
description: 'The status of invitation acceptance'
properties:
incomingMortgagee:
$ref: '#/components/schemas/InvitationAcceptanceStatus'
mortgageeOnTitle:
$ref: '#/components/schemas/InvitationAcceptanceStatus'
incomingProprietor:
$ref: '#/components/schemas/InvitationAcceptanceStatus'
settlementDateAcceptance:
type: object
description: 'The status of settlement date acceptance'
properties:
incomingMortgagee:
$ref: '#/components/schemas/SettlementDateAcceptanceStatus'
mortgageeOnTitle:
$ref: '#/components/schemas/SettlementDateAcceptanceStatus'
incomingProprietor:
$ref: '#/components/schemas/SettlementDateAcceptanceStatus'
workspaceStatus:
$ref: '#/components/schemas/WorkspaceCountsByStatuses'
WorkspaceCountsByStatuses:
type: object
description: 'Counts for various properties of workspaces under the project'
properties:
allActive:
description: 'Count of all active workspaces'
type: integer
format: int64
settlingToday:
description: 'Count of workspaces settling today'
type: integer
format: int64
completed:
description: 'Count of completed workspaces'
type: integer
format: int64
withdrawn:
description: 'Count of withdrawn workspaces'
type: integer
format: int64
all:
description: 'Count of workspaces'
type: integer
format: int64
awaitingDigitalSignature:
description: 'Count of workspaces that are awaiting digital signatures'
type: integer
format: int64
InvitationAcceptanceStatus:
type: object
description: 'Counts of the various statuses for an invitation'
properties:
accepted:
description: 'Count of accepted invitations'
type: integer
format: int64
pending:
description: 'Count of pending invitations'
type: integer
format: int64
declined:
description: 'Count of declined invitations'
type: integer
format: int64
notInvited:
description: 'Count of invitations that have not been sent'
type: integer
format: int64
SettlementDateAcceptanceStatus:
description: 'Counts for settlement date acceptance'
type: object
properties:
accepted:
description: 'Count of settlement dates that are accepted'
type: integer
format: int64
pending:
description: 'Count of settlement dates that are pending'
type: integer
format: int64
ProjectsWorkspace:
type: object
description: Details of a workspace
properties:
workspaceId:
type: string
description: 'The id of the workspace'
format: string
subscriberReference:
type: string
description: 'The subscriber reference'
format: string
unregisteredLotNumbers:
type: array
description: 'The lot numbers on unregistered plan'
items:
description: 'An unregistered lot number'
type: string
childTitles:
type: array
description: 'The list of child titles'
items:
description: 'A child title'
type: string
participantRepresentativeData:
type: object
description: 'The details of the participant representatives'
properties:
incomingMortgagee:
type: array
description: 'The list of participant representatives for incoming mortgagee'
items:
description: 'The name of a participant representative for incoming mortgagee'
type: string
mortgageeOnTitle:
type: array
description: 'The list of participant representatives for mortgagee on title'
items:
description: 'The name of a participant representative for mortgagee on title'
type: string
incomingProprietor:
type: array
description: 'The list of participant representatives for incoming proprietor'
items:
description: 'The name of a participant representative for incoming proprietor'
type: string
proprietorOnTitle:
type: array
description: 'The list of participant representatives for proprietor on title'
items:
description: 'The name of a participant representative for proprietors on title'
type: string
unrepresentedPartyData:
type: object
description: 'The details of the unrepresented parties'
properties:
incomingMortgagee:
type: array
description: 'The list of unrepresented parties for incoming mortgagee'
items:
description: 'The name of an unrepresented party for incoming mortgagee'
type: string
mortgageeOnTitle:
type: array
description: 'The list of unrepresented parties for mortgagee on title'
items:
description: 'The name of an unrepresented party for mortgagee on title'
type: string
incomingProprietor:
type: array
description: 'The list of unrepresented parties for incoming proprietor'
items:
description: 'The name of an unrepresented party for incoming proprietor'
type: string
proprietorOnTitle:
type: array
description: 'The list of unrepresented parties for proprietor on title'
items:
description: 'The name of an unrepresented party for proprietors on title'
type: string
lodgementStatus:
type: string
description: 'The lodgement status'
format: string
settlementStatus:
type: string
description: 'The settlement status'
format: string
settlementDate:
type: string
description: 'The settlement date (format: YYYY-MM-DD, for example, 2023-01-25)'
format: date
settlementDateAcceptance:
type: object
description: 'The status of settlement date acceptance'
properties:
status:
$ref: '#/components/schemas/SettlementDateStatus'
statusDetails:
type: object
description: 'The status of settlement date acceptance by participants'
properties:
acceptanceByIncomingMortgageeReps:
$ref: '#/components/schemas/ParticipantSettlementDateStatus'
acceptanceByMortgageeOnTitleReps:
$ref: '#/components/schemas/ParticipantSettlementDateStatus'
acceptanceByIncomingProprietorReps:
$ref: '#/components/schemas/ParticipantSettlementDateStatus'
financialData:
type: object
description: 'The financial details of the workspace'
properties:
gstWithholdingStatus:
$ref: '#/components/schemas/GstWithholdingStatus'
grossConsideration:
type: string
description: 'The gross consideration amount'
format: string
vendorFunds:
type: string
description: 'The vendor funds amount'
format: string
payoutAmount:
type: string
description: 'The payout amount'
format: string
balanced:
type: boolean
description: 'Whether the workspace is balanced'
Workspace:
type: object
description: 'Object with all required details for a workspace'
required:
- subscriberReference
- unregisteredLotNumbers
properties:
subscriberReference:
description: 'Reference for the subscriber to refer to the workspace'
type: string
example: 'test_workspace_001'
unregisteredLotNumbers:
type: array
description: 'Unregistered lot numbers to be used in the workspace'
minItems: 1
maxItems: 333 # magic number from exchange
items:
description: 'An unregistered lot number'
type: string
example: '1001'
childTitles:
type: array
description: 'Child titles to be used in the workspace'
items:
description: 'A child title'
type: string
example: '01/1001'
grossConsiderationAmount:
type: number
format: decimal
description: 'The gross consideration amount for the workspace'
example: 1000000.00
incomingProprietors:
type: array
description: 'Details for any Incoming Proprietors'
items:
$ref: '#/components/schemas/IncomingProprietor'
qldWorkspaceDetails:
$ref: "#/components/schemas/QldWorkspaceDetails"
workspaceId:
type: string
description: The workspace id
example: 'PEXA123456789'
readOnly: true
workspaceStatus:
type: string
description: 'The current status of the workspace'
example: "In Preparation"
readOnly: true
GstWithholdingStatus:
type: string
description: >
The status of GST withholding.
Can be one of the following:
* MATCHING - Form one lodged via PEXA and GST line item created
* MANUAL - Form one not lodged via PEXA but GST line item created
* NOT_LODGED - Form one not lodged via PEXA and no GST line item created
* MISMATCH - Incorrect PRN and/or GST amount entered
format: string
SettlementDateStatus:
type: string
description: >
The overall status of settlement date acceptance.
Can be one of the following:
* ACCEPTED - All Accepted
* PARTIALLY_ACCEPTED - Pending others
* PENDING - Pending
* NO_ACCEPTANCE - No acceptance
format: string
ParticipantSettlementDateStatus:
type: string
description: >
The status of settlement date acceptance by a participant.
Can be one of the following:
* ACCEPTED - Accepted
* PENDING - Awaiting Response
format: string
IncomingProprietor:
type: object
description: 'Details for an Incoming Proprietor'
required:
- subscriberId
- subscriberName
properties:
subscriberId:
description: 'The subscriber id of the Incoming Proprietor'
type: integer
format: int64
example: 1000
subscriberName:
description: 'The name of the Incoming Proprietor'
type: string
example: 'Example Bank'
UpdateWorkspaceRequest:
type: object
description: Request to update a workspace
properties:
newSubscriberReference:
type: string
description: New subscriber reference to use for the workspace
example: 'Workspace123'
childTitles:
type: array
description: List of child titles to add to the workspace
items:
description: 'Child title'
type: string
example: '1001'
UpdateWorkspaceResponse:
type: object
description: Response to updating a workspace
properties:
workspaceId:
type: string
description: The id of the updated workspace
example: 'PEXA1234'
subscriberReference:
type: string
description: The updated subscriber reference
childTitles:
type: array
description: List of child titles used in the workspace
items:
description: 'Child title'
type: string
example: '1001'
SettlementUploadRequest:
title: SettlementUploadRequest
type: object
properties:
role:
type: string
schedule:
$ref: '#/components/schemas/Schedule'
Schedule:
title: Schedule
type: object
properties:
lineItems:
type: array
items:
$ref: '#/components/schemas/Schedule.LineItem'
Schedule.LineItem:
title: Schedule.LineItem
type: object
properties:
accountDetails:
$ref: '#/components/schemas/Schedule.LineItem.AccountDetails'
associatedSubscriber:
type: string
category:
type: string
customCategory:
type: string
clientName:
type: string
transactionDescription:
type: string
verified:
type: string
verifiedBy:
type: string
type:
type: string
value:
type: number
Schedule.LineItem.AccountDetails:
title: Schedule.LineItem.AccountDetails
type: object
properties:
destination:
$ref: '#/components/schemas/Schedule.LineItem.AccountDetails.Destination'
source:
$ref: '#/components/schemas/Schedule.LineItem.AccountDetails.Source'
Schedule.LineItem.AccountDetails.Destination:
title: Schedule.LineItem.AccountDetails.Destination
type: object
properties:
account:
$ref: '#/components/schemas/Schedule.LineItem.AccountDetails.Destination.Account'
bpay:
$ref: '#/components/schemas/Schedule.LineItem.AccountDetails.Destination.BPay'
officeAccount:
type: string
preverifiedAccount:
type: string
Schedule.LineItem.AccountDetails.Destination.Account:
title: Schedule.LineItem.AccountDetails.Destination.Account
type: object
properties:
accountBsb:
type: string
accountName:
type: string
accountNumber:
type: string
Schedule.LineItem.AccountDetails.Destination.BPay:
title: Schedule.LineItem.AccountDetails.Destination.BPay
type: object
properties:
billerCode:
type: string
reference:
type: string
Schedule.LineItem.AccountDetails.Source:
title: Schedule.LineItem.AccountDetails.Source
type: object
properties:
defaultAccount:
type: string
preverifiedAccount:
type: string
SettlementUploadResponse:
title: SettlementUploadResponse
type: object
properties:
warning:
$ref: '#/components/schemas/WarningResponseType'
WarningResponseType:
title: WarningResponseType
type: object
properties:
code:
type: string
message:
type: string
AddPartiesRequest:
title: AddPartiesRequest
type: object
description: Request to add parties to an existing workspace
properties:
parties:
type: array
items:
$ref: '#/components/schemas/Party'
Party:
type: object
description: A party
required:
- role
- partyType
- name
properties:
role:
description: Role of the party
type: string
example: 'Incoming Proprietor'
partyType:
description: Party type of the party
type: string
example: 'Individual'
acn:
type: string
description: Australian Company Number
example: '1240085616'
acln:
type: string
description: Australian Credit Licence Number
example: '111111'
name:
type: string
description: Name of the party
example: 'Business Name'
arbn:
type: string
description: Australian Registered Body Number
example: '123456789'
abn:
type: string
description: Australian Business Number
example: '12345678912'
administrationStatuses:
type: array
maxItems: 2
items:
type: string
description: The administration status
example: 'Administrator appointed'
organisationType:
type: string
description: The type of organisation
example: 'Incorporated Association'
AddPartiesResponse:
title: CreatePartiesRequest
description: Response when adding parties
type: object
properties:
pexaWorkspaceId:
type: string
example: 'PEXA12345'
description: Workspace Id as used in Exchange
parties:
type: array
description: A list of parties in the workspace
items:
$ref: '#/components/schemas/PartyResponse'
PartyResponse:
type: object
description: Response object for a party
properties:
name:
type: string
description: The name of the individual or organisation
example: 'Business Name'
partyId:
type: string
description: The id of the party
example: '1234'
role:
type: string
description: Role of the party
example: 'Incoming Proprietor'
partyType:
type: string
description: The type of party
example: 'Organisation'
UpdatePartiesRequest:
title: UpdatePartiesRequest
type: object
description: Request to update parties on an existing workspace
required:
- parties
properties:
parties:
type: array
items:
$ref: '#/components/schemas/UpdateParty'
UpdateParty:
type: object
description: A party
required:
- partyId
- role
- partyType
- name
properties:
partyId:
description: Id of party to update
type: integer
example: 1337
format: int64
minimum: 1
role:
description: Role of the party
type: string
example: 'Incoming Proprietor'
partyType:
description: Party type of the party
type: string
example: 'Individual'
acn:
type: string
description: Australian Company Number
example: '1040085616'
acln:
type: string
description: Australian Credit Licence Number
example: '111111'
name:
type: string
description: Name of the party
example: 'Business Name'
arbn:
type: string
description: Australian Registered Body Number
example: '123456789'
abn:
type: string
description: Australian Business Number
example: '12345678912'
administrationStatuses:
type: array
maxItems: 2
items:
type: string
description: The administration status
example: 'Administrator appointed'
organisationType:
type: string
description: The type of organisation
example: 'Incorporated Association'
DeletePartiesRequest:
title: DeletePartiesRequest
type: object
description: Request to delete parties on an existing workspace
required:
- parties
properties:
parties:
type: array
items:
$ref: '#/components/schemas/DeleteParty'
DeleteParty:
type: object
description: Party to be deleted
required:
- partyId
properties:
partyId:
type: integer
description: Id of party to be deleted
format: int64
minimum: 1
example: 123
AddParticipantsRequest:
title: AddParticipantsRequest
type: object
description: Request to add participants to an existing workspace
properties:
participants:
type: array
items:
$ref: '#/components/schemas/IncomingProprietor'
AddParticipantsResponse:
title: AddParticipantsResponse
description: Response when adding participants
type: object
properties:
pexaWorkspaceId:
type: string
example: 'PEXA12345'
participants:
type: array
items:
$ref: '#/components/schemas/ResponseParticipant'
ResponseParticipant:
type: object
description: Response object when adding a participant
properties:
role:
type: string
description: Role of the participant
example: "Incoming Proprietor"
subscriberId:
type: integer
format: int64
description: Subscriber id of the participant
example: 1087
reference:
type: string
description: Reference for the participant
example: "Reference1"
status:
type: string
description: Status of the participant
example: "Invited"
prCreated:
type: boolean
description: Has the Participant Request been created?
example: false
prAccepted:
type: boolean
description: Has the Participation Request been accepted?
example: false
DeleteParticipantsRequest:
title: DeleteParticipantsRequest
description: Request to delete participants
type: object
properties:
participants:
type: array
items:
$ref: '#/components/schemas/IncomingProprietor'
ProposeSettlementRequest:
title: ProposeSettlementRequest
description: Request to propose settlement dates
type: object
properties:
settlementDateAndTime:
type: string
example: '2024-03-25T22:20:52.681Z'
description: "The date time to propose settlement at in ISO8601 format"
reason:
type: string
example: "Time chosen for settlement"
description: "The reason to propose settlement at this time"
RetrieveNotificationsResponse:
title: RetrieveNotificationsResponse
description: The response containing notifications
type: object
properties:
notificationsList:
$ref: '#/components/schemas/NotificationsListType'
NotificationsListType:
title: NotificationsListType
description: A list of notifications
type: object
properties:
notifications:
type: array
items:
$ref: '#/components/schemas/NotificationType'
count:
type: number
format: Int64
description: Total number of notifications in the response.
A count
threshold will be provided once confirmed.
example: 20
moreData:
type: string
description: Used to indicate that there is more data to retrieve.
This field will be set to ‘Yes’ when the Count threshold has been exceeded.
example: 'Yes'
lastEventTimestamp:
type: string
description: The latest event timestamp the response contains (in UTC).
This value should match the ‘Timestamp' value from the latest notification
retrieved in the below structure.
This value can be used as the
‘Last Event Timestamp’ in the subsequent request message.
If no notifications
exist for the time period requested then this should be set to the ‘Last
Event Timestamp’ from the original Request message.
format: date-time
example: '2018-11-18T02:30:20.283Z'
lastEventId:
type: string
description: The PEXA internal reference for the event. This value should
match the ‘Event Id’ value for the latest notification retrieved in the
below structure.
This value should be used as the ‘Last Event Id’
in the subsequent request message.
If no notifications exist for
the time period requested then this should be set to the ‘Last Event Id’
from the original Request message.
Maximum 19 characters
example: '1'
NotificationType:
title: NotificationType
description: Notification type
type: object
properties:
subscriberId:
type: string
description: The PEXA internal reference for the subscriber.
Maximum
19 characters
example: '208'
systemGenerated:
type: string
description: A flag used to delineate whether a business event/notification
has been generated by either a subscriber user (flag = no) or the PEXA
system (flag=yes).
Maximum 3 characters
example: 'No'
initiatingSubscriberId:
type: string
description: If System Generated flag is set to ‘no’ then this will be the
Subscriber Id who has initiated the business event/notification being
triggered.
Maximum 19 characters
example: '290'
initiatingSubscriberName:
type: string
description: The legal entity name of the initiating subscriber which correlates
to the initiating subscriber id above.
Must be provided if System
Generated is set to ‘no’.
Must not be provided if System Generated
flag is set to ‘yes’.
Maximum 255 characters
example: 'XYZ bank'
workspaceId:
type: string
description: The PEXA workspace number. Maximum 13 characters
example: 'PEXA1900800123'
subscriberReferences:
type: array
description: The subscriber’s workspace reference. Users may utilise this
to associate the workspace with an internal customer’s application.
Where a subscriber is acting in multiple roles in a workspace, the subscriber
reference will be provided for each role.
example:
- SubscriberReference: Matter-123312
items:
$ref: '#/components/schemas/SubscriberReferenceType'
eventId:
type: string
description: 'The PEXA internal reference for the event.
Maximum 19
characters'
example: '2'
timestamp:
type: string
description: 'The timestamp the event occurred (in UTC). '
format: date-time
example: '2018-11-18T02:30:20.283Z'
severity:
type: string
description: 'The severity of the event that has occurred.
The severity
is determined from a workspace perspective.'
example: 'Information'
category:
type: string
description: 'The category the event belongs to. '
example: 'Settlement Execution'
type:
$ref: '#/components/schemas/NotificationTypeKeyValue'
description:
type: string
description: Freeform field containing additional details on the notification.
example: 'Settlement completed'
details:
$ref: '#/components/schemas/NotificationDetailsType'
NotificationTypeKeyValue:
title: NotificationTypeKeyValue
description: Key/Value of the notification type
type: object
properties:
key:
type: string
description: The key of the notification
example: '55'
value:
type: string
description: The notification value
example: 'Settlement Date and Time status changed'
SubscriberReferenceType:
title: SubscriberReferenceType
description: The subscriber reference
type: object
properties:
workspaceRole:
type: string
description: The role of the subscriber in the workspace
example: 'Incoming Mortgagee'
value:
type: string
description: The subscriber reference for the workspace based on the subscriber’s
role
Maximum 30 characters
example: 'Matter-123312'
NotificationDetailsType:
title: NotificationDetailsType
description: Details about the notification
type: object
properties:
financialLineItem:
$ref: '#/components/schemas/NotificationFinancialLineItemType'
invitation:
$ref: '#/components/schemas/NotificationInvitationDetailsType'
landTitle:
$ref: '#/components/schemas/NotificationLandTitleDetailsType'
party:
$ref: '#/components/schemas/NotificationPartyDetailsType'
document:
$ref: '#/components/schemas/NotificationDocumentDetailsType'
settlementSchedule:
$ref: '#/components/schemas/NotificationSettlementScheduleDetailsType'
workspaceStatus:
type: string
description: 'Notification detail related to the workspace status. '
settlement:
$ref: '#/components/schemas/NotificationSettlementDetailsType'
lodgement:
$ref: '#/components/schemas/NotificationLodgementDetailsType'
participant:
$ref: '#/components/schemas/NotificationParticipantDetailsType'
conversation:
$ref: '#/components/schemas/NotificationConversationDetailsType'
NotificationFinancialLineItemType:
title: NotificationFinancialLineItemType
description: A financial line item
type: object
properties:
amount:
description: The amount of the line item
type: number
example: 10000
category:
type: string
description: The category of the line item
example: 'Water Rates'
owningSubscriberId:
type: string
description: The owning subscriber id
example: '1234'
owningSubscriberName:
type: string
description: The owning subscribers name
example: 'John'
type:
type: string
description: The type
example: 'Account'
NotificationInvitationDetailsType:
title: NotificationInvitationDetailsType
description: Details on an invitation
type: object
properties:
outstanding:
$ref: '#/components/schemas/NotificationInvitationOutstandingDetailsType'
response:
$ref: '#/components/schemas/NotificationInvitationResponseDetailsType'
NotificationInvitationOutstandingDetailsType:
title: NotificationInvitationOutstandingDetailsType
description: Details on a outstanding invitation
type: object
properties:
inviteId:
type: string
description: 'The PEXA internal reference for the invitation.
Maximum 19 characters'
example: '123'
forwardedBy:
type: string
description: 'If the invitation has been forwarded by a panel master, this
must be provided with the panel master subscriber’s organisation name.
Alternately, if the invitation has been forwarded by another subscriber
(via the ‘Forward to another Subscriber’ invitation response) then this
will be the subscriber’s organisation name.
Maximum 255 characters'
example: 'XYZ Bank'
timestamp:
type: string
description: The date and time the invitation was created (in UTC).
format: date-time
example: '2018-11-18T02:30:20.283Z'
jurisdiction:
type: string
description: The jurisdiction of the workspace.
example: 'VIC'
workspaceRole:
type: string
description: 'The workspace role the subscriber user has been invited to participate in. '
example: 'Incoming Mortgagee'
settlementDate:
type: string
description: The date and time of settlement if the workspace is marked
as requiring financial settlement (in UTC). Must be provided if financial
settlement required unless in the scenario where a workspace has been
created with a parent title and no settlement date/time has been set by
the participant yet.
format: date-time
example: '2018-11-18T02:30:20.283Z'
expressRefinance:
type: string
description: 'A flag used to specify whether the invitation is for a workspace
that is marked as an express refinance.
Maximum 3 characters'
example: 'Yes'
landTitleDetails:
$ref: '#/components/schemas/NotificationInvitationOutstandingLandTitleType'
partyDetails:
$ref: '#/components/schemas/NotificationInvitationOutstandingPartyType'
inviterSubscriberDetails:
$ref: '#/components/schemas/NotificationInvitationOutstandingInviterSubscriberDetailsType'
NotificationInvitationOutstandingLandTitleDetailsType:
title: NotificationInvitationOutstandingLandTitleDetailsType
description: Details on invitations outstanding land title
type: object
properties:
landTitleReference:
type: string
description: A land title reference
example: '123/654'
propertyDetails:
$ref: '#/components/schemas/PropertyDetailsType'
NotificationInvitationOutstandingLandTitleType:
title: NotificationInvitationOutstandingLandTitleType
description: The outstanding land titles
type: object
properties:
landTitles:
type: array
description: 'Provided if the land titles are not marked as parent land
titles. '
items:
$ref: '#/components/schemas/NotificationInvitationOutstandingLandTitleDetailsType'
NotificationInvitationOutstandingPartyType:
title: NotificationInvitationOutstandingPartyType
description: The outstanding party type
type: object
properties:
parties:
type: array
items:
$ref: '#/components/schemas/NotificationInvitationOutstandingPartyDetailsType'
NotificationInvitationOutstandingPartyDetailsType:
title: NotificationInvitationOutstandingPartyDetailsType
description: Details on an outstanding party invitation
type: object
properties:
partyId:
type: string
description: 'Maximum 19 characters'
example: '654'
partyRole:
type: string
description: The role of the party
example: 'Incoming Mortgagee'
partyName:
$ref: '#/components/schemas/PartyNameDetailsType'
associatedLandTitleReferences:
type: array
description: 'This is the land title reference that the party within the
invitation is associated to.
Note: This value must be provided for
parties in the role of Proprietor on Title. For other party roles (such
as Incoming Proprietors) it will not be provided.'
example: [ '98745/987', '98745/987' ]
items:
type: string
description: A land title reference
example: '98745/987'
PartyNameDetailsType:
title: PartyNameDetailsType
description: Details for a party name
type: object
properties:
businessDetails:
$ref: '#/components/schemas/BusinessType'
fullName:
$ref: '#/components/schemas/FullNameType'
BusinessType:
title: BusinessType
description: The business type
type: object
properties:
legalEntityName:
type: string
description: Maximum 150 characters
example: 'National Australia Bank'
businessName:
type: string
description: 'Maximum 255 characters
The business name registered
with ASIC.
This will only be returned where available for subscriber
details. '
example: 'NAB'
businessUnit:
type: string
description: 'Maximum 70 characters
The business unit within the organisation.
This will only be returned where available for subscriber details. '
example: 'Mortgage processing'
organisationType:
type: string
description: Must be provided if Party Type is ‘Organisation’
example: 'Registered Company'
administrationStatuses:
type: array
description: 'Must be provided if Organisation Type is ''Registered company
in external administration'' '
example:
- AdministrationStatus: 'Subject to a deed of company arrangement'
items:
$ref: '#/components/schemas/AdministrationStatusDetailsType'
identifications:
type: array
description: 'External identification of the party through a registered organisation.'
items:
$ref: '#/components/schemas/IdentificationDetailsType'
AdministrationStatusDetailsType:
title: AdministrationStatusDetailsType
description: Details on administration status
type: object
properties:
value:
type: string
description: The value of the administration status
example: 'Subject to a deed of company arrangement'
FullNameType:
title: FullNameType
description: A full name including titles, suffixes and date of birth
type: object
properties:
nameTitle:
type: string
description: 'Title (e.g. ''Mr'', ''Ms'', ''Prof'') '
example: 'Mr'
givenNames:
type: array
description: 'Maximum 100 characters
Valid character set: alphabetic,
hyphens, apostrophes and spaces only.
One or more given names in
order.
Mandatory attribute: order'
example:
- GivenName: 'John Snow'
items:
$ref: '#/components/schemas/GivenNameOrderType'
familyName:
type: string
description: 'Maximum 100 characters
Valid character set: alphabetic,
hyphens, apostrophes and spaces only. '
example: 'Stark'
familyNameOrder:
type: string
description: 'Identifies where the family name is placed in relation to
the given name. If not supplied, defaults to ‘Last’ '
example: '1'
nameSuffix:
type: string
description: 'Maximum 50 characters
Valid character set: alphabetic
and period only.
e.g. “Jr” (for Junior)'
example: 'Jr'
dateOfBirth:
type: string
description: 'This must be provided when creating or editing a party when
Representing Party is ‘Yes’.
This is only provided outbound if Representing
Party is ‘Yes’. PEXA will only return this value if the Party is Represented
by the Subscriber / Role. '
format: date-time
example: '2018-11-18T02:30:20.283Z'
GivenNameOrderType:
title: GivenNameOrderType
description: The given name order
type: object
properties:
order:
type: number
description: The order of the given name
format: Int64
example: 1
value:
type: string
description: The value of the given name
example: 'John'
NotificationInvitationOutstandingInviterSubscriberDetailsType:
title: NotificationInvitationOutstandingInviterSubscriberDetailsType
description: Details on an outstanding inviter
type: object
properties:
subscriberId:
type: string
description: 'The PEXA internal reference for the inviter subscriber.
Maximum
19 characters'
example: '208'
subscriberType:
type: string
description: The type of subscriber the inviter is registered as within
PEXA.
example: 'Financial Institution'
subscriberName:
type: string
description: 'The subscriber who has initiated the invite.
Maximum 255 characters'
example: 'XYZ Bank'
subscriberWorkspaceRole:
type: string
description: 'The workspace role of the subscriber who has initiated the
invite.
If Inviter subscriber is acting in multiple roles, the primary
role will be provided'
example: 'Incoming Mortgagee'
representing:
$ref: '#/components/schemas/NotificationInvitationOutstandingInviterSubscriberDetailsRepresenting'
notes:
type: string
description: 'Notes entered in by the subscriber who initiated the invite.
Any
forwarding notes which may have been provided by the Subscriber who has
forwarded the invitation will appear here.
May contain line feeds Maximum
160 characters'
example: 'Additional notes'
NotificationInvitationOutstandingInviterSubscriberDetailsRepresenting:
title: NotificationInvitationOutstandingInviterSubscriberDetailsRepresenting
description: Details on outstanding inviter subscriber details for a representing party
type: object
properties:
parties:
description: List of parties
type: array
items:
$ref: '#/components/schemas/NotificationInvitationOutstandingInviterSubscriberDetailsRepresentingPartyType'
NotificationInvitationOutstandingInviterSubscriberDetailsRepresentingPartyType:
title: NotificationInvitationOutstandingInviterSubscriberDetailsRepresentingPartyType
description: Details on outstanding inviter subscriber details for a representing party
type: object
properties:
partyId:
type: string
description: The id of the party
example: '123'
partyName:
$ref: '#/components/schemas/PartyNameDetailsType'
partyRole:
description: The role of the Party
type: string
example: 'Mortgagee on Title'
NotificationInvitationResponseDetailsType:
title: NotificationInvitationResponseDetailsType
description: Details on invitation responses
type: object
properties:
inviteId:
type: string
description: 'The PEXA internal reference for the invitation.
Maximum 19 characters'
example: '654'
subscriberId:
type: string
description: The PEXA internal reference for the subscriber who was invited
to participate in the workspace.
For forwarded invitations, this
will be the subscriber id of the subscriber who has received and actioned
the forwarded invitation.
Maximum 19 characters
example: '208'
subscriberName:
type: string
description: 'The subscriber’s PEXA organisation name
Maximum 255 characters'
example: 'XYZ bank'
workspaceRole:
type: string
description: 'The workspace role the subscriber user has been invited to participate in.'
example: 'Incoming Mortgagee'
responseReason:
type: string
description: 'The subscriber’s response reason.'
example: 'Additional documents required'
additionalText:
type: string
description: Additional text entered by the invited subscriber.
Must
be provided if the response reason is ‘Other’.
Maximum 250 characters
example: 'More information'
NotificationLandTitleDetailsType:
title: NotificationLandTitleDetailsType
description: Details on the land title
type: object
properties:
landTitleReference:
description: A land title reference
type: string
example: 'ABC123'
titleActivityCheck:
$ref: '#/components/schemas/NotificationTitleActivityCheck'
propertyDetails:
$ref: '#/components/schemas/PropertyDetailsType'
NotificationTitleActivityCheck:
title: NotificationTitleActivityCheck
description: Title activity check details
type: object
properties:
administrativeActionReferences:
type: array
description: References for administrative action
items:
$ref: '#/components/schemas/NotificationAdministrativeActionReferenceDetailsType'
documentReferences:
type: array
description: A document that has been lodged or registered against the Land
Title in question within the period in question
items:
$ref: '#/components/schemas/NotificationDocumentReferenceDetailsType'
NotificationAdministrativeActionReferenceDetailsType:
title: NotificationAdministrativeActionReferenceDetailsType
description: Details on the administrative action reference
type: object
properties:
administrativeActionTimestamp:
type: string
format: date-time
description: Date of the administrative action
example: '2018-11-18T02:30:20.283Z'
administrativeActionType:
type: string
description: The action type
example: 'Action'
NotificationDocumentReferenceDetailsType:
title: NotificationDocumentReferenceDetailsType
description: Details on the document reference
type: object
properties:
documentType:
type: string
description: 'Jurisdiction specific document name or document type e.g.
''Mortgage'', ''Caveat'', ''Settlement Notice'' etc.'
example: 'Mortgage'
lrDocumentId:
type: string
description: 'Where a dealing number was allocated to the document by the
LR, the dealing number associated with this document.
Where a dealing
number is not allocated, this may contain an alternate identifier'
example: 'DC123456'
documentStatusDetails:
type: array
description: Internal LR document status
items:
$ref: '#/components/schemas/NotificationDocumentStatusDetailsType'
NotificationDocumentStatusDetailsType:
title: NotificationDocumentStatusDetailsType
description: Details on the document status
type: object
properties:
documentStatusTimestamp:
type: string
description: 'The date and time at which the status occurred (in UTC).
This provides the equivalent of lodgement date, registration date or another
appropriate document date'
format: date-time
example: '2018-11-18T02:30:20.283Z'
documentStatus:
type: string
description: Information that specifies the current state of a Document in a Land Registry
example: 'Verifying'
PropertyDetailsType:
title: PropertyDetailsType
description: Details on a property
type: object
properties:
landDescription:
type: string
description: 'The land description associated to the land title reference.
Maximum 300 characters'
example: 'Vacant Land'
propertyAddress:
type: string
description: Where available, the property address associated to the land title reference.
Maximum 300 characters
example: '213 X street'
NotificationPartyDetailsType:
title: NotificationPartyDetailsType
description: Details on parties
type: object
properties:
partyName:
$ref: '#/components/schemas/PartyNameDetailsType'
partyRole:
type: string
description: The party role
example: 'Role'
partyId:
type: string
description: 'Maximum 19 characters '
example: '989'
NotificationDocumentDetailsType:
title: NotificationDocumentDetailsType
description: Details on Documents
type: object
properties:
documentType:
type: string
description: The type of document
example: 'Settlement'
status:
type: string
description: The status of the document
example: 'Open'
documentId:
type: string
description: 'The PEXA internal document identifier.
Maximum 19 characters'
example: '664'
NotificationSettlementScheduleDetailsType:
title: NotificationSettlementScheduleDetailsType
description: Details about settlement schedules
type: object
properties:
status:
type: string
description: 'The status of the settlement schedule.'
example: 'Signed'
NotificationSettlementDetailsType:
title: NotificationSettlementDetailsType
description: Details about settlement
type: object
properties:
settlementDate:
type: string
description: 'The date and time of the settlement (in UTC). '
format: date-time
example: '2018-11-18T02:30:20.283Z'
reason:
type: string
description: Maximum 255 characters
example: 'Settlement completed'
NotificationLodgementDetailsType:
title: NotificationLodgementDetailsType
description: Details on lodgements
type: object
properties:
documents:
type: array
items:
$ref: '#/components/schemas/NotificationLodgementDocumentDetailsType'
lodgementCaseStatus:
type: string
description: The status of the lodgement case
example: 'Open'
lodgementCaseId:
type: string
description: The PEXA internal lodgement case identifier.
Maximum 19 characters
example: '123'
NotificationLodgementDocumentDetailsType:
title: NotificationLodgementDocumentDetailsType
description: Details about lodgement documents
type: object
properties:
documentStatus:
description: The status of the document
example: 'Open'
type: string
documentType:
type: string
example: 'Document'
description: The type of document
landTitleReferences:
type: array
items:
type: string
description: Land title references
example: 'ABC123'
documentId:
type: string
description: 'The PEXA internal document identifier.
Maximum 19 characters'
example: '664'
dealingNumber:
type: string
description: 'Maximum 30 characters '
example: '987'
mortgageDate:
type: string
description: Will only be provided if the document type is ‘Mortgage’.
format: date-time
example: '2018-11-18T02:30:20.283Z'
timestamp:
type: string
description: 'The date and time the document status last changed (in UTC).'
format: date-time
example: '2018-11-18T02:30:20.283Z'
NotificationParticipantDetailsType:
title: NotificationParticipantDetailsType
description: Details about conversation participants
type: object
properties:
subscriberName:
type: string
description: The subscriber’s PEXA organisation name.
Maximum 255 characters
example: 'XYZ bank'
workspaceRoles:
type: array
description: The workspace role the subscriber was performing in.
items:
type: string
description: A workspace role the subscriber was performing in.
example: 'Incoming Mortgagee'
NotificationConversationDetailsType:
title: NotificationConversationDetailsType
description: Details about a conversation
type: object
properties:
conversationId:
type: string
description: The unique identifier of the conversation
Maximum 19 characters
example: '456'
timestamp:
type: string
description: The timestamp that the conversation was created in PEXA (in
UTC).
format: date-time
example: '2018-11-18T02:30:20.283Z'
IdentificationDetailsType:
title: IdentificationDetailsType
type: object
description: 'An object describing how to identify an external party'
properties:
identifier:
type: string
description: 'The type of identifier'
example: 'ABN'
value:
type: string
description: 'Maximum 20 characters
Must be provided without whitespaces.'
example: '42156896300000000'
examples:
# Requests
NswProjectRequest:
summary: "Example for NSW"
value:
projectName: "ABC Project"
jurisdiction: "NSW"
workgroupId: 1000
estimatedSettlementDate: "JUN 2028"
parentTitle: "13/12322"
proprietorOnTitle:
- "John Smith"
- "Adam Smith"
supplierApplicable: true
supplierDetails:
name: "XHJ corp LTD"
phone: "6125548555"
abn: "12345678912"
addressLine1: "L1 Tower 2"
addressLine2: "727 Collins St"
suburb: "Docklands"
postcode: "3000"
state: "NSW"
email: "sv@test.com"
withMortgageeOnTitles: true
mortgageeOnTitles:
- { subscriberName: "NECDL EASTPAC", subscriberId: "1234", dealingNumber: "ABC1234", participantName: "CABRAMATTA conveyancing" }
intentionToLock: true
projectStages: false
settlementRestriction: true
nswPropertyDetails:
locality: "Carey Estate2"
natureOfProperty: "Vacant land"
VicProjectRequest:
summary: "Example for VIC"
value:
projectName: "ABC Project"
jurisdiction: "VIC"
workgroupId: 1000
estimatedSettlementDate: "JUN 2028"
parentTitle: "13/12322"
proprietorOnTitle:
- "John Smith"
- "Adam Smith"
supplierApplicable: true
supplierDetails:
name: "XHJ corp LTD"
phone: "6125548555"
abn: "12345678912"
addressLine1: "L1 Tower 2"
addressLine2: "727 Collins St"
suburb: "Docklands"
postcode: "3000"
state: "VIC"
email: "sv@test.com"
withMortgageeOnTitles: true
mortgageeOnTitles:
- { subscriberName: "NECDL EASTPAC", subscriberId: "1234", dealingNumber: "ABC1234", participantName: "CABRAMATTA conveyancing" }
intentionToLock: true
projectStages: false
settlementRestriction: true
vicPropertyDetails:
restrictiveCovenant: true
covenantMcpRef: "123123123"
covenantMcpExpiryDate: "2022-11-30"
municipalityName: "Baw Baw Shire Council"
natureOfProperty: "Residential"
primaryLandUse: "Dwelling"
primaryConstructionType: "Timber"
QldProjectRequest:
summary: "Example for QLD"
value:
projectName: "ABC Project"
jurisdiction: "QLD"
workgroupId: 1000
estimatedSettlementDate: "JUN 2028"
parentTitle: "13/12322"
proprietorOnTitle:
- "John Smith"
- "Adam Smith"
supplierApplicable: true
supplierDetails:
name: "XHJ corp LTD"
phone: "6125548555"
abn: "12345678912"
addressLine1: "L1 Tower 2"
addressLine2: "727 Collins St"
suburb: "Docklands"
postcode: "3000"
state: "QLD"
email: "sv@test.com"
withMortgageeOnTitles: true
mortgageeOnTitles:
- { subscriberName: "NECDL EASTPAC", subscriberId: "1234", dealingNumber: "ABC1234", participantName: "CABRAMATTA conveyancing" }
intentionToLock: true
projectStages: false
settlementRestriction: true
qldPropertyDetails:
currentLandUse: "Dwelling"
marginScheme: false
safetySwitch:
installed: true
informed: false
smokeAlarm:
installed: true
informed: true
SaProjectRequest:
summary: "Example for SA/ACT/WA/TAS"
value:
projectName: "ABC Project"
jurisdiction: "SA"
workgroupId: 1000
estimatedSettlementDate: "JUN 2028"
parentTitle: "13/12322"
proprietorOnTitle:
- "John Smith"
- "Adam Smith"
supplierApplicable: true
supplierDetails:
name: " XHJ corp LTD"
phone: "6125548555"
abn: "12345678912"
addressLine1: "L1 Tower 2"
addressLine2: "727 Collins St"
suburb: "Docklands"
postcode: "3000"
state: "SA"
email: "sv@test.com"
withMortgageeOnTitles: true
mortgageeOnTitles:
- { subscriberName: "NECDL EASTPAC", subscriberId: "1234", dealingNumber: "ABC1234", participantName: "CABRAMATTA conveyancing" }
intentionToLock: true
projectStages: false
settlementRestriction: true
NswProjectResponse:
summary: "Example for NSW"
value:
id: 1234
projectName: "ABC Project"
jurisdiction: "NSW"
workgroupId: 1000
estimatedSettlementDate: "JUN 2028"
parentTitle: "13/12322"
proprietorOnTitle:
- "John Smith"
- "Adam Smith"
supplierApplicable: true
supplierDetails:
name: "XHJ corp LTD"
phone: "6125548555"
abn: "12345678912"
addressLine1: "L1 Tower 2"
addressLine2: "727 Collins St"
suburb: "Docklands"
postcode: "3000"
state: "NSW"
email: "sv@test.com"
withMortgageeOnTitles: true
mortgageeOnTitles:
- { subscriberName: "NECDL EASTPAC", subscriberId: "1234", dealingNumber: "ABC1234", participantName: "CABRAMATTA conveyancing" }
intentionToLock: true
projectStages: false
settlementRestriction: true
projectStatus: "ACTIVE"
historicalParentTitles: ["13/12345"]
workspacesCreated: true
nswPropertyDetails:
locality: "Carey Estate2"
natureOfProperty: "Vacant land"
VicProjectResponse:
summary: "Example for VIC"
value:
id: 1234
projectName: "ABC Project"
jurisdiction: "VIC"
workgroupId: 1000
estimatedSettlementDate: "JUN 2028"
parentTitle: "13/12322"
proprietorOnTitle:
- "John Smith"
- "Adam Smith"
supplierApplicable: true
supplierDetails:
name: "XHJ corp LTD"
phone: "6125548555"
abn: "12345678912"
addressLine1: "L1 Tower 2"
addressLine2: "727 Collins St"
suburb: "Docklands"
postcode: "3000"
state: "VIC"
email: "sv@test.com"
withMortgageeOnTitles: true
mortgageeOnTitles:
- { subscriberName: "NECDL EASTPAC", subscriberId: "1234", dealingNumber: "ABC1234", participantName: "CABRAMATTA conveyancing" }
intentionToLock: true
projectStages: false
settlementRestriction: true
projectStatus: "ARCHIVED"
historicalParentTitles: ["22/54321"]
workspacesCreated: true
vicPropertyDetails:
restrictiveCovenant: true
covenantMcpRef: "123123123"
covenantMcpExpiryDate: "2022-11-30"
municipalityName: "Baw Baw Shire Council"
natureOfProperty: "Residential"
primaryLandUse: "Dwelling"
primaryConstructionType: "Timber"
QldProjectResponse:
summary: "Example for VIC"
value:
id: 1234
projectName: "ABC Project"
jurisdiction: "QLD"
workgroupId: 1000
estimatedSettlementDate: "JUN 2028"
parentTitle: "13/12322"
proprietorOnTitle:
- "John Smith"
- "Adam Smith"
gstApplicable: true
supplierApplicable: true
supplierDetails:
name: "XHJ corp LTD"
phone: "6125548555"
abn: "12345678912"
addressLine1: "L1 Tower 2"
addressLine2: "727 Collins St"
suburb: "Docklands"
postcode: "3000"
state: "QLD"
email: "sv@test.com"
withMortgageeOnTitles: true
mortgageeOnTitles:
- { subscriberName: "NECDL EASTPAC", subscriberId: "1234", dealingNumber: "ABC1234", participantName: "CABRAMATTA conveyancing" }
intentionToLock: true
projectStages: false
settlementRestriction: true
projectStatus: "DELETED"
historicalParentTitles: ["55/98765"]
workspacesCreated: true
qldPropertyDetails:
currentLandUse: "Dwelling"
marginScheme: false
safetySwitch:
installed: true
informed: false
smokeAlarm:
installed: true
informed: true
SaProjectResponse:
summary: "Example for SA/ACT/WA/TAS"
value:
id: 1234
projectName: "ABC Project"
jurisdiction: "SA"
workgroupId: 1000
estimatedSettlementDate: "JUN 2028"
parentTitle: "13/12322"
proprietorOnTitle:
- "John Smith"
- "Adam Smith"
supplierApplicable: true
supplierDetails:
name: " XHJ corp LTD"
phone: "6125548555"
abn: "12345678912"
addressLine1: "L1 Tower 2"
addressLine2: "727 Collins St"
suburb: "Docklands"
postcode: "3000"
state: "SA"
email: "sv@test.com"
withMortgageeOnTitles: true
mortgageeOnTitles:
- { subscriberName: "NECDL EASTPAC", subscriberId: "1234", dealingNumber: "ABC1234", participantName: "CABRAMATTA conveyancing" }
intentionToLock: true
projectStages: false
settlementRestriction: true
projectStatus: "ACTIVE"
historicalParentTitles: ["98/12345"]
workspacesCreated: false
ProjectStatusResponse:
summary: 'Example of a status response'
value:
proprietorOnTitles:
- "ABC LTD"
- "XYZ LTD"
parentTitle: "20/1185379"
mortgageeNames:
- "John X"
- "Robertson Y"
estimatedSettlementDate: "JAN 2024"
jurisdiction: "NSW"
invitationAcceptance:
incomingMortgagee:
accepted: 2
pending: 1
declined: 1
notInvited: 0
mortgageeOnTitle:
accepted: 44
pending: 22
declined: 0
notInvited: 0
incomingProprietor:
accepted: 44
pending: 22
declined: 0
notInvited: 0
settlementDateAcceptance:
incomingMortgagee:
accepted: 1
pending: 1
mortgageeOnTitle:
accepted: 22
pending: 11
incomingProprietor:
accepted: 23
pending: 10
workspaceStatus:
allActive: 1
settlingToday: 0
completed: 0
withdrawn: 0
all: 1
awaitingDigitalSignature: 0
WorkspacesResponse:
summary: "An example of the workspaces response"
value:
- workspaceId: PEXA165111203
subscriberReference: CJD:121330
unregisteredLotNumbers:
- "2"
childTitles:
- "51272439"
participantRepresentativeData:
mortgageeOnTitleReps:
- Curell Partner
- Corrigan Legal
incomingMortgageeReps:
- MSA National
incomingProprietorReps:
- Empire Legal
partyData:
proprietorsOnTitle:
- Kangaroo Pty LTd
- SMV Consulting
incomingProprietors:
- Maria Georgious
lodgementStatus: Completed
settlementStatus: Disbursed
settlementDate: 2022-01-02
settlementDateAcceptance:
status: PARTIALLY_ACCEPTED
statusDetails:
acceptanceByMortgageeOnTitleReps: PENDING
acceptanceByIncomingMortgageeReps: ACCEPTED
acceptanceByIncomingProprietorReps: ACCEPTED
financialData:
gstWithholdingStatus: MATCHING
grossConsideration: "$2,044,000.00"
vendorFunds: "$1,251,222.11"
payoutAmount: "$230,152.00"
balanced: true