REST APIs for Loan Appraiser
General
Loan Appraiser API follows the Representational state transfer (REST) standard allowing retrieving and modifying Loan Appraiser data with a set of HTTPS requests. Transferred data will be returned or will have to be entered using JSON.
Security and Licenses
The API can be used by creating a secure API-key in the Loan Appraiser Administrator. For every application that requires access to the API, a separate API key can be created. Only secure API requests can be performed using HTTPS for security reasons.
For every API transaction, a secret token must be supplied for authentication purposes. This token must be retrieved by starting with an authentication request. An authentication requests must be performed supplying the api_key generated in the Loan Appraiser Administrator. The authentication API request returns a token that must be used in all following requests. The token can be used for 60 minutes after which it expires. Supply the token using the Authentication header with content "Bearer <token>".
URL and Parameters
Requests are made to the following url: https://apps.loanappraiser.eu/api/rest/v1/
The API call url and the method together determine the action to take.
Available methods are: GET, POST, PATCH and DELETE.

In case your HTTP client does not support all required methods, you can override the method using either of two options:
Override header: Add the header "X-Http-Method-Override" and add the value of the required method.
Override parameter: Add a parameter called "_METHOD" and add the value of the required method.

Example API call (GET):
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/branches
Response-codes
API calls return an HTTP response-code. The response-code can be used to determine if the call was successful. For most error-codes, a JSON body is returned with an oject called 'error'. This object contains a more detailed description of the error.

The following codes are used:
200Success. The API call was successful. Data was retrieved/inserted/updated/patched.
400An error was encountered in the processing of the API call.
401An authentication error occurred.
404The requested URL is invalid.
405The method of the request is invalid.
429You have exceeded the maximum amount of requests.
500Server error encountered while processing the API call.
503The API service is unavailable due to maintenance.
JSON error response
When the HTTP response code is not 200, the returned JSON data usually shows an error message.
Example on an unsuccessful request:
{ "error" : "Unauthorized. Request a new token from /authenticate" }
Filters
Some API calls allow for filtering the data to retrieve. Filters must be provided as parameters.

Filter example:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/loanofficers?updated=2016-01-01T00:00:00Z
This will return loan officer records that have been added or updated after the provided date.
Character encoding
All data supplied must be offered in utf-8 encoding.
Timezone and formatting
Timestamps returned and provided are in the universal standard Zulu timezone and formatted according to the ISO 8601 standard. Zulu time is UTC time without daylight saving time.
Date: 2016-01-01
Date and time: 2016-01-01T23:59:59Z
Returned and offered Data
Data returned from the API call is presented in JSON and inside the requested object element. Information offered to an API call that inserts or updated a record must also be offered in that element.

This example shows the output of branches request returning 2 rows of data:
{ "branches" : [ { "id" : "1ffa8306-8f4e-11e4-bb7a-0abcc8df89dc", "name" : "Headquarters", "address" : "Loremroad 1", "place" : "Lipsum", "review_committee_email" : "revcmt@masked1.com", "created_date" : "2015-12-29T12:30:43Z", "updated_date" : "2016-01-02T13:44:21Z" }, { "id" : "3d4f306-8f4e-11e4-bb7a-0abcc8df828jh", "name" : "Second office", "address" : "Juicelane 52", "place" : "Lipsum", "review_committee_email" : "revcmt@masked2.com", "created_date" : "2016-02-22T16:20:23Z", "updated_date" : "2016-02-22T16:20:23Z" } ] }
API Request Limits
To maintain optimum performance, the API has an API request rate limiter. An API license has a limit of 5.000 requests per 24 hours. To stay within this limit we encourage developers to run sync jobs at intervals no less than 5 minutes.

Authentication
Get authentication token
This request is used to authenticate with the api key and returns a token. This token can be used in all following requests.
URL
/api/rest/v1/authenticate
Method
POST
Parameters
api_key (mandatory) The api key generated in the Loan Appraiser Administrator.

