Getting Started

The Developer API is built using a standards based HTTPS API using JSON as the data-interchange format.

API URIs

There are two URIs for each state that developers must be aware of, the staging URI and the live URI:

State
URIs
NSW
https://nsw-api.staging.reiformslive.com.auhttps://nsw.api.reiformslive.com.au
WA
https://wa-api.staging.reiformslive.com.auhttps://wa.api.reiformslive.com.au
SA
https://sa-api.staging.reiformslive.com.auhttps://sa.api.reiformslive.com.au
NT
https://nt-api.staging.reiformslive.com.auhttps://nt.api.reiformslive.com.au
TAS
https://tas-api.staging.reiformslive.com.auhttps://tas.api.reiformslive.com.au
ACT
https://act-api.staging.reiformslive.com.auhttps://act.api.reiformslive.com.au
QLD
https://qld-api.staging.reiformslive.com.auhttps://api.realworks.com.au
VIC
https://vic-api.staging.formslive.com.auhttps://vic.api.formslive.com.au

Note: each state uses different usernames and passwords

The "staging" sites are a separate copy of system and is to be used for development purposes. Developers should not be developing their applications using the live api.

SSL

Due to the sensitive information being transferred between the client and the API, all requests are required to be sent over HTTPS. Any requests made to a non-secure URI will be redirected to equivalent HTTPS URI.

Key

Before you can start making requests to the API, you will require an API key. This key is unique to your organization/product and must be kept private. Each key is tied to a specific authentication type outlined below and in combination with an end-user token will allow you to authenticate against the API and perform requests on behalf of an end-user.

Register here to request an API Key.

JSON

Requests and responses from the Developer API use the JSON data-interchange format. This requires all requests to send a content type header of application/json. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

HTTP Verbs

All HTTP requests are made using one of four verbs (GET, PUT, POST, DELETE). Each verb has it's own meaning:

Status Code
Description
GET
Retrieve the specified resource
PUT
Update the specified resource
POST
Create the specified resource
DELETE
Delete the specified resource

All documented endpoints specify their required HTTP verb.

Responses

When the API responds to a request, it will return a HTTP status code depending on whether the response was successful or a failure. Any of the following responses can be returned:

Status Code
Description
200
The request was successful
400
Bad request, check your input parameters
401
Unauthorized, invalid or expired token
403
Forbidden, insufficient permissions
404
Not Found, the resource could not be found
500
Internal Server Error, something went wrong

Deep Linking

There may be cases where you want to redirect an end-user to the UI application to view or finish a form. For this purpose, you can create a user token and follow the below instructions to link into the application.

  1. Retrieve a user token using the Create User Session end point
  2. Use the table below to determine the base URI for the state you wish to deep link to:
    State
    URIs
    NSW
    https://nsw.staging.reiformslive.com.auhttps://nsw.reiformslive.com.au
    WA
    https://wa.staging.reiformslive.com.auhttps://wa.reiformslive.com.au
    SA
    https://sa.staging.reiformslive.com.auhttps://sa.reiformslive.com.au
    NT
    https://nt.staging.reiformslive.com.auhttps://nt.reiformslive.com.au
    TAS
    https://tas.staging.reiformslive.com.auhttps://tas.reiformslive.com.au
    ACT
    https://act.staging.reiformslive.com.auhttps://act.reiformslive.com.au
    QLD
    https://qld.staging.reiformslive.com.auhttps://app.realworks.com.au
    VIC
    https://vic.staging.formslive.com.auhttps://vic.formslive.com.au
  3. Using the following format BASE_URI/?token=TOKEN#PATH to generate your deep link, e.g:
    • https://nsw.reiformslive.com.au/?token=XXX#news - deep link to the news page
    • https://tas.reiformslive.com.au/?token=XXX#forms - deep link to the forms index
    • https://app.realworks.com.au/?token=XXX#form/123/display - deep link to the form with the ID of 123

Authentication Methods

Third Party

The third party authentication method allows integrators access to the API using a standards based Authorization header. This header is combination of your API key and an access token (generated by the end-user for your application via the REI Forms Live/Realworks user interface, or by using Implicit Grant below) encoded as a base64 string.

All third party tokens generated by an end-user will remain active until removed by the user and will be completely unaffected by things such as username or password changes. The below screenshot shows the third party area where and end-user will create their access token:

This method is much more secure and gives the ability for end-users to control which third parties can access their account at any given time. However the main advantage is the ability to make requests without managing a session in your application by simply passing the Authorization header to any of the end points documented below.

Once you have an API Key and end-user third party token, you can construct your Authorization header as such:

  1. Example key: a9d9b0a7-1365-4781-85b3-0fbb36ecd230
  2. Example token: 258170b7-d02b-4f8b-aa41-2976f172fa21
  3. Combine with colon: a9d9b0a7-1365-4781-85b3-0fbb36ecd230:258170b7-d02b-4f8b-aa41-2976f172fa21
  4. Convert to base64: YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==
  5. Pass in header: Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==

Authorisation Methods

Implicit Grant

Implicit Grant is the process of generating & retrieving a Third Party token easily and securely, without requiring the end-user to generate and provide the token.

Located within your Developer API welcome email, will be your unique client_id. You will need to contact us to provide us with a valid redirect_uri as per below.

Starting the implicit grant

To begin the implicit grant, you would direct the user to (via a web browser):

URIs
staging
https://accounts.staging.reiformslive.com.au/oauth/authorize
production
https://accounts.reiformslive.com.au/oauth/authorize
with the following query parameters. For this grant, the response_type must be token:
Parameters
URI
https://accounts.reiformslive.com.au/oauth/authorize
response_type
The response type, in this case always token.
client_id
The client_id provided by REI Forms Live to you.
redirect_uri
The URI you would like authorisation calls to be sent to (could be a custom URL scheme for mobile applications).
state
A variable for use by you to reduce the risk of cross-site request forgery on your authorisation end-point.
only
An array of APIs/States/Territories your application supports (act, nsw, nt, qld, sa, tas, wa, vic).
api
The default API/State/Territory your application supports (e.g. qld).
Example
https://accounts.reiformslive.com.au/oauth/authorize?response_type=token&client_id=b4b2bde8-4f5d-49c4-87a0-2f733248c2a5&state=12345&redirect_uri=https://app.your-domain.com/auth
The client_id and redirect_uri MUST match what has been agreed to by REI Forms Live. If you require these to be changed, please contact us. The user is presented with a login dialog to which they login and they are then asked to authorise the app to create and edit forms on your behalf. If they click "Yes", they are redirected to the redirect_uri with the following hash parameters:
Parameters
access_token
The token to use in conjunction with your API Key in the Authorization header.
token_type
The authorisation type, in this case always Basic.
api
The API/State/Territory their account was linked to.
state
The state variable you sent in the original request.
env
Whether the account is staging or production.
Example
https://app.your-domain.com/auth/#access_token=b1b584ea-90c8-48d1-b8eb-c43f1ad665fe&token_type=Basic&state=12345&=qld&env=production

