Innovation LevyCollect LevyCollect API Documentation

LevyCollect API Documentation

Introduction

The LevyCollect API’s can be used to help automate processes between our system, and yours. You can:

  • Get property information
  • Create properties
  • Update properties
  • Get matter information
  • Create matters
  • Update matters
  • Create users

Continue reading for details on how to interact with the LevyCollect API’s.

Base URL

During your build we recommend that you connect to our “test” environment, this allows you to safely post information to the LevyCollect system without affecting the production systems. Once development is complete and approved by both parties you’ll need to switch to the production base URL.

  • TEST System: https://levycollecttest.azurewebsites.net/api/
  • PROD System: https://levycollect.bagl.com.au/api/

Authentication

The LevyCollect API’s use a typical bearer token authentication, each management company has their own token which is generated by us on request and provided to you securely.

  • Use an “Authorization” element in your header
  • The value should be “Bearer” followed by the token provided

See example below:

Property

The “property” request supports the below methods:

  • GET
  • POST
  • PUT

You can call the property endpoint using either the “plan number” or “propertyId” of the property – we strongly recommend using the “propertyId” for system-to-system integrations as it is guaranteed to be unique.

Tip: The GET by planNo is useful to check to see if a property already exists in LevyCollect before you create it.

GET

  • /property/planno/<<plan_number>> or
  • /property/propertyId/<<propertyId>>

Where the call is successful, the below 200 response will be returned:

{

“state”:”QLD”,
“address”:”1 Street Name, City STATE, Country”,
“planNo”:”ABC123″,
“propertyName”:”One Tower”,
“registeredName”:”The OC for One Tower,
“propertyId”:”99AF0A77-683A-4667-A8C4-C29BFE8B503E”

}

POST

  • /property/

When creating a new property in LevyCollect the JSON format is the same as the GET request above, however do not supply a “propertyId” value in the URL, as that will be generated and supplied back to you in the response. We recommend storing the “propertyId” value locally in your system as it will be used for other API calls to LevyCollect for the property you have created.

Note that the bearer token you supply will determine which ‘strata company’ the property is assigned to.

{

“state”:”QLD”,
“address”:”1 Street Name, City STATE, Country”,
“planNo”:”ABC123″,
“propertyName”:”One Tower”,
“registeredName”:”The OC for One Tower

}

Where the POST is successful, the below 200 response will be returned:

{

“response”:”200″,
“propertyId”:”99AF0A77-683A-4667-A8C4-C29BFE8B503E”,
“created”:”2022-05-02 02:18:36″

}

PUT

  • /property/propertyId/<<propertyId>>

When updating an existing property in LevyCollect the JSON format is the same as the POST request above. We recommend storing the “propertyId” value locally in your system as it will be used for other API calls to LevyCollect for the property you have created.

{

“state”:”QLD”,
“address”:”1 Street Name, City STATE, Country”,
“planNo”:”ABC123″,
“propertyName”:”One Tower”,
“registeredName”:”The OC for One Tower

}

Where the POST is successful, the below 200 response will be returned:

{

“response”:”200″,
“propertyId”:”99AF0A77-683A-4667-A8C4-C29BFE8B503E”,
“created”:”2022-05-02 02:18:36″

}

Matter

The “matter” request supports the below methods:

  • GET
  • POST
  • PUT

When making a POST you must pass the propertyId that you want to attach the matter to in the URL:

  • POST: /matter/<<propertyId>>

When making a PUT or GET request, you must pass the matterId of the matter you’re getting/updating in the URL:

  • GET/PUT: /matter/<<matterId>>

GET

Where the call is successful, the below 200 response will be returned:

{

“propertyId”: “fbd0cd3e-d771-48cd-abb6-f025d1f34605”,
“matterDetails”: {

“matterStatus”: “Bankruptcy proceedings commenced”,
“totalAmountClaimed”: “100.00”,
“totalAmountClaimedDate”: “2022-07-01 12:00:00”

},
“lotNo”: “112”,
“unitNo”: “112”,
“manager”: “person@email.com”,
“debtorDetails”: [

{

“debtorId”: “3BECC4B6-FDAA-4417-9C35-C1C8E59EF38A”,
“debtorName”: “112”,
“debtorEmail”: “person@email.com”,
“debtorPhone”: “112”,
“debtorMobile”: “112”,
“address1”: “POX BOX 1234”,
“addressCity”: “Sydney”,
“addressState”: “NSW”,
“addressPCode”: “2000”,
“addressCountry”: Australia

}

],
“detailsOfAmountClaimed”: {

“contributionsAmount”: “50.00”,
“contributionsAmountDate”: “2022-07-01 12:00:00”,
“interestAmount”: “25.00”,
“interestAmountDate”: “2022-07-01 12:00:00”,
“expensesAmount”: “20.00”,
“expensesAmountDate”: “2022-07-01 12:00:00”,
“otherAmount”: “5.00”,
“otherAmountDate”: “2022-07-01 12:00:00”,
“otherAmountDescription”: “Legal Fees”

}

}