Example of an API call:
curl -X POST --data 'apikey=<api_key>' https://apps.loanappraiser.eu/api/rest/v1/authenticate { "token" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE0NjAxMjE" }
REST API Requests
The Loan Appraiser REST API offers several categories in which requests are defined. Each category has a specific documentation page with the possible parameters, filters and returned data elements.

For all category requests, the general structure applies as described on the “REST API” page.
Loan products
Describes the available requests for configured loan products. Product fields are listed in the Data Dictionary.
Get products
This request retrieves products with their data elements.
URL
/api/rest/v1/products
Method
GET
Parameters
updated (optional) Returns records added/updated on or after the specified date. Expects: 2016-01-01T14:00:00Z

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/products?updated=2016-01-01T00:00:00Z
Get single product
This request retrieves one product by id with its data elements.
URL
/api/rest/v1/products/<product_id>
Method
GET

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/products/1ffa8306-8f4e-11e4-bb7a-0abcc8df89dc { "product": { "id": "0301929d-e3cb-11e6-8ea0-06d0207d869d", "name": "Argoloan", "appAGRI": "1", "appBIZ": "0", "sortorder": "1", "created_date": "2017-01-26T13:26:14Z", "updated_date": "2017-01-26T13:45:18Z" } }
Branches
Describes the available requests for branch data. Branch fields are listed in the Data Dictionary.
Get branches
This request retrieves branches with their data elements.
URL
/api/rest/v1/branches
Method
GET
Parameters
updated (optional) Returns records added/updated on or after the specified date. Expects: 2016-01-01T14:00:00Z

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/branches?updated=2016-01-01T00:00:00Z
Get single branch
This request retrieves one branch by id with its data elements.
URL
/api/rest/v1/branches/<branch_id>
Method
GET

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/branches/1ffa8306-8f4e-11e4-bb7a-0abcc8df89dc { "branch" : { "id" : "1ffa8306-8f4e-11e4-bb7a-0abcc8df89dc", "name" : "Headquarters", "address" : "Loremroad 1", "place" : "Lipsum", "review_committee_email" : "revcmt@masked1.com", "created_date" : "2015-12-29T12:30:43Z", "updated_date" : "2016-01-02T13:44:21Z" } }
Loan officers
Describes the available requests for loan officer data. Loan officer fields are listed in the Data Dictionary.
Get loan officers
This request retrieves loan officer records with their data elements.
URL
/api/rest/v1/loanofficers
Method
GET
Parameters
updated (optional) Returns records added/updated on or after the specified date. Expects: 2016-01-01T14:00:00Z
branch (optional) Returns records for the specified branch id. Expects a 36 character branch id.

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/loanofficers?updated=2016-01-01T00:00:00Z
Get single loan officer
This request retrieves one loan officer by id with its data elements.
URL
/api/rest/v1/loanofficers/<loanofficer_id>
Method
GET

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/loanofficers/1ffa8306-8f4e-11e4-bb7a-0abcc8df89dc { "loanofficer" : { "id":"b1a048c5-8f4e-11e4-bb7a-0abcc8df89dc", "branch":"22899d45-8f4e-11e4-bb7a-0abcc8df89dc", "title":"Ms.", "first_name":"Jane", "last_name":"Doe", "email":"jane.doe@maskedout.com", "created_date":"2014-12-29T12:34:47Z", "updated_date":"2015-09-31T14:02:50Z" } }
Custom Fields
Describes the available requests for custom field data.
Get custom field options
This request retrieves selection options for custom fields with type 'select'.
URL
/api/rest/v1/customfieldoptions
Method
GET
Parameters
related (optional) Returns data only for custom fields related to this record. Options are: 'client' and 'loan'.

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/customfieldoptions?related=client { "customfields": { "client": { "identification": { "label": "Type of identification", "options": [ { "value": "Passport", "sortorder": "1" }, { "value": "ID card", "sortorder": "2" }, { "value": "Drivers license", "sortorder": "3" } ] }, "gender": { "label": "Gender", "options": [ { "value": "Female", "sortorder": "1" }, { "value": "Male", "sortorder": "2" }, { "value": "Unspecified", "sortorder": "3" } ] } } } }
Clients
Describes the available requests for clients data. Fields are listed in the Data Dictionary.
Get clients
This request retrieves the clients with their data elements.
URL
/api/rest/v1/clients
Method
GET
Parameters
branch (optional) Returns the records of the specified branch only. Expects: a branch id which can be retrieved with the branches API call.
external_id (optional) Returns the records with the specified external id only. Expects: a string. Used for data synchronisation with an external application.
updated (optional) Returns records added/updated on or after the specified date. Expects: 2016-01-01T14:00:00Z
plots (optional) When true the client's plots data is returned. Expects: true or false, defaults to false.

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/clients { "clients":[ { "id" : "1012f00f-4f9c-4fa7-9794-54b51516c188", "branch" : "1ffa8306-8f4e-11e4-bb7a-0abcc8df89dc", "loanofficer" : "8f55271c-b124-11e4-9566-0abcc8df89dc", "client_number" : "12345-12345", "first_name" : "Jane", "last_name" : "Doe", "address" : "Loremroad 1", "postal_code" : "11 xxxx", "city" : "Lipsum", "country" : "Ipstate", "mobile_number" : "+91122334455", "business_name" : "Doe Operations", "business_address" : "Loremroad 2", "business_postal_code" : "11 xxxx", "business_city" : "Lipsum", "business_country" : "Ipstate", "gps_residential" : "52.241840230842044,6.389124132692814", "gps_business" : "52.24061621780344,6.389426216483116", "custom_data":{ }, "created_date" : "2015-07-12T14:11:05Z", "updated_date" : "2015-08-13T21:39:18Z", "created_by" : "8f55271c-b124-11e4-9566-0abcc8df89dc", "updated_by" : "8f55271c-b124-11e4-9566-0abcc8df89dc" } ] }
Get single client record
This request retrieves one specific client with its data elements.
URL
/api/rest/v1/clients/<client_id>
Method
GET
Parameters
plots (optional) When true the client's plots data is returned. Expects: true or false, defaults to false.

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/clients/1012f00f-4f9c-4fa7-9794-54b51516c188
Custom Data
If custom client fields are configured in the Loan Appraiser Administrator, the values stored in these fields will be returned here.