Once you have the token, use it as per Third Party above.

Signing

Overview

There are currently several methods for signing a form in REI Forms Live/Realworks, however due to several factors the signature stamping and sign on screen methods are not available for developers. However the remote signing method is supported and recommended across all states/territories, bar ACT at this time.

Remote signing leverages a third party to manage and complete the workflow involved in a digital signing request. At the time of writing we currently support DocuSign.

DocuSign

DocuSign is the first third party signing service integrated into REI Forms Live/Realworks. However before it can be utilized by a developer, the end user must first register for an account with DocuSign and then authorize access to this account within the REI Forms Live/Realworks user interface.

Once this has been completed, a developer can then use the Remote Signing end points to create, track and manage remote signing requests for the users forms. Remote Signing may not be available for specific forms within a state/territory due to various reasons outside our control.

Please note: REI Forms Live/Realworks users should contact their local REI for the latest DocuSign offers

Error Codes

Due to this feature requiring additional setup of a third party service, it may not be available for all users. To make things simpler for developers, we are now returning an errorCode on errornous responses from the Remote Signing end points.

Please refer to the table below on possible error codes:

Error Code
Description
REMOTE_SIGNING_NOT_SETUP
Returned when the user is not configured for Remote Signing.
REMOTE_SIGNING_NOT_FOUND
Returned when a Remote Signing request is not found.
REMOTE_SIGNING_VOID_USER
Returned when trying to void a Remote Signing request created by another user.

Session

Get Current Session

Description
To get current session information, a HTTP GET request is made to the URL with the session token.
Method
GET
URI
/session/
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
user
User
A user object.
agency
Agency
An agency object.
token
String
Unique session token.
Example
curl https://app-api.reiformslive.com.au/session \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "user": {
    "id": 1,
    "agency_id": 2,
    "member_number": null,
    "realtor_number": null,
    "given_name": "John",
    "surname": "Doe",
    "email": "JohnDoe@example.com",
    "mobile": "",
    "principal": true,
    "default_private": false,
    "active": true,
    "deleted": false,
    "created": 1354083959,
    "updated": 1355181213
  },
  "agency": {
    "id": 44,
    "name": "Mark",
    "address": "Test",
    "address2": "",
    "suburb": "Test",
    "state": "SA",
    "postcode": "5000",
    "phone": "9493498394",
    "fax": "8498349",
    "email": "agency@example.com",
    "credits": 26500,
    "active": true,
    "approved": true,
    "member_number": "000001",
    "licencee_name": "Example Agency Realty Ltd Pty",
    "licencee_number": "000002",
    "gst": false,
    "abn": "000000",
    "logo": null,
    "created": 1354083959,
    "updated": 1355288002,
    "active_subscription": false,
    "subscription_expiry": null,
    "subscription_type": "ALL",
    "admin": true,
    "forms_created": 12
  },
  "token": "00000000-0000-0000-0000-000000000000",
  "impersonating": false
}

News

Get News Items

Description
To get a list of news items, a HTTP GET request is made to the URL with the session token.
Method
GET
URI
/news/
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
The unique id of the news item.
title
String
The title of the news item
content
String
The html content of the news item.
created
Timestamp
Returns Unix timestamp of when the news post was made.
updated
Timestamp
Returns Unix timestamp of when the news post was updated.
Example
curl https://app-api.reiformslive.com.au/news \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

[
  {
    "id": 1,
    "title": "News - Title",
    "content": "News - Content",
    "created": 1353974816,
    "updated": 1353974816
  }, ...
]

Templates

Get Templates

Description
To get a list of templates, a HTTP GET request is made to the URL with the session token.
Method
GET
URI
/templates/
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
cost
Integer
Monetary value of template specified in cents.
active
Boolean
Returns true if the user template is active.
id
Integer
Unique ID of the template.
name
String
Name of the template.
code
String
Code of the template.
template_group_id
Integer
Template group ID.
Example
curl https://app-api.reiformslive.com.au/templates \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

[
  {
    "id": 1,
    "name": "Sales Forms",
    "active": true,
    "index": 1,
    "type": "SA",
    "templates": [
      {
        "cost": 90,
        "active": true,
        "id": 65,
        "name": "Agency Agreement 1",
        "code": "0000001",
        "template_group_id": 1
      }
    ]
  },
  {
    "id": 2,
    "name": "Property Management Forms",
    "active": true,
    "index": 2,
    "type": "FM",
    "templates": [
      {
        "cost": 35,
        "active": true,
        "id": 64,
        "name": "Agency Agreement 2",
        "code": "0000002",
        "template_group_id": 2
      }
    ]
  }
]

Get Single Template

Description
To get a single template a HTTP GET request is made to the URL with the session token.
Method
GET
URI
/templates/template_id
URI
/template_versions/template_version_id
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
template
Template
An template object.
template_version
Version
A template version object.
fields
Fields
A template fields object.
Example
curl https://app-api.reiformslive.com.au/templates \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "template": {
    "id": 1,
    "name": "Condition Report",
    "code": "CR0000",
    "active": true,
    "orientation": "landscape",
    "template_group_id": 2,
    "name_test": null,
    "created": 1348709689,
    "updated": 1348709689
  },
  "template_version": {
    "id": 2,
    "template_id": 2,
    "cost": 10,
    "created": 1348709690,
    "updated": 1348709690,
    "user_guide_pages": 0,
    "instruction_pages": 0
  },
  "fields": [
    {
      "display_name": "Agent Name",
      "name": "Agent_Name",
      "locked": true,
      "required": false
    },
    {
      "display_name": "Agent Mobile",
      "name": "Agent_Phone_Mobile",
      "locked": false,
      "required": false
    },
    {
      "display_name": "Agent Email",
      "name": "Agent_Email",
      "locked": false,
      "required": false
    }
  ]
}

Forms

Get Forms

Description
To get a list of forms, a HTTP GET request is made to the URL. By default, the results of this end point are paged, refer to page paramater for additional information.
Method
GET
URI
/forms/
Parameters
page
Can be used to return additional pages of forms, an empty array will be returned when there are no more records.
Default value is 1, if not passed.
query
Can be used to filter forms by name based on passed query value.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Form
Form Summary
A summary of the form object.
Example
curl https://app-api.reiformslive.com.au/forms/ \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