POST

When creating a new matter in LevyCollect the JSON structure is the same as the above GET request, except the “propertyId” and “matterStatus” parameters are excluded.

{

“matterDetails”: {

“totalAmountClaimed”: “100.00”,
“totalAmountClaimedDate”: “2022-07-01 12:00:00”

},
“lotNo”: “112”,
“unitNo”: “112”,
“manager”: “person@email.com”,
“debtorDetails”: [

{

“debtorName”: “112”,
“debtorEmail”: “person@email.com”,
“debtorPhone”: “112”,
“debtorMobile”: “112”,
“address1”: “POX BOX 1234”,
“addressCity”: “Sydney”,
“addressState”: “NSW”,
“addressPCode”: “2000”,
“addressCountry”: Australia

}

],
“detailsOfAmountClaimed”: {

“contributionsAmount”: “50.00”,
“contributionsAmountDate”: “2022-07-01 12:00:00”,
“interestAmount”: “25.00”,
“interestAmountDate”: “2022-07-01 12:00:00”,
“expensesAmount”: “20.00”,
“expensesAmountDate”: “2022-07-01 12:00:00”,
“otherAmount”: “5.00”,
“otherAmountDate”: “2022-07-01 12:00:00”,
“otherAmountDescription”: “Legal Fees”

}

}

Where the POST is successful, the below 200 response will be returned:

{

“response”:”200″,
“matterId”:”99AF0A77-683A-4667-A8C4-C29BFE8B503E”,
“created”:”2022-05-02 02:18:36″

}

PUT

When updating an existing property in LevyCollect the JSON format is the same as the POST request above.

Where the POST is successful, the below 200 response will be returned:

{

“response”:”200″,
“matterId”:”99AF0A77-683A-4667-A8C4-C29BFE8B503E”,
“created”:”2022-05-02 02:18:36″

}

Matter History

The “Matter History” can be found on the right side of the screen on any matter and contains notes added by the system when a user interacts with a matter, as well as notes manually added by a user. This API allows you to GET the full history for a specified matter, or to POST a new note to a matters history.

The “matter/history” request supports the below methods:

  • GET
  • POST

When making a POST or GET you must pass the matterId in the URL:

  • POST/GET: /matter/history/<<matterId>>

GET

Where the call is successful, the below 200 response will be returned:

[
{
“timestamp”: “2022-09-02T03:38:44.457”,
“username”: “Jane Citizen”,
“comment”: “Matter updated.”
},
{
“timestamp”: “2022-09-02T03:39:03.67”,
“username”: “Leslie Leahy”,
“comment”: “Documents Attached.”
},
{
“timestamp”: “2022-09-07T03:53:22.55”,
“username”: “Sam Jones”,
“comment”: “This is a user created note against a matter.”
}
]

POST

When performing a POST request, use the below JSON format.

{

“userId”: “1BB93A87-B853-4002-9A6D-8C328C9819D6”,
“historyComment”: “This is a user created note.”

}

Note that the “userId” value is optional, where it is not passed the user will be shown as “Marvin the API Robot”.

On a successful POST you’ll receive the below response.

{

“created”: “2022-09-15 05:42:50”,
“matterId”: “cef649d3-48d9-4c38-b6d5-d93c5c58fae8”,
“response”: “200”

}

Matter Document

This API allows you to attach documents to an existing matter.

The “matter/document” request supports the below method:

  • POST

When making a POST you must pass the matterId in the URL:

  • POST: /matter/document/<<matterId>>

When posting a document you must ensure the content type is set correctly set in the header:

  • Content-Type = form-data

The request has two mandatory form parameters:

  • filename (of type “File”)
  • category (of type “Text”)

Valid values for “category” are:

  1. Client Instructions
  2. Final Fee Notice
  3. Levy Notices
  4. Levy Statement
  5. Minutes of Meeting
  6. Other

On a successful POST you’ll get the below response.

{
“created”: “2022-09-15 04:41:50”,
“matterId”: “cef649d3-48d9-4c38-b6d5-d93c5c58fae8”,
“response”: “200”
}

User

This API allows you to create a new user.

The “user” request supports the below method:

  • POST

When making a POST you must pass the matterId in the URL:

  • POST: /user/

The body should be as follows:

{
“firstName”: “FirstName”,
“lastName”: “LastName”,
“eMail”: “email@address.com”,
“role”: “strataManager”
}

Things to note:

  • All values are mandatory
  • The only valid string for “role” currently is “strataManager”
  • If a user already exists with the email address you’re using, it will fail with a 409
  • The user will automatically be assigned to the “Strata Company” that the bearer token belongs to

On a successful POST you’ll get the below response.

{
“created”: “2022-09-15 04:41:50”,
“userId”: “cef649d3-48d9-4c38-b6d5-d93c5c58fae8”,
“response”: “200”
}

GET IN TOUCH

How can we help?