Example of custom data:
"custom_data":{ "document_type":"passport", "passport_id":"11223344-55667788" }
Plots data
Contains data about the plots as defined on the last created client loan.

Example of plots data:
"plots":[ { "id":"5b124e62-4a9b-4f6a-bf7e-d4a9d85e1f6a", "ownership":"Owned with title", "color":0, "value":123, "land_activity":"Livestock", "activity_type":"Sheep", "coordinates":[ [ 50.2412631299, 5.38896353543 ], [ 50.2416431428, 5.38922538608 ], [ 50.241579089, 5.38971321285 ], [ 50.2411719756, 5.38945907354 ] ], "size":0.39948425 }, { "id":"716a5ff0-f4b8-446e-bc47-dc12315c53b0", "ownership":"Rented", "color":1, "value":4456, "land_activity":"Crop Production", "activity_type":"Corn", "coordinates":[ [ 50.2411407696, 5.38944599777 ], [ 50.2416047516, 5.38976417482 ], [ 50.2414641204, 5.3903767243 ], [ 50.2410173825, 5.39010280371 ] ], "size":0.613809 } ]
Get list of client photos
This request retrieves a list of the photos from a single client. The photo's come with an id which can be used to retrieve the photo.
URL
/api/rest/v1/clients/<client_id>/photos
Method
GET

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/clients/1012f00f-4f9c-4fa7-9794-54b51516c188/photos
Download a client photo
This request retrieves a single client photo. The request returns the photo in base64 encoding and some meta-information about the photo if available. The required photo id can be retrieved from the list of client photos.
URL
/api/rest/v1/clients/<client_id>/photos/<photo_id>
Method
GET

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/clients/1012f00f-4f9c-4fa7-9794-54b51516c188/photo/40e0191c-5158-4210-94e1-022a958bd124
Add new client record
This adds a new client record with the provided data. The client data should be added in JSON in the body of the request. When successful, the request returns a JSON object with the id of the created client record. The format of the provided data should be:
{ "client" : { "fieldname1" : "value 1", "fieldname2" : "value 2" } }
URL
/api/rest/v1/clients
Method
POST