[
  {
    "id": 1,
    "template_version_id": 1,
    "agency_id": 1,
    "user_id": 1,
    "name": "Important form",
    "template": false,
    "finalised": true,
    "private": false,
    "created": 1350966273,
    "updated": 1350966303,
    "given_name": "John",
    "surname": "Doe",
    "template_cost": 80,
    "template_id": 144,
    "template_name": "Agency Template",
    "template_code": "T1000",
    "template_instruction_pages": 1
  }, ...
]

Get Single Form

Description
To get the details of a single form, a HTTP GET request is made to the URL with the form ID and session token.
Method
GET
URI
/forms/form_id
URI Parameters
form_id
The ID of the form.
Parameters
query
Can be used to retrieve forms with a certain name.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Form
Form
A form object.
Example
curl https://app-api.reiformslive.com.au/forms/1 \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "id": 1,
  "template_version_id": 1,
  "agency_id": 1,
  "user_id": 1,
  "name": "Important form",
  "template": false,
  "finalised": true,
  "private": true,
  "created": 1351569329,
  "updated": 1351569546,
  "template_cost": 50,
  "template_instruction_pages": 0,
  "template_id": 131,
  "template_name": "Agency Template",
  "template_orientation": "portrait",
  "annexure_template_ids": [1, 2],
  "annexure_pdf_ids": [1],
  "values": {
    "Premises_Postcode": "5000",
    "Premises_Address": "123 Example Ave",
    "Parties_Principal_Title": "John Doe",
    "id": "1",
    "Agent_GST_Reg": "Yes",
    "Agent_Name": "Example Realty",
    "Agent_Licence_No": "000000",
    "Agent_ABN_ACN": "00 0000 0000",
    "Agent_Address": "1 Example St",
    "Agent_Address2": "",
    "Agent_Postcode": "5000",
    "Agent_Phone_Work": "08 0000 0000",
    "Agent_Phone_Mobile": "0000 000 000",
    "Agent_Fax": "",
    "Agent_Email": "agent@example.com",
    "Agent_Trading_As": "Example Realty Realty Ltd Pty"
  }
}

Updating Form Name

Description
To update the details of a form, a HTTP PUT request is made to the URL with the form ID and session token.
Method
PUT
URI
/forms/form_id
URI Parameters
form_id
The ID of the form.
Parameters
name
The desired name of form.
private
Whether the form is private or not. If this property is not passed, the users default preference will be used.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
Unique ID of the form.
template_version_id
Integer
Unique ID of the template version of the template the form is made from.
agency_id
Integer
Unique ID of the form's agency.
user_id
Integer
Unique ID of the user that created the form.
name
String
Name of the form.
template
Boolean
Returns true if the form is a template.
finalised
Boolean
Returns true if the form is finalised.
private
Boolean
Returns true if the form is private.
created
Timestamp
Returns Unix timestamp of when form was created.
updated
Timestamp
Returns Unix timestamp of when form was updated.
Example
curl https://app-api.reiformslive.com.au/forms/1 \
--request PUT \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "name":"New Form Name",
            "private":true
        }'

{
  "id": 1,
  "template_version_id": 1,
  "agency_id": 1,
  "user_id": 1,
  "name": "New Form Name",
  "template": false,
  "finalised": false,
  "private": null,
  "created": 1355095409,
  "updated": 1355097889
}

Create Forms

Description
To create a form, a HTTP POST request is made to the URL with the form ID and session token.
Method
POST
URI
/forms/
URI Parameters
form_id
The ID of the form.
Required Parameters
name
Name of the form.
template_id
Unique ID of the template that the form will be created from.
Parameters
private
Whether the form is private or not. If this property is not passed, the users default preference will be used.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
template_version_id
Integer
Unique ID of the template version of the template the form is made from.
agency_id
Integer
Unique ID of the agency the form belongs to.
user_id
Integer
Unique ID of the user that created the form.
name
String
Name of the form.
template
Boolean
Returns true if the form is a template.
deleted
Boolean
Returns true if the form is deleted.
finalised
Boolean
Returns true if the form is finalised.
private
Boolean
Returns true if the form is private.
created
Timestamp
Returns Unix timestamp of when form was created.
updated
Timestamp
Returns Unix timestamp of when form was updated.
Example
curl http://app-api.reiformslive.com.au/forms/ \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "name":"Example Form",
            "template_id": 1,
            "private": false
        }'

{
  "id": 1,
  "template_version_id": 2,
  "agency_id": 1,
  "user_id": 1,
  "name": "Example Form",
  "template": false,
  "deleted": false,
  "finalised": false,
  "private": false,
  "created": 1354587703,
  "updated": 1354587703
}

Update Form Values

Description
To update the values of a form, a HTTP PUT request is made to the URL with the form ID and session token.
Method
PUT
URI
/forms/form_id/save
URI Parameters
form_id
The ID of the form.
Parameters
<value name>
A value in the form.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/forms/1/save \
--request PUT \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "example_field":"new value",
            "example_field2":"new value",
            ...
        }'

{
  "message": "The form has been saved."
}

Available Annexures

Description
To get a list of available annexures for a form, a HTTP GET request is made to the URL with the form's template version ID and a session token.
 
To determine if an annexure is attached to the form, you check for the annexure's ID in the annexure_template_ids field (or the annexure_pdf_ids field if the annexure is of the pdf type) returned from the get form endpoint.
 
Note: If the site supports PDF annexures, both standard and PDF annexures will be returned by this endpoint.
Method
GET
URI
/template_versions/template_version_id/annexures
URI Parameters
template_version_id
The template version ID for the form. This is returned when you get a form.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Array of Annexures
Annexure
An array of annexure objects.
Example
curl https://app-api.reiformslive.com.au/template_versions/1/annexures \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

[
  {
    "id": 1,
    "name": "Blank Annexure A",
    "index": 10,
    "auto": false,
    "pdf": false,
    "optional": true
  },
  {
    "id": 2,
    "name": "Blank Annexure B",
    "index": 20,
    "auto": false,
    "pdf": false,
    "optional": true
  },
  {
    "id": 3,
    "name": "Blank Annexure C",
    "index": 30,
    "auto": false,
    "pdf": false,
    "optional": true
  },
  {
    "id": 1,
    "name": "Foreign Transfer Duty Declaration",
    "index": 100,
    "auto": true,
    "pdf": true,
    "optional": true
  }
]

Update Annexures

Description
To update the annexures attached to a form, a HTTP PUT request is made to the URL with the form ID, annexure ID's and a session token.
 
