{"swagger":"2.0","info":{"description":"Pricefinder API provides access to property, sale and listing searches as well as suburb statistics and SSO to the Pricefinder website capabilities.","version":"1.13.1","title":"PriceFinder API v1.13.1","contact":{"name":"Pricefinder"},"license":{"name":"Terms and Conditions","url":"https://www.domain.com.au/group/api-terms-and-conditions/"}},"basePath":"/v1","tags":[{"name":"subscriptions"},{"name":"references"},{"name":"sso"},{"name":"properties"},{"name":"postcodes"},{"name":"images"},{"name":"suburbs"},{"name":"sales"},{"name":"rentals"},{"name":"listings"},{"name":"spatial"},{"name":"names"},{"name":"suggest"},{"name":"events"},{"name":"appraisals"},{"name":"stubs"},{"name":"streets"},{"name":"features"},{"name":"oauth2"}],"paths":{"/appraisals":{"get":{"tags":["appraisals"],"description":"","operationId":"appraisals","produces":["application/json"],"parameters":[{"name":"agentId","in":"query","required":false,"type":"integer","format":"int64","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"name":"date_end","in":"query","description":"The default range value is 30 days. date format 'now', 'today-xxd' or 'year-month-day'","required":false,"type":"string","default":"now","format":"date-time","pds":{"hidden":false,"extra":true,"enumerate":false,"deprecated":false}},{"name":"date_start","in":"query","description":"The default range value is 30 days. date format 'now', 'today-xxd' or 'year-month-day'","required":false,"type":"string","default":"today-30d","format":"date-time","pds":{"hidden":false,"extra":true,"enumerate":false,"deprecated":false}},{"name":"limit","in":"query","description":"The limit must be greater than '0'. Otherwise, the default value '10' will be used","required":false,"type":"integer","default":100,"format":"int64","pds":{"hidden":false,"extra":true,"enumerate":false,"deprecated":false}},{"name":"page","in":"query","description":"The default value is '1', less than '1' will be ignored","required":false,"type":"integer","default":1,"format":"int32","pds":{"hidden":false,"extra":true,"enumerate":false,"deprecated":false}},{"name":"propertyId","in":"query","required":false,"type":"integer","format":"int64","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"name":"sort","in":"query","description":"The limit must be greater than '0'. Otherwise, the default value '10' will be used","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi","format":"-?\\w+","enum":["date","-date"],"pds":{"hidden":false,"extra":true,"enumerate":false,"deprecated":false}},{"name":"type","in":"query","required":false,"type":"string","enum":["RENTAL_CMA","SALES_CMA","SOI"],"pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/Appraisals"},"headers":{}}}}},"/appraisals/agent/image/{agentId}":{"get":{"tags":["appraisals"],"description":"","operationId":"agentImage","produces":["image/gif","image/jpeg","image/png"],"parameters":[{"name":"agentId","in":"path","required":true,"type":"integer","format":"int64","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"name":"height","in":"query","required":false,"type":"integer","format":"int32","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"name":"width","in":"query","required":false,"type":"integer","format":"int32","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"default":{"description":"successful operation"}}}},"/appraisals/insights":{"get":{"tags":["appraisals"],"description":"","operationId":"getInsights","produces":["application/json"],"parameters":[{"name":"shareId","in":"query","description":"Provide multiple values in new lines (at least one required).","required":true,"type":"array","items":{"type":"string","format":"uuid"},"collectionFormat":"multi","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"name":"agentId","in":"query","required":false,"type":"integer","format":"int64","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/AppraisalInsightsView"},"headers":{}}}}},"/appraisals/logo/image/{userId}":{"get":{"tags":["appraisals"],"description":"","operationId":"userLogo","produces":["image/gif","image/jpeg","image/png"],"parameters":[{"name":"userId","in":"path","required":true,"type":"integer","format":"int64","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"name":"height","in":"query","required":false,"type":"integer","format":"int32","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"name":"width","in":"query","required":false,"type":"integer","format":"int32","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"default":{"description":"successful operation"}}}},"/appraisals/office/image/{userId}":{"get":{"tags":["appraisals"],"description":"","operationId":"image","produces":["image/gif","image/jpeg","image/png"],"parameters":[{"name":"userId","in":"path","required":true,"type":"integer","format":"int64","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"name":"height","in":"query","required":false,"type":"integer","format":"int32","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"name":"width","in":"query","required":false,"type":"integer","format":"int32","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"default":{"description":"successful operation"}}}},"/appraisals/rentalcma/{appraisalShareId}":{"get":{"tags":["appraisals"],"description":"","operationId":"rentalCma","produces":["application/json"],"parameters":[{"name":"appraisalShareId","in":"path","required":true,"type":"string","format":"uuid","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/RentalCMACommon"},"headers":{}}}}},"/appraisals/rentalcma/{appraisalShareId}/extended":{"get":{"tags":["appraisals"],"description":"","operationId":"rentalCma","produces":["application/json"],"parameters":[{"name":"appraisalShareId","in":"path","required":true,"type":"string","format":"uuid","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/RentalCMADetailed"},"headers":{}}}}},"/appraisals/salescma/{appraisalShareId}":{"get":{"tags":["appraisals"],"description":"","operationId":"salesCma","produces":["application/json"],"parameters":[{"name":"appraisalShareId","in":"path","required":true,"type":"string","format":"uuid","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/SalesCMACommon"},"headers":{}}}}},"/appraisals/salescma/{appraisalShareId}/extended":{"get":{"tags":["appraisals"],"description":"","operationId":"salesCma","produces":["application/json"],"parameters":[{"name":"appraisalShareId","in":"path","required":true,"type":"string","format":"uuid","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/SalesCMADetailed"},"headers":{}}}}},"/appraisals/soi/{appraisalShareId}":{"get":{"tags":["appraisals"],"description":"","operationId":"soi","produces":["application/json"],"parameters":[{"name":"appraisalShareId","in":"path","required":true,"type":"string","format":"uuid","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/SOICommon"},"headers":{}}}}},"/appraisals/soi/{appraisalShareId}/extended":{"get":{"tags":["appraisals"],"description":"","operationId":"soi","produces":["application/json"],"parameters":[{"name":"appraisalShareId","in":"path","required":true,"type":"string","format":"uuid","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/SOIDetailed"},"headers":{}}}}},"/events/cmaEvent/{cmaId}":{"post":{"tags":["events"],"description":"","operationId":"saveEvent","produces":["application/json"],"parameters":[{"name":"cmaId","in":"path","required":true,"type":"integer","format":"int64","pds":{"hidden":false,"extra":false,"enumerate":false,"deprecated":false}},{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/EventParameters"}}],"responses":{"default":{"description":"successful operation"}}}},"/eventsubscriptions/currentuser":{"get":{"tags":["subscriptions"],"description":"","operationId":"userEventsSubscription","produces":["application/json"],"parameters":[],"responses":{"200":{"description":"successful operation","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyEventSubscription"}},"headers":{}}}}},"/eventsubscriptions/properties":{"post":{"tags":["subscriptions"],"summary":"","description":"Subscribe to property event alerts (currently only available through email notifications) for those properties.
Note: This endpoint is NOT additive
i.e. Multiple calls to this endpoint on the same property will keep overwriting the subscription with the eventTypes passed in the latest request.
Example :
Retrieve an oauth2 acces_token for use with Pricefinder API. A basic auth header is supported as an alternative to the form parameters for username and password.
After retrieving the token, it must be either added as an authorization header(eg Authorization: Bearer <token>) or appended to the query (eg ?access_token=<token>).
The api supports three 'flows' for retrieving a token; client_credentials, refresh_token and authorization_code
The client credentials flow requires the api user to pass their user name and password to retrieve the token.
The code authorization flow is used to authenticate on behalf of a another user.
To acquire authorization from a third party, direct that user to /v1/auth/authorize.html?client_id=<username>&state=<random_number>&redirect_uri=<callback_in_your_app>. Https is required.
The client_id is your username.
The state is a random string used to verify that the authorization request was generated by your webapp.
The redirect_uri is the callback uri after the third party has accepted or declined the authorization request.
eg https://api.pricefinder.com.au/v1/auth/authorize.html?client_id=username&state=123&redirect_uri=https%3A%2F%2Fyour.web.app%2Fsomepage
The third party will authenticate and authorize access to the api on their behalf. If the user allows access, the third party is redirected to your.web.app/somepage?state=<state>&code=<authorization_code>
eg https://your.web.app/somepage?state=123&code=9efc4ad1cca0bae6255ffd6db6cc85
(If the user declines, a callback is made with query parameter error=access_denied)
The api user can then retrieve an access token using this code from /v1/oauth2/token, using the 'authorization_code' grant type.
eg
curl -X POST --header \"Content-Type: application/x-www-form-urlencoded\" --header \"Accept: application/json\" -d \"grant_type=authorization_code&client_id=username&client_secret=password&code=9efc4ad1cca0bae6255ffd6db6cc85&redirect_uri=https%3A%2F%2Fyour.web.app%2Fsomepage\" \"https://api.pricefinder.com.au/v1/oauth2/token\"
This will return an access token, as well as a refresh token, which can be used to acquire access tokens in the future without requiring the third party to reauthorize.
A refresh token can be used to acquire a new access token without requiring the third party to re authorize the user. This method consumes the refesh token and returns a new access token and a new refresh token.