Example of an API call:
curl -H "Authorization: Bearer <token>" -H "Content-type: application/json" -X POST -d '<data>' https://apps.loanappraiser.eu/api/rest/v1/clients { "id" : "1012f00f-4f9c-4fa7-9794-54b51516c188" }
Update existing client record
This updates an existing client record with the provided data. The client data should be added in JSON in the body of the request. The format of the provided data should be:
{ "client" : { "fieldname1" : "value 1", "fieldname2" : "value 2" } }
URL
/api/rest/v1/clients/<client_id>
Method
POST

Example of an API call:
curl -H "Authorization: Bearer <token>" -H "Content-type: application/json" -X POST -d '<data>' https://apps.loanappraiser.eu/api/rest/v1/clients/1012f00f-4f9c-4fa7-9794-54b51516c188
Add or update custom data for an existing client record
When custom fields are setup for client records, this API request will add or update the custom data records for the provided client record. The custom data should be added in JSON in the body of the request. Custom fields that are not provided in the JSON data will be cleared. The format of the provided data should be:
{ "custom_data" : { "fieldname1" : "value 1", "fieldname2" : "value 2" } }
URL
/api/rest/v1/clients/<client_id>/custom_data
Method
POST

Example of an API call:
curl -H "Authorization: Bearer <token>" -H "Content-type: application/json" -X POST -d '<data>' https://apps.loanappraiser.eu/api/rest/v1/clients/1012f00f-4f9c-4fa7-9794-54b51516c188/custom_data


Loans
Describes the available requests for loans data. Fields are listed in the Data Dictionary.
Get loans
This request retrieves a list of loans with their data elements.
URL
/api/rest/v1/loans
Method
GET
Parameters
app (optional) Returns the loans of the specified app. Expects: AGRI for the Agriculture app or BIZ for the Business app.
branch (optional) Returns the loans of the specified branch. Expects: a branch id which can be retrieved with the branches API call.
loanofficer (optional) Returns the loans of the specified loan officer. Expects: a loanofficer id which can be retrieved with the loanofficers API call.
client (optional) Returns the loans of the specified client. Expects: a client id which can be retrieved with the clients API call.
external_id (optional) Returns the records with the specified external id only. Expects: a string. Used for data synchronisation with an external application.
updated (optional) Returns records added/updated on or after the specified date. Expects: 2016-01-01T14:00:00Z
status (optional) Returns records with the specified status. Expects: PENDING, SUBMITTED OR COMPLETED
loandata (optional) When true, all collected data about the loan is returned. When false, only highlevel data is returned. Expects: true or false, defaults to false.

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/loans { "loans":[ { "id" : "24d71d3d-b21b-4c4a-949a-b414b0a5d067", "loanofficer_id" : "8f55271c-b124-11e4-9566-0abcc8df89dc", "custom_data" : {}, "requested_amount" : "1500", "created_by" : "8f55271c-b124-11e4-9566-0abcc8df89dc", "branch_id" : "1ffa8306-8f4e-11e4-bb7a-0abcc8df89dc", "loan_number" : "1122334455", "analysis_date" : "2016-05-17", "app" : "AGRI", "client_experience" : "3 years", "estimated_repayment_date" : "2017-06-01", "created_date" : "2016-05-17T11:23:43Z", "client_id" : "6ec16d8a-2ee1-4029-ad9a-63af42cae4e5", "updated_by" : "8f55271c-b124-11e4-9566-0abcc8df89dc", "sector" : null, "loan_product" : null, "status" : "PENDING", "created_date" : "2016-05-17T14:30:12Z", } ] }
Get single loan record
This request retrieves one specific loan with its data elements.
URL
/api/rest/v1/loans/<loan_id>
Method
GET
Parameters
loandata (optional) When true, all collected data about the loan is returned. When false, only highlevel data is returned. Expects: true or false, defaults to false.

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/loans/24d71d3d-b21b-4c4a-949a-b414b0a5d067
Custom Data
If custom loan fields are configured in the Loan Appraiser Administrator, the values stored in these fields will be returned here.