Note: Calling this end point will clear any existing annexures (and pdf annexures if supported) and attach only those passed in the parameters.
Method
PUT
URI
/forms/form_id/annexures
URI Parameters
form_id
The ID of the form.
Parameters
annexures
An array of annexure ID's to attach to the form (see Available Annexures).
pdfs (if supported)
An array of PDF annexure ID's to attach to the form (see Available Annexures).
Headers
Authorization
Third party based authorization header
Example
curl https://app-api.reiformslive.com.au/forms/1/annexures \
--request PUT \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
  annexures: [1,2],
  pdfs: [1]
}'

Delete Forms

Description
To delete a form, a HTTP DELETE request is made to the URL with the form ID and session token.
Method
DELETE
URI
/forms/form_id/
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/forms/1 \
--request DELETE \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "message": "The form was successfully deleted."
}

Form Tokens

Description
To download a form, a unique form token must be provided. To retrieve a download token, a HTTP GET request is made to the URL with the form ID and session token.
Method
GET
URI
/forms/form_id/download/
URI Parameters
form_id
The ID of the form.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
Unique ID of the form.
agency_id
Integer
Unique ID of the agency.
ip
String
IP address that the token is locked to.
token
String
Unique download token.
Example
curl https://app-api.reiformslive.com.au/forms/1/print \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "id": 1,
  "agency_id": 1,
  "ip": "127.0.0.1",
  "token": "00000000-0000-0000-0000-000000000000"
}

Downloading Forms

Description
To download a form a HTTP GET request is made to the URL with the agency ID, a unique download token.
Method
GET
URI
/download/token/attach/
URI Parameters
download_token
Unique download token.
attach
If supplied, the pdf file will be downloaded instead of opened in the browser.
returns
PDF File

Email Forms

Description
To email a form as an attachment a HTTP POST request is made to the URL with the agency ID, a unique download token and session token.
Method
POST
URI
/forms/form_id/email
URI Parameters
form_id
The ID of the form.
Parameters
instruction
Include the instruction page or not.
recipient
The email address of the recipient.
message
The message in the body of the email.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Success
Boolean
The change was made successfully.
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/forms/1/email \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "instruction" : true,
            "recipient" : "johnd@example.com",
            "message" : "This is an example".
        }'

{
  "success": true,
  "message": "The email has been sent."
}

Finalising Forms

Description
To finalise a form a HTTP POST request is made to the URL with the form ID and session token.
Method
POST
URI
/forms/form_id/finalise
URI Parameters
form_id
The ID of the form.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/forms/1/finalise \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "message": "The form has been finalised"
}

Duplicating Forms

Description
To duplicate a form a HTTP POST request is made to the URL with the agency ID, a unique download token and session token.
Method
POST
URI
/forms/form_id/duplicate
URI Parameters
form_id
The ID of the form.
Parameters
name
Name of form.
private
Whether the form is private or not. If this property is not passed, the users default preference will be used.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
Unique ID of the form.
template_version_id
Integer
Unique ID of the template version of the template the form is made from.
agency_id
Integer
Unique ID of the agency the form belongs to.
user_id
Integer
Unique ID of the user that created the form.
name
String
Name of the form.
template
Boolean
Returns true if the form is a template.
deleted
Boolean
Returns true if the form is deleted.
finalised
Boolean
Returns true if the form is finalised.
private
Boolean
Returns true if the form is private.
created
Timestamp
Returns Unix timestamp of when form was created.
updated
Timestamp
Returns Unix timestamp of when form was updated.
Example
curl https://app-api.reiformslive.com.au/forms/1/duplicate \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "name" : "Duplicated Form",
            "private" : false
        }'

{
  "id": 8454,
  "template_version_id": 83,
  "agency_id": 1,
  "user_id": 2,
  "name": "Duplicated Form",
  "template": false,
  "deleted": false,
  "finalised": false,
  "private": false,
  "created": 1354671153,
  "updated": 1354671153
}

Template from a form

Description
To create a template from a form a HTTP POST request is made to the URL with the session token.
Method
POST
URI
/forms/form_id/user-template
URI Parameters
form_id
The ID of the form.
Parameters
name
Name of form.
private
Whether the form is private or not. If this property is not passed, the users default preference will be used.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
Unique ID of the template.
template_version_id
Integer
Unique ID of the template version of the template the template is made from.
agency_id
Integer
Unique ID of the agency the template belongs to.
user_id
Integer
Unique ID of the user that created the template.
name
String
Name of the template.
template
Boolean
Returns true if the template is a template.
deleted
Boolean
Returns true if the template is deleted.
finalised
Boolean
Returns true if the template is finalised.
private
Boolean
Returns true if the template is private.
created
Timestamp
Returns Unix timestamp of when template was created.
updated
Timestamp
Returns Unix timestamp of when template was updated.
Example
curl https://app-api.reiformslive.com.au/forms/1/user-template \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "name" : "template Form",
            "private" : false,
        }'

{
  "id": 402,
  "template_version_id": 108,
  "agency_id": 1,
  "user_id": 37,
  "name": "template Form",
  "template": true,
  "deleted": false,
  "finalised": false,
  "private": false,
  "created": 1354678114,
  "updated": 1354678114
}

Form Files

Get Form Files

Description
To get a list of files attached to a form, a HTTP GET request is made to the URL.
Method
GET
URI
/forms/form_id/files
URI Parameters
form_id
The ID of the form.
Parameters
attachments
Pass true to only return files that can be attached when printed.
Default value is false, if not passed.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Array of Form Files
Form File
A form file object.
Example
curl https://app-api.reiformslive.com.au/forms/1/files \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

[
  {
    "id": 1,
    "form_id": 1,
    "user_id": 1,
    "filename": "Test.pdf",
    "content_type": "application/pdf",
    "attachment": true,
    "deleted": false,
    "created": "1506294669",
    "updated": "1506294669",
    "index": 1
  }, ...
]

Create Form Files

Description
To create a form file, a HTTP POST request is made to the URL with the form ID.
Method
POST
URI
/forms/form_id/files
URI Parameters
form_id
The ID of the form.
Required Parameters
filename
The original file name.
data
The contents of the file base64 encoded in Data URI scheme.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Form File
Form File
A form file object.
Example
curl http://app-api.reiformslive.com.au/forms/1/files \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "filename": "Example Form",
            "data": "data:application/pdf;base64,R0lGODdh"
        }'

{
  "id": 1,
  "form_id": 1,
  "user_id": 1,
  "filename": "Test.pdf",
  "content_type": "application/pdf",
  "attachment": true,
  "deleted": false,
  "created": "1506294669",
  "updated": "1506294669",
  "index": 1
}