Example of custom data:
"custom_data":{ "guarantor_document_type":"passport", "guarantor_passport_id":"11223344-55667788" }
Get list of loan photos
This request retrieves a list of the photos from a single loan. The photo's come with an id which can be used to retrieve the photo and a type.
URL
/api/rest/v1/loans/<loan_id>/photos
Method
GET

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/loans/24d71d3d-b21b-4c4a-949a-b414b0a5d067/photos
Download a loan photo
This request retrieves a single loan photo. The request returns the photo in base64 encoding and some meta-information about the photo if available. The required photo id can be retrieved from the list of loan photos.
URL
/api/rest/v1/loans/<loan_id>/photos/<photo_id>
Method
GET

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/loans/24d71d3d-b21b-4c4a-949a-b414b0a5d067/photo/40e0191c-5158-4210-94e1-022a958bd124
Download the loan summary PDF
This request retrieves a the loan summary PDF document. The request returns the PDF in base64 encoding.
URL
/api/rest/v1/loans/<loan_id>/summary
Method
GET

Example of an API call:
curl -H "Authorization: Bearer <token>" https://apps.loanappraiser.eu/api/rest/v1/loans/24d71d3d-b21b-4c4a-949a-b414b0a5d067/summary
Add new loan record
This adds a new loan record with the provided data. The loan data should be added in JSON in the body of the request. When successful, the request returns a JSON object with the id of the created loan record. The format of the provided data should be:
{ "loan" : { "fieldname1" : "value 1", "fieldname2" : "value 2" } }
URL
/api/rest/v1/loans
Method
POST

Example of an API call:
curl -H "Authorization: Bearer <token>" -H "Content-type: application/json" -X POST -d '<data>' https://apps.loanappraiser.eu/api/rest/v1/loans { "id" : "24d71d3d-b21b-4c4a-949a-b414b0a5d067" }
Update existing loan record
This updates an existing loan record with the provided data. The loan data should be added in JSON in the body of the request. The format of the provided data should be:
{ "loan" : { "fieldname1" : "value 1", "fieldname2" : "value 2" } }
URL
/api/rest/v1/loans/<loan_id>
Method
POST

Example of an API call:
curl -H "Authorization: Bearer <token>" -H "Content-type: application/json" -X POST -d '<data>' https://apps.loanappraiser.eu/api/rest/v1/loans/24d71d3d-b21b-4c4a-949a-b414b0a5d067
Add or update detailed loan data for an existing loan record
Loan records consist of high-level data and detailed data. We call the detailed data "loandata". Loandata is split through the available data collection tabs like Financial, Plots and Loan Design. All loandata of the provided loan will be overwritten using the request. If for instance only the financial tab loandata is provided, all other loandata will be cleared. To update just parts of the loandata, use the PATCH request. The loan data should be added in JSON in the body of the request. The format of the provided data should be, check the data dictionary to get the full list of tabs and fields:
{ "loandata" : { "financial" : { "field" : "value", "field" : "value" }, "plots": [ { "field" : "value" }] } }
URL
/api/rest/v1/loans/<loan_id>/loandata
Method
POST

Example of an API call:
curl -H "Authorization: Bearer <token>" -H "Content-type: application/json" -X POST -d '<data>' https://apps.loanappraiser.eu/api/rest/v1/loans/24d71d3d-b21b-4c4a-949a-b414b0a5d067/loandata
Update detailed loan data for an existing loan record
Loan records consist of high-level data and detailed data. We call the detailed data "loandata". Loandata is split through the available data collection tabs like Financial, Plots and Loan Design. Using this patch request assumes you already have loandata. Only the provided tab's data will be overwritten. If for instance only the financial tab loandata is provided, all other loandata will remain but financial is overwritten with the provided data. The loan data should be added in JSON in the body of the request. The format of the provided data should be:
{ "loandata" : { "financial" : { "field" : "value", "field" : "value" }, "plots": [ { "field" : "value" }] } }
URL
/api/rest/v1/loans/<loan_id>/loandata
Method
PATCH