Update Form Files

Description
To update the index/order of a form file, a HTTP PUT request is made to the URL with the form ID and file ID. The contents or filename cannot be changed.
Method
PUT
URI
/forms/form_id/files/file_id
URI Parameters
form_id
The ID of the form.
file_id
The ID of the file.
Required Parameters
index
The new index for the file.
Headers
Authorization
Third party based authorization header
Returns
Returns 204 status code on success with no response body. Use Get Form Files to retrieve updated list of files and associated indexes.
Example
curl http://app-api.reiformslive.com.au/forms/1/files/1 \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "index": 2
        }'

Download Form Files

Description
To download a form file, a HTTP GET request is made to the URL with the form ID and file ID.
Method
GET
URI
/forms/form_id/files/file_id
URI Parameters
form_id
The ID of the form.
file_id
The ID of the file.
Headers
Authorization
Third party based authorization header
Returns
Returns file as binary download.
Example
curl http://app-api.reiformslive.com.au/forms/1/files/1 \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

Delete Form Files

Description
To delete a form file a HTTP DELETE request is made to the URL with the form ID and file ID.
Method
DELETE
URI
/forms/form_id/files/file_id
URI Parameters
form_id
The ID of the form.
file_id
The ID of the form file.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/forms/1/files/1 \
--request DELETE \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "message": "The file was successfully deleted."
}

Remote Signing

Get Form Signers

Description
To get a list of signers for a form, a HTTP GET request is made to the URL.
Method
GET
URI
/forms/form_id/remote_sign/signers
URI Parameters
form_id
The ID of the form.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Signers object with array of Signers
Signer
A signer object.
Example
curl https://app-api.reiformslive.com.au/forms/1/remote_sign/signers \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
    "signers": [
        {
            "signer": "Agent",
            "name": null,
            "email": null
        },
        {
            "signer": "Vendor (1)",
            "name": null,
            "email": null
        },
        {
            "signer": "Vendor (2)",
            "name": null,
            "email": null
        }
    ]
}

Create Remote Signing Request

Description
To create a remote signing request, a HTTP POST request is made to the URL with a completed Signers object.
Method
POST
URI
/forms/form_id/remote_sign
URI Parameters
form_id
The ID of the form.
Required Parameters
signers
An array of Signers
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Remote Sign Status
Remote Sign Status
A remote sign status object.
Example
curl http://app-api.reiformslive.com.au/forms/1/remote_sign \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{"signers": [
          {
              "signer": "Agent",
              "name": "John Doe",
              "email": "john@example.org"
          },
          {
              "signer": "Vendor (1)",
              "name": "Jane Smith",
              "email": "jane@example.org"
          }
        ]}'

{
    "status": "sent",
    "created": "2018-10-12T05:51:22.1600000Z",
    "updated": "2018-10-12T05:51:22.1600000Z",
    "sent": "2018-10-12T05:51:23.3330000Z",
    "recipients": [
        {
            "name": "John Doe",
            "email": "john@example.org",
            "status": "sent",
            "signed": null
        },
        {
            "name": "Jane Smith",
            "email": "jane@example.org",
            "status": "sent",
            "signed": null
        }
    ]
}

Void Remote Signing Request

Description
To void a remote signing request, a HTTP DELETE request is made to the URL with the form ID.
This can only be performed by the user which created the remote signing request.
Method
DELETE
URI
/forms/form_id/remote_sign
URI Parameters
form_id
The ID of the form.
Headers
Authorization
Third party based authorization header
Returns
Returns 204 status code on success with no response body.
Example
curl http://app-api.reiformslive.com.au/forms/1/remote_sign \
--request DELETE \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \

Get Remote Signing Status

Description
To get the status of a remote signing request a HTTP GET request is made to the URL with the form ID.
Method
GET
URI
/forms/form_id/remote_sign
URI Parameters
form_id
The ID of the form.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Remote Sign Status
Remote Sign Status
A remote sign status object.
Example
curl https://app-api.reiformslive.com.au/forms/1/remote_sign \
--request GET \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
    "status": "sent",
    "created": "2018-10-12T05:51:22.1600000Z",
    "updated": "2018-10-12T05:51:22.1600000Z",
    "sent": "2018-10-12T05:51:23.3330000Z",
    "recipients": [
        {
            "name": "John Doe",
            "email": "john@example.org",
            "status": "sent",
            "signed": null
        },
        {
            "name": "Jane Smith",
            "email": "jane@example.org",
            "status": "sent",
            "signed": null
        }
    ]
}

Download Remote Signing PDF

Description
To download a remotely signed PDF, a HTTP GET request is made to the URL with the form ID.
Note that a PDF can be obtained before any/all remote signers have completed the request, to obtain a completed PDF ensure the remote signing status is completed before using this request.
Method
GET
URI
/forms/form_id/remote_sign/pdf
URI Parameters
form_id
The ID of the form.
Headers
Authorization
Third party based authorization header
Returns
Returns file as binary download.
Example
curl http://app-api.reiformslive.com.au/forms/1/remote_sign/pdf \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

User Templates

Get User Templates

Description
To get a list of user templates, a HTTP GET request is made to the URL. By default, the results of this end point are paged, refer to page paramater for additional information.
Method
GET
URI
/user-templates/
Parameters
page
Can be used to return additional pages of user templates, an empty array will be returned when there are no more records.
Optionally you can pass 'all' to return all active user templates.
Default value is 1, if not passed.
query
Can be used to filter user templates by name based on passed query value.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
Unique ID of the user template.
template_version_id
Integer
Unique ID representing the user template version.
agency_id
Integer
Unique ID of the user template.
user_id
Integer
Unique ID of the user that created the user template.
name
String
Name of the user template.
template
Boolean
Returns true if user template is a template.
finalised
Boolean
Returns true if the user template is finalised.
private
Boolean
Returns true if the user template is private.
created
Timestamp
Returns Unix timestamp of when user template was created.
updated
Timestamp
Returns Unix timestamp of when user template was updated.
given_name
String
First name of the transaction's creator.
surname
String
Last name of the transaction's creator.
template_cost
Integer
Monetary value of user template specified in cents.
template_id
Integer
Unique ID representing the user template's template.
template_name
String
Name of the template the user template is made from.
template_code
String
Template code of the template the user template is made from.
Example
curl https://app-api.reiformslive.com.au/user-templates \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

[
  {
    "id": 1,
    "template_version_id": 2,
    "agency_id": 1,
    "user_id": 1,
    "name": "A user template",
    "template": true,
    "finalised": false,
    "private": false,
    "created": 1348728696,
    "updated": 1349143614,
    "given_name": "John",
    "surname": "Doe",
    "template_cost": 110,
    "template_id": 138,
    "template_name": "Original Template",
    "template_code": "T1000"
  }, ...
]

Get Single User Template

Description
To get a list of user templates, a HTTP GET request is made to the URL with the session token.
Method
GET
URI
/user-templates/user_template_id
URI Parameters
user_template_id
The ID of the user template.
Parameters
query
Can be used to retrieve forms with a certain name.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Form
Form
A form object.
Example
curl https://app-api.reiformslive.com.au/user-templates/1 \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  {
  "id": 1,
  "template_version_id": 1,
  "agency_id": 1,
  "user_id": 1,
  "name": "Important form",
  "template": false,
  "finalised": true,
  "private": false,
  "created": 1351569329,
  "updated": 1351569546,
  "template_cost": 50,
  "template_instruction_pages": 0,
  "template_id": 131,
  "template_name": "Agency Template",
  "template_orientation": "portrait",
  "values": {
    "Premises_Postcode": "5000",
    "Premises_Address": "123 Example Ave",
    "Parties_Principal_Title": "John Doe",
    "id": "1",
    "Agent_GST_Reg": "Yes",
    "Agent_Name": "Example Realty",
    "Agent_Licence_No": "000000",
    "Agent_ABN_ACN": "00 0000 0000",
    "Agent_Address": "1 Example St",
    "Agent_Address2": "",
    "Agent_Postcode": "5000",
    "Agent_Phone_Work": "08 0000 0000",
    "Agent_Phone_Mobile": "0000 000 000",
    "Agent_Fax": "",
    "Agent_Email": "agent@example.com",
    "Agent_Trading_As": "Example Realty Realty Ltd Pty"
  }
}

Create Form From User Templates

Description
To create a form from a user template a HTTP POST request is made to the URL with the session token.
Method
POST
URI
/user-templates/template_id/form
URI Parameters
template_id
The ID of the user template.
Parameters
name
Name of form.
private
Whether the form is private or not. If this property is not passed, the users default preference will be used.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
Unique ID of the form.
template_version_id
Integer
Version ID of the template used to create form.
agency_id
Integer
Unique ID of the agency of the form.
user_id
Integer
Unique ID of the creator of the form.
name
String
Name of the form.
template
Boolean
Returns true if form is a template.
finalised
Boolean
Returns true if form is finalised.
private
Boolean
returns true if form is private.
created
Timestamp
Returns Unix timestamp of when form was created.
updated
Timestamp
Returns Unix timestamp of when form was last updated.
Example
curl https://app-api.reiformslive.com.au/user-templates/1/form \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "name" : "New Form",
            "private" : false
        }'

{
  "id": 404,
  "template_version_id": 104,
  "agency_id": 1,
  "user_id": 37,
  "name": "New Form",
  "template": false,
  "finalised": false,
  "private": false,
  "created": 1354766531,
  "updated": 1354766531
}

Delete a User Template

Description
To delete a user template a HTTP DELETE request is made to the URL with the session token.
Method
DELETE
URI
/user-templates/template_id/
URI Parameters
template_id
The ID of the user template.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/user-templates/1 \
--request DELETE \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "message": "The form was successfully deleted."
}

Agency

Get Agency

Description
To get current agency information a HTTP GET request is made to the URL with the session token.
Method
GET
URI
/agency/
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
agency
Agency
An agency object.
Example
curl https://app-api.reiformslive.com.au/agency \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "id": 1,
  "name": "Example Agency",
  "address": "123 Example Ave",
  "address2": "",
  "suburb": "Adelaide",
  "state": "SA",
  "postcode": "5000",
  "phone": "00 0000 0000",
  "fax": "",
  "email": "ExampleAgency@example.com",
  "credits": 15895,
  "active": true,
  "approved": true,
  "member_number": "4830484",
  "licencee_name": "Example Agency Realty Ltd Pty",
  "licencee_number": "000000",
  "gst": true,
  "abn": "00 0000 0000",
  "logo": "8c42e4a4-4e2c-4288-b86a-2247bd47ba59",
  "created": 1347418493,
  "updated": 1354661735,
  "active_subscription": true,
  "subscription_expiry": 1385557200,
  "subscription_type": "ALL",
  "admin": true,
  "forms_created": 173
}

Get Transactions

Description
To get a list of agency transactions, a HTTP GET request is made to the URL with the page number, transaction type and session token.
Method
GET
URI
/agency/transactions
Parameters
page
The page of transactions.
type
The type of transaction. Either "credit" or "debit".
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
Unique ID of the transaction.
agency_id
Integer
Unique ID of the transaction's agency.
user_id
Integer
Unique ID of the user who created the transaction.
reference
String
Unique reference number of the transaction.
amount
Integer
Monetary value specified in cents.
comment
String
Comment about the transaction.
created
Integer
Returns Unix timestamp of when transaction was created.
credit
Boolean
The transaction is a credit type.
debit
Boolean
The transaction is a debit type.
given_name
String
First name of the transaction's creator.
surname
String
Last name of the transaction's creator.
form_id
Integer
Unique ID of the form in the transaction.
failed
Boolean
Returns true if trasaction failed.
failed_reason
String
A string relating to why the transaction failed.
Example
curl https://app-api.reiformslive.com.au/agency/transactions \
--request GET \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "page":1,
            "type":"debit"
        }'

[
  {
    "id": 1,
    "agency_id": 1,
    "user_id": 9,
    "reference": "000000000000000",
    "amount": 0,
    "comment": "comment",
    "created": 1349150524,
    "credit": false,
    "debit": true,
    "given_name": "John",
    "surname": "Doe",
    "form_id": null,
    "failed": false,
    "failed_reason": null
  }, ...
]

Recharge Account

Description
To recharge an agency account, a HTTP POST request is made to the URL with the recharge type, amount, subscription type, credit card information and session token.
Method
POST
URI
/agency/recharge
Parameters
recharge_type
Recharge credits or subscription, 1 = credits, 2 = subscription
amount
If recharge_type is credits, this is the amount of credits in dollars.
subscription_type
If recharge_type is subscriptopn, this is the type of subscription.
"FM" = Property Management Subscription, "SA" = Sales Subscription, "ALL" = Unlimited Subscription.
card_name
The credit card name.
card_expiry_month
The month the credit card expires.
card_expiry_year
The last two digits of the year the credit card expires.
card_number
The credit card number
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/agency/recharge \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "recharge_type":"2",
            "subscription_type":"ALL",
            "card_name":"John Doe",
            "card_expiry_month":"12",
            "card_expiry_year":"12",
            "card_number":"0000000000000000"
        }'