Example of an API call:
curl -H "Authorization: Bearer <token>" -H "Content-type: application/json" -X PATCH -d '<data>' https://apps.loanappraiser.eu/api/rest/v1/loans/24d71d3d-b21b-4c4a-949a-b414b0a5d067/loandata
Add or update custom data for an existing loan record
When custom fields are setup for loan records, this API request will add or update the custom data records for the provided loan record. The custom data should be added in JSON in the body of the request. Custom fields that are not provided in the JSON data will be cleared. The format of the provided data should be:
{ "custom_data" : { "fieldname1" : "value 1", "fieldname2" : "value 2" } }
URL
/api/rest/v1/loans/<loan_id>/custom_data
Method
POST

Example of an API call:
curl -H "Authorization: Bearer <token>" -H "Content-type: application/json" -X POST -d '<data>' https://apps.loanappraiser.eu/api/rest/v1/loans/24d71d3d-b21b-4c4a-949a-b414b0a5d067/custom_data


Data Dictionary
Lists all the fields in the categories that can be retrieved, inserted or updated.
Loan Products
Fields
id The unique id of the product
name Name of the loan product
appAGRI Product shows in AGRI app (yes/no)
appBIZ Product shows in BIZ app (yes/no)
sortorder Order in which the product shows in the app selection field
created_date Record created date
updated_date Record last updated date
Branch
Fields
id The unique id of the branch
name Name of the branch
address Branch address
place Branch place/town/city
external_id Unique id of the branch from an external system if configured in the administrator
review_committee_email Email address to receive submitted loan summaries
created_date Record created date
updated_date Record last updated date
Loan Officer
Fields
id The unique id of the branch
branch_id The id of the branch this loan officer is working for
title Loan Officer's title
first_name First name
last_name Last name
email Email address
external_id Unique id of the loan officer from an external system if configured in the administrator
created_date Record created date
updated_date Record last updated date
Client
Fields
id The unique id of the client
external_id Unique id of the client from an external system, invisible in the frontend
branch_id The unique id of the branch
loanofficer_id The unique id of the loan officer assigned to this client
client_number A client number from an external system
first_name First name
middle_name Middle name
last_name Last name
mobile_number Mobile phone number
phone_number Land line number / secondary phone number
birthdate Date of Birth (yyyy/mm/dd)
address Residential address
postal_code Residential postal code
city Residential city
region Residential Region/Province
country Residential country
business_name Name of the client's business
business_address Business address
business_postal_code Business postal code
business_city Business City
business_region Business Region/Province
business_country Business Country
gps_residential GPS location of the residential address. Format: "latitude,longitude"
gps_business GPS location of the business address. Format: "latitude,longitude"
custom_data Contains the custom data elements if defined. This is an object with key-value pairs of field identifiers and their values.
created_date Record created date
updated_date Record last updated date
created_by Unique id of the loan officer that created the record. This field can also contain the application name of the API creating this record. In that case the string starts with "api"
updated_by Unique id of the loan officer that last updated the record. This field can also contain the application name of the API updating this record. In that case the string starts with "api"
AGRI: Loan
Fields
id The unique id of the loan
external_id Unique id of the loan from an external system, invisible in the frontend
branch_id The unique id of the branch
loanofficer_id The unique id of the loan officer assigned to this loan
client_id The unique id of the client
app The app used to create this loan (in this case "AGRI")
status Status of the loan
loan_number The loan number from an external system
requested_amount The requested loan amount by the client
requested_period The requested number loan duration in months
analysis_date Date of the analysis
estimated_repayment_date Estimated repayment date
sector Sector
loan_product Chosen loan product
client_experience Client experience in years (Agri only)
custom_data Contains the custom data elements if defined. This is an object with key-value pairs of field identifiers and their values.
created_date Record created date
updated_date Record last updated date
created_by Unique id of the loan officer that created the record. This field can also contain the application name of the API creating this record. In that case the string starts with "api"
updated_by Unique id of the loan officer that last updated the record. This field can also contain the application name of the API updating this record. In that case the string starts with "api"
AGRI: Loandata
AGRI: financial
activities activity Activity description
loan_budget item Budget item description
activity Related budget activity
expense Budget amount
cash_at_hand Amount of money at hand
cash_at_banks bank Name of the bank
amount Amount at bank
existing_loans description Description of the loan
instalment Instalment amount
month Month in which the instalment must be payed (yyyy/mm)
total_outstanding_loans Total principal of all outstanding loans
repayment Description of how loan will be payed if projects fail.
AGRI: plots (array)
id Unique id of the plot
ownership Ownership type. Options: Owned with title, Owned without title, Rented
land_activity Subsector. Options: Crop Production, Livestock, Other, none
activity_type Description of the type of activity taking place on the plot
size Size of the plot in the for your institution configured unit
value Value of the plot
coordinates Array of latitude and longitude coordinate arrays. An array for each plot-point. Eg. [ [52.1,4.3], [52.2,4.3] ]
color Hexadecimal RGB color of the plot line with a leading # sign. Eg. #ff0000 for red.
AGRI: crop
inventory description Description of the inventory item
value Value of the inventory item
accounts_receivable institution Company / institution
amount Amount
fixed_assets id Unique id for this asset (char 36)
asset Asset name/description
value Asset value
supplier_credit supplier Supplier name
amount Amount
income_last_season type Type of crop
size Plot size in the configured unit
production Production in kg
yield Yield in kg/landsizeunit
income_this_season type Type of crop
size Plot size in the configured unit
production Production amount
prod_losses Losses and postponed sales amount
prod_sale Production for sale
price Price per kg
income Income amount
month Production month (yyyy/mm)
sale_income type Type of crop
quantity Quantity of sold goods
price Price per unit
income Generated income from sales
month Month of sales (yyyy/mm)
expenses_regular description Description of expenses
amount Expense amount
expenses_irregular description Description of expenses
amount Expense amount
month Month of the irregular expense (yyyy/mm)
AGRI: livestock
inventory description Item description
value Item value
accounts_receivable institution Institution name
amount Outstanding amount
animals item Animals
value Value
fixed_assets id Unique asset id (char 36)
asset Asset name/description
value Value
supplier_credit supplier Supplier name
amount Amount
income_regular activity Activity description
units_to_sell Number of units to sell
price Selling price
income Units to sell x price
income_irregular activity Activity description
units_to_sell Number of units to sell
price Selling price
income Units to sell x price
month Month of sales (yyyy/mm)
expenses_regular description Expense description
amount Expense amount
expenses_irregular description Expense description
amount Expense amount
month Expense month (yyyy/mm)
AGRI: commerce
activity_type Activity description
inventory description Inventory description
value Inventory value
accounts_receivable institution Institution name
amount Outstanding amount
fixed_assets id Unique asset id (char 36)
asset Asset description
value Asset value
supplier_credit supplier Supplier name
amount Amount outstanding
sales_monthly Monthly sales (turnover)
purchases_monthly Monthly purchases
expenses description Expense description
amount Total amount of other monthly expenses
AGRI: household
income_regular source Source / employer
amount Net income or surplus
income_irregular source Source
amount Amount / Surplus
month Month of income (yyyy/mm)
expenses_regular description Expense description
amount Expense amount
expenses_irregular description Expense description
amount Expense amount
month Expense month (yyyy/mm)
AGRI: securities
land_title Array or unique plot ids. (Uses the ids of a plot item)
customary_land Array or unique plot ids. (Uses the ids of a plot item)
collateral Array or unique asset ids. (Uses the ids of asset items in other loandata)
collateral_manual asset Collateral item name for collateral non-existing in other asset fields
value Asset value
guarantors name Guarantor name
address Guarantor address
phone Guarantor phone number
relation Relation to guarantor. Options: Spouse, Relative, Friend, Neighbor, Business partner, other
income Income of guarantor
codebtors name Co-debtor name
address Co-debtor address
phone Co-debtor phone number
relation Relation to co-debtor. Options: Spouse, Relative, Friend, Neighbor, Business partner, other
AGRI: design
proposed_amount Proposed loan amount
interest_rate Monthly interest rate
commission Commission percentage
disbursement_date Disbursement date
instalment_day Day of instalment (1-31)
instalments month Month of instalment (yyyy/mm)
instalment Instalment amount
BIZ: Loan
Fields
id The unique id of the loan
external_id Unique id of the loan from an external system, invisible in the frontend
branch_id The unique id of the branch
loanofficer_id The unique id of the loan officer assigned to this loan
client_id The unique id of the client
app The app used to create this loan (in this case "BIZ")
status Status of the loan
loan_number The loan number from an external system
requested_amount The requested loan amount by the client
requested_period The requested number loan duration in months
analysis_date Date of the analysis
sector Sector
loan_product Chosen loan product
custom_data Contains the custom data elements if defined. This is an object with key-value pairs of field identifiers and their values.
created_date Record created date
updated_date Record last updated date
created_by Unique id of the loan officer that created the record. This field can also contain the application name of the API creating this record. In that case the string starts with "api"
updated_by Unique id of the loan officer that last updated the record. This field can also contain the application name of the API updating this record. In that case the string starts with "api"
BIZ: Loandata
BIZ: financial
activities activity Activity description
loan_budget item Budget item description
expense Budget amount
previous_loans amount Previous loan amount
days_late Average days late / rating
instalment Previous loan instalment amount
period Previous loan period
equity Previous equity
months_since_equity Months since previous equity
repayment Description of how loan will be payed if projects fail.
BIZ: balance
cash_at_hand Amount of money at hand
cash_at_banks bank Name of the bank
amount Amount at bank
inventory description Description of the inventory item
amount Value of the inventory item
accounts_receivable institution Company / institution
amount Amount
other_assets id Unique asset id (char 36)
asset Asset name
value Asset value
fixed_assets id Unique asset id (char 36)
asset Asset name
value Asset value
supplier_credit supplier Supplier name
amount Outstanding amount
existing_loans description Loan description
instalment Monthly instalment amount
outstanding Total outstanding amount
other_liabilities description Description of liability
amount Liability amount
BIZ: income
monthly_sales Monthly sales
gross_margin product Product description
cost_price Cost price
sales_price Sales price
gross_margin Gross margin
average_gross_margin Average gross margin
cost_of_goods_sold Cost of goods sold
business_expenses salaries Total monthly salary expenses
rent Total monthly rent expenses
utilities Total monthly utility expenses
taxes Total monthly tax expenses
other Total monthly other expenses
household_income source Source / employer
amount Income / surplus amount
household_expenses description Expense description
amount Expense amount
BIZ: plots
id Unique id of the plot
ownership Ownership type. Options: Owned with title, Owned without title, Rented
land_activity Subsector. Options: Crop Production, Livestock, Other, none
activity_type Description of the type of activity taking place on the plot
size Size of the plot in the for your institution configured unit
value Value of the plot
coordinates Array of latitude and longitude coordinate arrays. An array for each plot-point. Eg. [ [52.1,4.3], [52.2,4.3] ]
color Hexadecimal RGB color of the plot line with a leading # sign. Eg. #ff0000 for red.
BIZ: securities
land_title Array or unique plot ids. (Uses the ids of a plot item)
customary_land Array or unique plot ids. (Uses the ids of a plot item)
collateral Array or unique asset ids. (Uses the ids of asset items in other loandata)
collateral_manual asset Collateral item name for collateral non-existing in other asset fields
value Asset value
guarantors name Guarantor name
address Guarantor address
phone Guarantor phone number
relation Relation to guarantor. Options: Spouse, Relative, Friend, Neighbor, Business partner, other
income Income of guarantor
codebtors name Co-debtor name
address Co-debtor address
phone Co-debtor phone number
relation Relation to co-debtor. Options: Spouse, Relative, Friend, Neighbor, Business partner, other
BIZ: design
proposed_amount Proposed loan amount
interest_rate Monthly interest rate percentage
commission Commission percentage
disbursement_date Disbursement date
instalment_day Instalment day (1-31)
duration Duration in months
instalment Monthly instalment amount
Legend
  Read only field. Auto-generated or cannot be created/modified.
  Required field. Cannot be left empty.