{
  "message": "The transaction was successful."
}

Users

Get Users

Description
To get a list of users, a HTTP GET request is made to the URL with the user ID and session token.
Method
GET
URI
/users/
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
Unique ID of the user.
given_name
String
First name of the user.
surname
String
Last name of the user.
active
Integer
Returns true if the user is active.
principal
Boolean
Returns true if user is principal.
member_number
String
Unique ID of the user's agency.
created
Timestamp
Returns Unix timestamp of when user was created.
updated
Timestamp
Returns Unix timestamp of when user was last updated.
agency_id
Integer
Unique ID of the user's agency.
Example
curl https://app-api.reiformslive.com.au/users \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \

[
  {
      "id": 1,
      "given_name": "John",
      "surname": "Doe",
      "active": true,
      "principal": false,
      "member_number": "123456",
      "created": 1347434606,
      "updated": 1347434606,
      "agency_id": 1
    }, ...
]

Get Single User

Description
To get the details of a single user, a HTTP GET request is made to the URL with the user ID and session token.
Method
GET
URI
/users/user_id
URI Parameters
user_id
The ID of the user.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
user
User
A user object.
Example
curl https://app-api.reiformslive.com.au/users/1 \
--request GET \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "id": 74,
  "agency_id": 44,
  "member_number": null,
  "realtor_number": null,
  "given_name": "Jack",
  "surname": "Doe",
  "email": "jackd@example.com",
  "mobile": null,
  "principal": false,
  "default_private": false,
  "active": true,
  "deleted": false,
  "created": 1355182752,
  "updated": 1355183194
}

Update User

Description
To update the details of a user, a HTTP PUT request is made to the URL with the user ID and session token.
Method
PUT
URI
/users/user_id
URI Parameters
user_id
The ID of the user.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
user
User
A user object.
Example
curl https://app-api.reiformslive.com.au/users \
--request PUT \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "given_name":"Jack",
            "surname":"Doe",
            "email":"jackd@example.com"
        }'

{
  "id": 1
  "agency_id": 1,
  "member_number": "4734",
  "realtor_number": "7848734",
  "given_name": "Jack",
  "surname": "Doe",
  "email": "jackd@example.com",
  "mobile": "",
  "principal": true,
  "default_private": false,
  "active": true,
  "deleted": false,
  "created": 1354247862,
  "updated": 1354686568
}

Create User

Description
To create a user, a HTTP POST request is made to the URL with the user ID and session token.
Method
POST
URI
/users/
Required Parameters
given_name
The first name of the user.
surname
The last name of the user.
email
The email of the user.
Additional Parameters
member_number
The member number of the user.
realtor_number
The realtor number of the user.
mobile
The mobile number of the user.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/users \
--request POST \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "given_name":"Jack",
            "surname":"Doe",
            "email":"jackd@example.com"
        }'

{
  "message": "The user account was successfully created."
}

Delete User

Description
To delete a user, a HTTP DELETE request is made to the URL with the user ID and session token.
Method
DELETE
URI
/users/user_id
URI Parameters
user_id
The ID of the user.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/users/1 \
--request DELETE \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \

{
  "message": "The user account has been deleted."
}

Transfer forms between users

Description
To transfer all forms from one user to another, a HTTP PUT request is made to the URL with the user ID and session token.
Method
PUT
URI
/users/user_id/transfer
URI Parameters
user_id
The ID of the user that the forms are being transferred from.
Parameters
transfer_user_id
The ID of the user that the forms are being transfered to.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Message
String
Message relating to the update.
Example
curl https://app-api.reiformslive.com.au/users/1/transfer \
--request PUT \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "transfer_user_id":"2"
        }'

{
  "message": "The forms have been transferred successfully."
}

Get Active User

Description
To get the currently logged in user, a HTTP GET request is made to the URL with the session token.
Method
GET
URI
/user/
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
user
User
A user object.
Example
curl https://app-api.reiformslive.com.au/user \
--request GET \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

{
  "id": 68,
  "member_number": 12345,
  "realtor_number": 12345,
  "given_name": "John",
  "surname": "Doe",
  "email": "JohnD@example.com",
  "mobile": "",
  "principal": true,
  "default_private": false,
  "active": true,
  "deleted": false,
  "created": 1354083959,
  "updated": 1355093281
}

Update Active User

Description
To update the currently logged in user, a HTTP PUT request is made to the URL with the session token.
Method
PUT
URI
/user/
Parameters
<value name>
A value in the form.
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
id
Integer
Unique ID of the user.
agency_id
Integer
Unique ID of the user's agency.
member_number
String
REINSW member number.
realtor_number
String
Registered land agent number.
given_name
String
First name of the user.
surname
String
Last name of the user.
email
String
Email address of the user.
mobile
String
Mobile number of the user.
principal
Boolean
Returns true if user is principal.
default_private
Boolean
Returns true if forms created by user are private by default.
active
Boolean
Returns true if the user is active.
deleted
Boolean
Returns true if the user is deleted.
created
Timestamp
Returns Unix timestamp of when user was created.
updated
Timestamp
Returns Unix timestamp of when user was last updated.
Example
curl https://app-api.reiformslive.com.au/user \
--request PUT \
--header "content-type: application/json" \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
--data '{
            "given_name":"Jack"
        }'

{
  "id": 1,
  "agency_id": 1,
  "member_number": "1234",
  "realtor_number": "1234567",
  "given_name": "Jack",
  "surname": "Doe",
  "email": "JackD@example.com",
  "mobile": "",
  "principal": true,
  "default_private": false,
  "active": true,
  "deleted": false,
  "created": 1354247862,
  "updated": 1354765875
}

Create User Session

Description
Create a token to be used for deep linking an end-user into REI Forms Live/Realworks.
Applicable only for Third Party based authentication.
Method
POST
URI
/user/session
Headers
Authorization
Third party based authorization header
Returns
Field
Type
Description
Token
String
Token to be used for deep linking
Example
curl https://app-api.reiformslive.com.au/user/session \
--request POST \
--header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" 

{
  "token": "00000000-0000-0000-0000-000000000000"
}

Common Fields (for form values)

As of February 2015, we have been hard at work renaming fields across forms in all states to ensure we offer a common set of fields. However due to the different states having different requirements for their legally prescribed forms, we have determined the best approach is to set common names where possible and provide complete lists for each state in CSV format, broken down by form code.

These lists can be parsed or read by integrators to determine which fields are needed to satisy the requirements of the integration, being CSV format they can also be programmatically parsed.

Common Fields Lists

State
List
NSW
Download Now
QLD
Download Now
WA
Download Now
SA
Download Now
TAS
Download Now
NT
Download Now
ACT
Download Now
VIC
Download Now

Appendix

Form Object Summary

Field
Type
Description
id
Integer
Unique ID of the form.
template_version_id
Integer
Unique ID of the template version of the template the form is made from.
agency_id
Integer
Unique ID of the agency the form belongs to.
user_id
Integer
Unique ID of the user that created the form.
name
String
Name of the form.
template
Boolean
Returns true if the form is a template.
finalised
Boolean
Returns true if the form is finalised.
private
Boolean
Returns true if the form is private.
created
Timestamp
Returns Unix timestamp of when form was created.
updated
Timestamp
Returns Unix timestamp of when form was updated.
given_name
String
First name of the user who created the form.
surname
String
Last name of the user who created the form.
template_cost
Integer
Monetary value of the form's template in cents.
template_id
Integer
Unique ID of the form's template.
template_name
String
Name of the form's template.
template_code
String
The code of the form's template.
template_instruction_pages
Integer
The number of instruction pages the form's template contains.

Form Object

Field
Type
Description
id
Integer
Unique ID of the form.
template_version_id
Integer
Unique ID of the template version of the template the form is made from.
agency_id
Integer
Unique ID of the agency the form belongs to.
user_id
Integer
Unique ID of the user that created the form.
name
String
Name of the form.
template
Boolean
Returns true if the form is a template.
finalised
Boolean
Returns true if the form is finalised.
private
Boolean
Returns true if the form is private.
created
Timestamp
Returns Unix timestamp of when form was created.
updated
Timestamp
Returns Unix timestamp of when form was updated.
template_cost
Integer
Monetary value of the form's template in cents.
template_instruction_pages
Integer
Number of instruction pages in the form's template.
template_id
Integer
Unique ID of the form's template.
template_name
Integer
Name of the form's template.
template_orientation
String
Orientation of the form's template.
annexure_template_ids
Array
An array of template ID's annexured to the form
annexure_pdf_ids
Array
An array of pdf ID's annexured to the form
values.*
Integer
Values contained in the template.

Form File Object

Field
Type
Description
id
Integer
Unique ID of the file.
form_id
Integer
Unique ID of the form the file belongs to.
user_id
Integer
Unique ID of the user that created the file.
filename
String
Filename of the original file.
content_type
String
Content type of the file.
attachment
Boolean
Returns true if the file is attachable when printing.
index
Integer
The index/order of the file
created
Timestamp
Returns Unix timestamp of when file was created.
updated
Timestamp
Returns Unix timestamp of when file was updated.

Annexure Object

Field
Type
Description
id
Integer
The template ID or pdf ID for the annexure.
pdf
Boolean
Returns true if the annexure is a PDF.
name
String
Name of the annexure.
index
Integer
The index of the annexure when attached to the form.
auto
Boolean
Returns true if the annexure is automatically attached.
optional
Boolean
Returns true if the annexure is optional.

Template Object

Field
Type
Description
id
Integer
Unique ID of the template.
name
String
Name of the template.
code
String
Returns template code
active
Boolean
Returns true if template is active
orientation
String
Orientation of the template.
template_group_id
Integer
Template group ID.
created
Timestamp
Returns Unix timestamp of when template was created.
updated
Timestamp
Returns Unix timestamp of when template was updated.

Template Version Object

Field
Type
Description
id
Integer
Unique ID of template version.
template_id
Integer
Unique ID of template.
cost
Integer
Monetary value of template specified in cents.
created
Timestamp
Returns Unix timestamp of when template version was created.
updated
Timestamp
Returns Unix timestamp of when template version was updated.
user_guide_pages
Integer
Number of user guide pages.
instruction_pages
Integer
Number of instruction pages.

Template Field Object

Field
Type
Description
display_name
String
Human readable name of the template field.
name
String
Machine readable name for template field.
locked
Boolean
Returns true if field is locked.
required
Boolean
Returns true if field is required.

Agency Object

Field
Type
Description
id
Integer
Unique ID of user's agency.
name
String
Name of user's agency.
address
String
Address, line 1, of user's agency.
address2
String
Address, line 2, of user's agency.
suburb
String
Suburb of user's agency.
state
String
State of user's agency.
postcode
String
Postcode of user's agency.
phone
String
Phone number of user's agency.
fax
String
Fax number of user's agency.
email
String
Email number of user's agency.
credits
Integer
Number credits user's agency has.
active
Boolean
Returns true if the user's agency is active.
approved
Boolean
Returns true if the user's agency is approved.
member_number
String
Unique ID of the user's agency.
licencee_name
String
Licencee Name of user's Agency.
licencee_number
String
Licencee Number of user's Agency.
gst
Boolean
Returns true if user's Agency uses GST.
abn
String
Australian Business Number of user's Agency.
created
Timestamp
Returns Unix timestamp of when user's agency was created.
updated
Timestamp
Returns Unix timestamp of when user's agency was created.
active_subscription
Boolean
Returns true if user's Agency has an active subscription.
subscription_expiry
Timestamp
Returns Unix timestamp of when user's agency's subscription will expire. Returns null if no active subscription exists.
subscription_type
String
Subscription type of user's agency.
ALL=All Forms
FM=Property Management Forms
SA=Sales Forms
admin
Boolean
Returns true if user is admin of the agency.
forms_created
Integer
Number of forms created by user's agency.

User Object

Field
Type
Description
id
Integer
Unique ID of the user.
agency_id
Integer
Unique ID of the agency the user belongs to.
member_number
String
Unique ID of the user's agency.
realtor_number
String
Registered land agent number.
given_name
String
First name of the user.
surname
String
Last name of the user.
email
String
Email address of the user.
mobile
String
Mobile number of the user.
principal
Boolean
Returns true if user is principal.
default_private
Boolean
Returns true if forms created by user are private by default.
active
Boolean
Returns true if the user is active.
deleted
Boolean
Returns true if the user is deleted.
created
Timestamp
Returns Unix timestamp of when user was created.
updated
Timestamp
Returns Unix timestamp of when user was last updated.

Signer Object

Field
Type
Description
signer
String
Unique type of signer.
name
String
The name of the signer.
email
String
The email address of the signer.

Remote Sign Status Object

Field
Type
Description
status
String
Status of remote signing reuqest, can be sent, delivered or completed.
created
Timestamp
The timestamp the remote signing request was created.
updated
Timestamp
The timestamp the remote signing request was updated.
sent
Timestamp
The timestamp the remote signing request was sent.
recipients
Array
An array of recipient status objects, includes name, email, status and signed date if completed.