NAV Navigation

Welcome

This documentation was last updated on Thu Mar 4 09:54:18 GMT 2021 and covers Mambu Version v9.86.1

Welcome to the Mambu API 1.0 documentation. Here you can learn everything you need to know about our API and how to interact with Mambu!

About Mambu API 1.0

Scroll down for operations, schemas, example requests and responses.

For more information about API 2.0 (beta) vs. API 1.0, please see: our User Guide.

Being RESTful

The Mambu API follows the Representational state transfer (REST) architectural style allowing resources (accounts, clients, etc) to be viewed, added and modified by a standard set of HTTP methods; GET, POST, PUT, PATCH and DELETE.

VerbFunction
GETTo retrieve a resource or a collection of resources
POSTTo create a resources
PATCHTo modify an existing resources
PUTTo replace an existing resource
DELETETo delete a resource

Communication with Mambu follows the REST architecture constraints including being stateless & cacheable.

All responses are returned as JSON objects .

Base URL

Mambu tenants can exist either in a multi-tenanted environment with all tenants having access at their own sub-domain or within a dedicated environment.

To make a request to a tenant use the pattern https://{tenantId}.mambu.com/api/.

The tenant id will generally be the same as the one used for accessing the Mambu user interferace and can also be retrieved by visiting MyMambu and opening the Dashboard tab, where you will also find the domain for your sandbox instance, if this has been activated. See here for more information on working with MyMambu.

Authentication

Mambu requires Basic Authentication for authorizing all API calls. A username and password or Authorization header with base64 encoded username:password (see this page for more information) is specified with each request and is verified on the server to prevent unauthorized access. To ensure the username and password cannot be intercepted, all requests must use HTTPS.

Pagination

To customize the response, the offset and limit parameters can be adjusted from their default values.

limit

The default limit for responses is 50. A value of up to 1,000 can be specified with limit.

offset

offset determines how many records will be skipped before being included in the returned results. The default offset value is 0.

Detail Level

Mambu API 1.0 supports two detail levels for responses:

To view a higher level of detail, append ?fullDetails=true to the end of the resource URI in your request.

Using the API

Requests

Also referred to as "calls", requests to the Mambu API identify who the requester is and exactly what information they wish to retrieve or which action they wish to perform.

To put together an API Request you will need to combine:

Responses

Error Response

{
  "errorCode":"4",
  "errorSource":"Property scheduleSettings.repaymentInstallments may not be null",
  "errorReason":"INVALID_PARAMETERS"
}

Single Resource - JSON object

{
  "field": "value"
}

Collection of Resources - JSON array

[
  {
    "field": "value"
  },
  {
    "field": "value"
  }
]

The response to a request will always be in JSON format and will contain either:

FieldTypeAvailabilityContent
errorCodenumberAlways presentA unique error code. For a full list, please see Mambu Response Codes.
errorSourcestringSometimes presentA human-readable message capturing unsatisfied constraints.
errorReasonstringAlways presentA human-readable message stating the general category of the failure.

or

Posting Data

API requests that post data can either use url-encoded query paramters or a json body to enter data. The content-type header must be set to application/json for the json request.

The following examples show the two methods for posting data. Note that for some requests, much more information can be posted using the json input than is available with query parameters.

Using query parameters

curl -d "type=APPROVAL" https://user:pword@test.mambu.com/api/loans/4028329c3ad6c515013ad6d0f6e40006/transactions

Using JSON:

curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{ "type": "APPROVAL"} https://user:pword@test.mambu.com/api/loans/4028329c3ad6c515013ad6d0f6e40006/transactions`

Example

The following example makes a request using the username user, the password pword to the tenant demo to retrieve all repayments for loan account abc

Request with authorization made ...

https://user:pword@demo.mambu.com/api/loans/abc/repayments

And returns a response such as:

[
    {
        "encodedKey": "402832b4380a2d8801380a9cac860010",
        "parentAccountKey": "402832b4380a2d8801380a9cac41000f",
        "dueDate": "2012-07-28T00:00:00+0200",
        "principalDue": "190",
        "principalPaid": "0",
        "interestDue": "25.45",
        "interestPaid": "0",
        "state": "PENDING"
    },
    {
        "encodedKey": "402832b4380a2d8801380a9cac870011",
        "parentAccountKey": "402832b4380a2d8801380a9cac41000f",
        "dueDate": "2012-08-28T00:00:00+0200",
        "principalDue": "190",
        "principalPaid": "0",
        "interestDue": "26.29",
        "interestPaid": "0",
        "state": "PENDING"
    }
]

Activities

Allows you to retrieve the activity feed items.

Get all Activities

GET /activities

Get activities

Allows retrieving a list of activities entries within a date range that can be fitered by entity key.

Parameters

NameTypeDescriptionInRequired
fromstringFrom (start) date to retreive activities from.querytrue
tostringTo (end) date to retreive the activities from.querytrue
clientIDstringThe client key to filter activities on.queryfalse
groupIDstringThe group key to filter activities on.queryfalse
centreIDstringThe centre key to filter activities on.queryfalse
branchIDstringThe branch key to filter activities on.queryfalse
loanProductIDstringThe loan product key to filter activities on.queryfalse
savingsProductIDstringThe savings product key to filter activities on.queryfalse
loanAccountIDstringThe loan account key to filter activities on.queryfalse
savingsAccountIDstringThe savings account key to filter activities on.queryfalse
userIDstringThe user key to filter activities on.queryfalse

Example Responses

200 : OK
an array of activities

[
  {
    "activity": {
      "encodedKey": "8a54e5b444441eba014445e18c640021",
      "transactionID": 1656,
      "timestamp": "2014-02-18T16:43:33+0000",
      "type": "TASK_DELETED",
      "branchKey": "8a33ae49441c4fe101441c713b36000e",
      "userKey": "8a33ae49441c4fe101441c5fe42f0005",
      "assignedUserKey": "8a33ae49441c4fe101441c5fe42f0005",
      "notes": "Disburse your first loan",
      "fieldChanges": []
    },
    "branchName": "Matola City",
    "userName": "Max Power"
  },
  {
    "activity": {
      "encodedKey": "8a54e5b444441eba0144477140920028",
      "transactionID": 1657,
      "timestamp": "2014-02-19T00:00:08+0000",
      "type": "LOAN_ACCOUNT_SET_TO_IN_ARREARS",
      "clientKey": "8a33ae49441c4fe101441c7149e00102",
      "loanProductKey": "8a33ae494420ac160144210c0be50152",
      "loanAccountKey": "8a42711a4430587d0144307a352d0001",
      "notes": "",
      "fieldChanges": []
    },
    "clientName": "Kwemto Akobundu",
    "loanProductName": "dynamic dbei horizontal",
    "loanAccountName": "dynamic dbei horizontal"
  },
  {
    "activity": {
      "encodedKey": "8a54e5b44449337f014449337f130000",
      "transactionID": 1661,
      "timestamp": "2014-02-19T08:11:54+0000",
      "type": "USER_LOGGED_IN",
      "branchKey": "8a33ae49441c4fe101441c713b36000e",
      "userKey": "8a33ae49441c4fe101441c5fe42f0005",
      "assignedUserKey": "8a33ae49441c4fe101441c5fe42f0005",
      "notes": "",
      "fieldChanges": []
    },
    "branchName": "Matola City",
    "userName": "Max Power"
  },
  {
    "activity": {
      "encodedKey": "8a54e5b44449337f0144498ce4430004",
      "transactionID": 1665,
      "timestamp": "2014-02-19T09:49:34+0000",
      "type": "USER_LOGGED_IN",
      "branchKey": "8a33ae49441c4fe101441c713b36000e",
      "userKey": "8a33ae49441c4fe101441c5fe42f0005",
      "assignedUserKey": "8a33ae49441c4fe101441c5fe42f0005",
      "notes": "",
      "fieldChanges": []
    },
    "branchName": "Matola City",
    "userName": "Max Power"
  },
  {
    "activity": {
      "encodedKey": "8a54e5b44449337f014449a978650005",
      "transactionID": 1666,
      "timestamp": "2014-02-19T10:20:47+0000",
      "type": "CLIENT_EDITED",
      "clientKey": "8a33ae49441c4fe101441c71497200e3",
      "userKey": "8a33ae49441c4fe101441c5fe42f0005",
      "notes": "",
      "fieldChanges": [
        {
          "id": 331,
          "fieldChangeName": "NAME",
          "originalValue": "Adaoha Samuel",
          "newValue": "Adaoha z Samuel"
        }
      ]
    },
    "clientName": "Adaoha z Samuel",
    "userName": "Max Power"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[activity][an activity is an action that has taken place, either initiated by a user or the mambu system]falsenone
» activityactivityan activity is an action that has taken place, either initiated by a user or the mambu systemfalsenone
»» activityobjectan object containing details about the activityfalsenone
»»» activityChanges[any]nonefalsenone
»»» assignedCentreKeystringnonefalsenone
»»» assignedUserKeystringnonefalsenone
»»» branchKeystringnonefalsenone
»»» centreKeystringnonefalsenone
»»» clientKeystringnonefalsenone
»»» encodedKeystringa unique key for this activitytruenone
»»» fieldChanges[object]an array of field changes detailing any fields which were updated or created by this activityfalsenone
»»»» fieldChangeNamestringThe name of the field which changed, note that if the field is a custom field this field will indicate CUSTOM_FIELD_VALUE, in this case the name of the field will be given on the fieldDetailName key.falsenone
»»»» fieldDetailKeystringthe encoded key of the custom field which changedfalsenone
»»»» fieldDetailNamestringthe name of the custom field that changedfalsenone
»»»» idintegeran ID for this changefalsenone
»»»» newValuestringthe new value of the fieldfalsenone
»»»» originalValuestringthe previous value of the fieldfalsenone
»»» glAccountKeystringnonefalsenone
»»» glAccountsClosureKeystringnonefalsenone
»»» groupKeystringnonefalsenone
»»» lineOfCreditKeystringnonefalsenone
»»» loanAccountKeystringnonefalsenone
»»» loanProductKeystringnonefalsenone
»»» notesstringsome notes about the activityfalsenone
»»» savingsAccountKeystringnonefalsenone
»»» savingsProductKeystringnonefalsenone
»»» taskKeystringnonefalsenone
»»» timestampstring(timestamp)the time at which the activity took placetruenone
»»» transactionIDintegeran ID for this activityfalsenone
»»» typeactivityTypeThe types of activity which are recorded by the systemtruenone
»»» userKeystringnonefalsenone
»» branchNamestringthe name of the branch the activity concernsfalsenone
»» centreNamestringthe name of the centre the activity concernsfalsenone
»» clientNamestringthe name of the client the activity concernsfalsenone
»» groupNamestringthe name of the group the activity concernsfalsenone
»» loanAccountNamestringthe name of the loan account the activity concernsfalsenone
»» loanProductNamestringthe name of the loan product the activity concernsfalsenone
»» savingsAccountNamestringthe name of the savings account the activity concernsfalsenone
»» savingsProductNamestringthe name of the savings product the activity concernsfalsenone
»» taskNamestringthe name of the task the activity concernsfalsenone
»» userNamestringthe name of the user the activity concernsfalsenone

Enumerated Values

PropertyValue
typeBRANCH_CREATED
typeBRANCH_COMMENT_ADDED
typeBRANCH_COMMENT_EDITED
typeBRANCH_COMMENT_DELETED
typeBRANCH_EDITED
typeBRANCH_DELETED
typeCENTRE_CREATED
typeCENTRE_COMMENT_ADDED
typeCENTRE_COMMENT_EDITED
typeCENTRE_COMMENT_DELETED
typeCENTRE_EDITED
typeCENTRE_DELETED
typeCLIENT_CREATED
typeCLIENT_COMMENT_ADDED
typeCLIENT_COMMENT_EDITED
typeCLIENT_COMMENT_DELETED
typeCLIENT_EDITED
typeCLIENT_DELETED
typeCLIENT_BRANCH_ASSIGNMENT
typeCLIENT_BRANCH_UNASSIGNMENT
typeCLIENT_CENTRE_ASSIGNMENT
typeCLIENT_CENTRE_UNASSIGNMENT
typeCLIENT_CREDIT_OFFICER_ASSIGNMENT
typeCLIENT_CREDIT_OFFICER_UNASSIGNMENT
typeCLIENT_SET_TO_PENDING
typeCLIENT_SET_TO_ACTIVE
typeCLIENT_SET_TO_INACTIVE
typeCLIENT_SET_TO_BLACKLISTED
typeCLIENT_SET_TO_REJECTED
typeCLIENT_SET_TO_EXITED
typeDATA_IMPORTED
typeDATA_IMPORT_APPROVED
typeDATA_IMPORT_REVERTED
typeDOCUMENT_CREATED
typeDOCUMENT_EDITED
typeDOCUMENT_DELETED
typePRODUCT_DOCUMENT_TEMPLATE_CREATED
typePRODUCT_DOCUMENT_TEMPLATE_DELETED
typePRODUCT_DOCUMENT_TEMPLATE_EDITED
typeFEDERATED_AUTHENTICATION_SETTINGS_EDITED
typeENTITY_CREATED
typeENTITY_EDITED
typeENTITY_DELETED
typeGLACCOUNT_CREATED
typeGLACCOUNT_EDITED
typeGLACCOUNT_DELETED
typeGLACCOUNTSCLOSURE_EXECUTED
typeGLACCOUNTSCLOSURE_UNDONE
typeCLIENT_JOINED_GROUP
typeCLIENT_LEFT_GROUP
typeGROUP_CREATED
typeGROUP_COMMENT_ADDED
typeGROUP_COMMENT_EDITED
typeGROUP_COMMENT_DELETED
typeGROUP_EDITED
typeGROUP_DELETED
typeGROUP_BRANCH_ASSIGNMENT
typeGROUP_BRANCH_UNASSIGNMENT
typeGROUP_CENTRE_ASSIGNMENT
typeGROUP_CENTRE_UNASSIGNMENT
typeGROUP_CREDIT_OFFICER_ASSIGNMENT
typeGROUP_CREDIT_OFFICER_UNASSIGNMENT
typeGROUP_SMS_MESSAGE_SENT
typeGROUP_EMAIL_MESSAGE_SENT
typeHOLIDAY_SETTINGS_CHANGED
typeLINE_OF_CREDIT_CREATED
typeLINE_OF_CREDIT_EDITED
typeLINE_OF_CREDIT_DELETED
typeACCOUNT_ADDED_TO_LINE_OF_CREDIT
typeACCOUNT_REMOVED_FROM_LINE_OF_CREDIT
typeLINE_OF_CREDIT_CLOSED
typeLINE_OF_CREDIT_REOPENED
typeLINE_OF_CREDIT_APPROVED
typeLINE_OF_CREDIT_SET_TO_PENDING_APPROVAL
typeLINE_OF_CREDIT_WITHDRAW
typeLINE_OF_CREDIT_REJECT
typeLOAN_ACCOUNT_CREATED
typeLOAN_ACCOUNT_COMMENT_ADDED
typeLOAN_ACCOUNT_COMMENT_EDITED
typeLOAN_ACCOUNT_COMMENT_DELETED
typeLOAN_ACCOUNT_EDITED
typeLOAN_ACCOUNT_SET_TO_PARTIAL
typeLOAN_ACCOUNT_SET_TO_PENDING_APPROVAL
typeLOAN_ACCOUNT_SET_TO_APPROVED
typeLOAN_ACCOUNT_SET_TO_CLOSED_CANCELLED
typeLOAN_ACCOUNT_SET_TO_CLOSED_REJECTED
typeLOAN_ACCOUNT_SET_TO_CLOSED_REFINANCED
typeLOAN_ACCOUNT_SET_TO_CLOSED_RESCHEDULED
typeLOAN_ACCOUNT_SET_TO_CLOSED_WRITTEN_OFF
typeLOAN_ACCOUNT_SET_TO_ACTIVE
typeLOAN_ACCOUNT_DISBURSED
typeTRANCHE_DISBURSED
typeTRANCHE_REVERSED
typeLOAN_ACCOUNT_SET_TO_IN_ARREARS
typeLOAN_ACCOUNT_DELETED
typeLOAN_GROUP_DELETED
typeLINKED_LOAN_ACCOUNT
typeUNLINKED_LOAN_ACCOUNT
typeLOAN_ACCOUNT_PAYED_OFF
typeLOAN_ACCOUNT_LOCKED
typeLOAN_ACCOUNT_UNLOCKED
typeLOAN_ACCOUNT_LOCKED_OPERATIONS_EDITED
typeLOAN_ACCOUNT_LOCKED_CAPPING
typeLOAN_ACCOUNT_BRANCH_ASSIGNMENT
typeLOAN_ACCOUNT_BRANCH_UNASSIGNMENT
typeLOAN_ACCOUNT_CENTRE_ASSIGNMENT
typeLOAN_ACCOUNT_CENTRE_UNASSIGNMENT
typeLOAN_ACCOUNT_CREDIT_OFFICER_ASSIGNMENT
typeLOAN_ACCOUNT_CREDIT_OFFICER_UNASSIGNMENT
typeLOAN_ACCOUNT_SET_TO_CLOSED_OBLIGATIONS_MET
typeLOAN_SCHEDULE_EDITED
typeLOAN_PRODUCT_CREATED
typeLOAN_PRODUCT_COMMENT_ADDED
typeLOAN_PRODUCT_COMMENT_EDITED
typeLOAN_PRODUCT_COMMENT_DELETED
typeLOAN_PRODUCT_EDITED
typeLOAN_PRODUCT_DEACTIVATED
typeLOAN_PRODUCT_ACTIVATED
typeLOAN_PRODUCT_DELETED
typeORGANIZATION_SETTINGS_CHANGED
typePORTAL_ACTIVATED
typePORTAL_DEACTIVATED
typePORTAL_EDITED
typeSAVINGS_PRODUCT_CREATED
typeSAVINGS_PRODUCT_COMMENT_ADDED
typeSAVINGS_PRODUCT_COMMENT_EDITED
typeSAVINGS_PRODUCT_COMMENT_DELETED
typeSAVINGS_PRODUCT_EDITED
typeSAVINGS_PRODUCT_ACTIVATED
typeSAVINGS_PRODUCT_DEACTIVATED
typeSAVINGS_PRODUCT_DELETED
typeSAVING_ACCOUNT_CREATED
typeSAVINGS_ACCOUNT_COMMENT_ADDED
typeSAVINGS_ACCOUNT_COMMENT_EDITED
typeSAVINGS_ACCOUNT_COMMENT_DELETED
typeSAVING_ACCOUNT_EDITED
typeSAVINGS_ACCOUNT_APPROVED
typeSAVINGS_ACCOUNT_ACTIVATED
typeSAVINGS_ACCOUNT_CLOSED_WITHDRAWN
typeSAVINGS_ACCOUNT_CLOSED_REJECTED
typeSAVINGS_ACCOUNT_CLOSED
typeSAVINGS_ACCOUNT_MATURED
typeSAVINGS_ACCOUNT_SET_TO_PENDING
typeSAVINGS_ACCOUNT_MATURITY_SET
typeSAVINGS_ACCOUNT_MATURITY_UNSET
typeSAVINGS_ACCOUNT_SET_TO_ARREARS
typeSAVINGS_ACCOUNT_WRITEN_OFF
typeSAVINGS_ACCOUNT_SET_TO_LOCKED
typeSAVINGS_ACCOUNT_DELETED
typeSAVINGS_ACCOUNT_SET_TO_DORMANT
typeSAVINGS_ACCOUNT_UNDO_DORMANT
typeSMS_MESSAGE_SENT
typeCLIENT_EMAIL_MESSAGE_SENT
typeTASK_CREATED
typeTASK_EDITED
typeTASK_DELETED
typeTASK_COMPLETED
typeTASK_UNCOMPLETED
typeLOAN_TRANSACTION_EDITED
typeSAVINGS_TRANSACTION_EDITED
typeUSER_CREATED
typeUSER_EDITED
typeUSER_DELETED
typeUSER_COMMENT_ADDED
typeUSER_COMMENT_EDITED
typeUSER_COMMENT_DELETED
typeUSER_LOGGED_IN
typeUSER_BRANCH_ASSIGNMENT
typeUSER_BRANCH_UNASSIGNMENT
typeUSER_LOCKED

Branches

Allows you to retrieve branches which are being used by an organization. For information about custom fields and custom fields sets in branches see Custom Fields API documentation.

Get all Branches

GET /branches

Get all branches

Allows retrieving branches via a paginated list or by using the branch id/key. While using the branch id/key the full details of the branch can be retreived(address, custom fields, holidays). The custom field values can be changed using patch or delete methods.

Parameters

NameTypeDescriptionInRequired
offsetintegerStart at index x, for example, if limit is set to 10 and offset is set to 10, you will essentially get page 2 of all records.queryfalse
limitintegerMax number of records to return.queryfalse
fullDetailsbooleanWhether to load all the nested fields for the branch as well.queryfalse

Example Responses

200 : ok
an array of branches with full details

[
  {
    "encodedKey": "8a193c26722b51b701722d779e7122de",
    "id": "demoBranchId",
    "creationDate": "2020-05-19T15:05:23+0000",
    "lastModifiedDate": "2020-09-07T10:44:32+0000",
    "name": "Maputo Downtown",
    "state": "ACTIVE",
    "phoneNumber": "",
    "emailAddress": "",
    "notes": "Is located in the surroundings of the local market with a <i>lot of potential</i> to reach new clients.",
    "branchHolidays": [
      {
        "encodedKey": "8a19df6972b787fc0172b8c473c00b9c",
        "keyId": 12,
        "name": "only maputo holiday day",
        "dayOfMonth": 30,
        "monthOfYear": 7,
        "year": 2020,
        "isAnnualyRecurring": true,
        "creationDate": "2020-06-15T16:17:01+0000"
      }
    ],
    "customFieldValues": [
      {
        "encodedKey": "8a19cd6f74674df9017467f25aab02c6",
        "parentKey": "8a193c26722b51b701722d779e7122de",
        "customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
        "customField": {
          "encodedKey": "8a19cd6f74674df9017467ef8e6802af",
          "id": "cf_branch",
          "creationDate": "2020-09-07T09:42:33+0000",
          "lastModifiedDate": "2020-09-07T09:42:33+0000",
          "name": "Example Custom Field",
          "type": "BRANCH_INFO",
          "dataType": "CHECKBOX",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "description": "an example custom field of the checkbox type",
          "customFieldSet": {
            "encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
            "id": "_example_branch_custom_field_set",
            "name": "example branch custom field set",
            "notes": "example custom field set",
            "createdDate": "2020-09-07T09:41:50+0000",
            "lastModifiedDate": "2020-09-07T09:41:50+0000",
            "indexInList": 2,
            "type": "BRANCH_INFO",
            "usage": "SINGLE"
          },
          "indexInList": 0,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "TRUE",
        "indexInList": -1,
        "customFieldID": "cf_branch",
        "customFieldSetGroupIndex": -1
      },
      {
        "encodedKey": "8a19cd6f74674df9017468019ac00310",
        "parentKey": "8a193c26722b51b701722d779e7122de",
        "customFieldKey": "8a19cd6f74674df9017467f25aab02c9",
        "customField": {
          "encodedKey": "8a19cd6f74674df9017467f25aab02c9",
          "id": "cf_group_field_1",
          "creationDate": "2020-09-07T09:58:33+0000",
          "lastModifiedDate": "2020-09-07T09:58:33+0000",
          "name": "cf group field 1",
          "type": "BRANCH_INFO",
          "dataType": "STRING",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "description": "",
          "customFieldSet": {
            "encodedKey": "8a19cd6f74674df9017467f25aab02c8",
            "id": "_branches_grouped_cf_set",
            "name": "Custom Field Group for Branch",
            "notes": "",
            "createdDate": "2020-09-07T09:47:03+0000",
            "lastModifiedDate": "2020-09-07T09:47:03+0000",
            "indexInList": 3,
            "type": "BRANCH_INFO",
            "usage": "GROUPED"
          },
          "indexInList": 0,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "8a19cd6f74674df9017467f25aab02ca",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19cd6f74674df901746800bdb10307",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "group field 1",
        "indexInList": -1,
        "customFieldID": "cf_group_field_1",
        "customFieldSetGroupIndex": 0
      },
      {
        "encodedKey": "8a19cd6f74674df90174681f214103cf",
        "parentKey": "8a193c26722b51b701722d779e7122de",
        "customFieldKey": "8a19cd6f74674df901746800bdb10308",
        "customField": {
          "encodedKey": "8a19cd6f74674df901746800bdb10308",
          "id": "cf_group_field_2",
          "creationDate": "2020-09-07T09:59:02+0000",
          "lastModifiedDate": "2020-09-07T09:59:02+0000",
          "name": "cf group field 2",
          "type": "BRANCH_INFO",
          "dataType": "NUMBER",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "description": "",
          "customFieldSet": {
            "encodedKey": "8a19cd6f74674df9017467f25aab02c8",
            "id": "_branches_grouped_cf_set",
            "name": "Custom Field Group for Branch",
            "notes": "",
            "createdDate": "2020-09-07T09:47:03+0000",
            "lastModifiedDate": "2020-09-07T09:47:03+0000",
            "indexInList": 3,
            "type": "BRANCH_INFO",
            "usage": "GROUPED"
          },
          "indexInList": 1,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "8a19cd6f74674df901746800bdb10309",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19cd6f74674df901746800bdb1030a",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "2",
        "indexInList": -1,
        "customFieldID": "cf_group_field_2",
        "customFieldSetGroupIndex": 0
      },
      {
        "encodedKey": "8a19cd6f74674df90174681f214103d1",
        "parentKey": "8a193c26722b51b701722d779e7122de",
        "customFieldKey": "8a19cd6f74674df901746800bdb10308",
        "customField": {
          "encodedKey": "8a19cd6f74674df901746800bdb10308",
          "id": "cf_group_field_2",
          "creationDate": "2020-09-07T09:59:02+0000",
          "lastModifiedDate": "2020-09-07T09:59:02+0000",
          "name": "cf group field 2",
          "type": "BRANCH_INFO",
          "dataType": "NUMBER",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "description": "",
          "customFieldSet": {
            "encodedKey": "8a19cd6f74674df9017467f25aab02c8",
            "id": "_branches_grouped_cf_set",
            "name": "Custom Field Group for Branch",
            "notes": "",
            "createdDate": "2020-09-07T09:47:03+0000",
            "lastModifiedDate": "2020-09-07T09:47:03+0000",
            "indexInList": 3,
            "type": "BRANCH_INFO",
            "usage": "GROUPED"
          },
          "indexInList": 1,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "8a19cd6f74674df901746800bdb10309",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19cd6f74674df901746800bdb1030a",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "500",
        "indexInList": -1,
        "customFieldID": "cf_group_field_2",
        "customFieldSetGroupIndex": 1
      }
    ]
  },
  {
    "encodedKey": "8a193c26722b51b701722d779e7122df",
    "id": "2",
    "creationDate": "2020-05-19T15:05:23+0000",
    "lastModifiedDate": "2020-10-08T09:21:51+0000",
    "name": "Matola City",
    "state": "ACTIVE",
    "phoneNumber": "+7534987676",
    "emailAddress": "matola@BofAlg.es",
    "notes": "Is currently under construction to add an extra room that can be used for the meetings.<p></p>Have <b>six new computers</b> for their staff.",
    "branchHolidays": [
      {
        "encodedKey": "8a19df6972b787fc0172b8c50bdb0ba1",
        "keyId": 13,
        "name": "joe matola only day",
        "dayOfMonth": 26,
        "monthOfYear": 8,
        "year": 2020,
        "isAnnualyRecurring": true,
        "creationDate": "2020-06-15T16:17:19+0000"
      }
    ],
    "address": {
      "encodedKey": "8a19aa09750726e001750782ef6f017d",
      "parentKey": "8a193c26722b51b701722d779e7122df",
      "line1": "1 Bank Street",
      "line2": "Old Town",
      "city": "Matola City",
      "region": "Matola",
      "postcode": "10775",
      "country": "Bankistan",
      "indexInList": -1
    },
    "customFieldValues": []
  }
]

200 : ok
an array of branches with basic details

[
  {
    "encodedKey": "402832b43809601c01380963908b0009",
    "id": "2",
    "creationDate": "2012-06-20T12:15:16+0200",
    "lastModifiedDate": "2012-06-20T12:15:16+0200",
    "name": "Matola City"
  },
  {
    "encodedKey": "402832b43809601c01380963907c0008",
    "id": "demoBranchId",
    "creationDate": "2012-06-20T12:15:16+0200",
    "lastModifiedDate": "2012-06-20T12:15:16+0200",
    "name": "Maputo Downtown"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[BranchFullDetailsApiV1]nonefalsenone
» addressAddressApiV1nonefalsenone
»» addressTypestringnonefalsenone
»» citystringnonetruenone
»» countrystringnonetruenone
»» encodedKeystringnonetruenone
»» indexInListnumbernonetruenone
»» latitudenumbernonefalsenone
»» line1stringnonetruenone
»» line2stringnonefalsenone
»» longitudenumbernonefalsenone
»» parentKeystringnonetruenone
»» postcodestringnonetruenone
»» regionstringnonetruenone
»» toBeDeletedbooleannonefalsenone
» branchHolidays[HolidayApiV1]nonefalsenone
»» creationDatestringnonefalsenone
»» dayOfMonthnumbernonefalsenone
»» encodedKeystringnonefalsenone
»» isAnnualyRecurringbooleannonefalsenone
»» keyIdnumbernonefalsenone
»» monthOfYearnumbernonefalsenone
»» namestringnonefalsenone
»» yearnumbernonefalsenone
» creationDatestringnonefalsenone
» customFieldValues[CustomFieldValueApiV1]nonefalsenone
»» amountnumbernonefalsenone
»» customFieldCustomFieldApiV1nonefalsenone
»»» amountsobjectnonefalsenone
»»»» additionalPropertiesnumbernonefalsenone
»»» builtInCustomFieldIdstringnonefalsenone
»»» creationDatestringnonefalsenone
»»» customFieldProductSettings[CustomFieldLinkApiV1]nonefalsenone
»»»» customFieldEncodedKeystringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» isDefaultbooleannonefalsenone
»»»» isRequiredbooleannonefalsenone
»»»» linkTypestringnonefalsenone
»»»» productKeystringnonefalsenone
»»» customFieldSelectionOptions[CustomFieldSelectionApiV1]nonefalsenone
»»»» constraintCustomFilterConstraintApiV1nonefalsenone
»»»»» customFieldKeystringnonefalsenone
»»»»» dataFieldTypestringnonefalsenone
»»»»» dataFieldValuestringnonefalsenone
»»»»» dataItemTypestringnonefalsenone
»»»»» dataTypestringnonefalsenone
»»»»» encodedKeystringnonefalsenone
»»»»» filterElementstringnonefalsenone
»»»»» groupNumbernumbernonefalsenone
»»»»» indexnumbernonefalsenone
»»»»» linkingOperatorstringnonefalsenone
»»»»» secondValuestringnonefalsenone
»»»»» valuestringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» idstringnonefalsenone
»»»» scorenumbernonefalsenone
»»»» valuestringnonefalsenone
»»» customFieldSetCustomFieldSetApiV1nonefalsenone
»»»» builtInTypestringnonefalsenone
»»»» createdDatestringnonefalsenone
»»»» customFields[CustomFieldApiV1]nonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» idstringnonefalsenone
»»»» indexInListnumbernonefalsenone
»»»» lastModifiedDatestringnonefalsenone
»»»» namestringnonefalsenone
»»»» notesstringnonefalsenone
»»»» typestringnonefalsenone
»»»» usagestringnonefalsenone
»»» dataTypestringnonefalsenone
»»» descriptionstringnonefalsenone
»»» editRightsUsageRightsApiV1nonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» isAccessibleByAllUsersbooleannonefalsenone
»»»» roles[string]nonefalsenone
»»» encodedKeystringnonefalsenone
»»» idstringnonefalsenone
»»» indexInListnumbernonefalsenone
»»» isDefaultbooleannonefalsenone
»»» isRequiredbooleannonefalsenone
»»» lastModifiedDatestringnonefalsenone
»»» namestringnonefalsenone
»»» statestringnonefalsenone
»»» typestringnonefalsenone
»»» uniquebooleannonefalsenone
»»» validationPatternstringnonefalsenone
»»» valueLengthstringnonefalsenone
»»» values[string]nonefalsenone
»»» viewRightsUsageRightsApiV1nonefalsenone
»» customFieldIDstringnonefalsenone
»» customFieldKeystringnonefalsenone
»» customFieldSetGroupIndexnumbernonefalsenone
»» encodedKeystringnonefalsenone
»» indexInListnumbernonefalsenone
»» linkedEntityKeyValuestringnonefalsenone
»» parentKeystringnonefalsenone
»» selectionKeystringnonefalsenone
»» valuestringnonefalsenone
» emailAddressstringnonefalsenone
» encodedKeystringnonefalsenone
» idstringnonefalsenone
» lastModifiedDatestringnonefalsenone
» namestringnonefalsenone
» notesstringnonefalsenone
» phoneNumberstringnonefalsenone
» statestringnonefalsenone

Enumerated Values

PropertyValue
builtInCustomFieldIdMOBILE_PHONE
builtInCustomFieldIdEMAIL_ADDRESS
builtInCustomFieldIdGENDER
builtInCustomFieldIdMIDDLE_NAME
builtInCustomFieldIdHOME_PHONE
builtInCustomFieldIdBIRTHDATE
builtInCustomFieldIdLAST_NAME
builtInCustomFieldIdFIRST_NAME
linkTypeCLIENT_ROLE
linkTypeCHANNEL
linkTypePRODUCT
dataFieldTypeNATIVE
dataFieldTypeCUSTOM
dataItemTypeWRITTEN_OFF_LOANS
dataItemTypeLINE_OF_CREDIT
dataItemTypeINVESTOR_FUND
dataItemTypeTRANSACTION_DETAILS
dataItemTypeDOCUMENT_TEMPLATE
dataItemTypePRODUCT
dataItemTypeMCC_EXPIRATION
dataItemTypeCENTRE
dataItemTypeREPAYMENT_COLLECTION
dataItemTypeTASK
dataItemTypeOUTSTANDING_PORTFOLIO_AMOUNTS
dataItemTypeREVENUE
dataItemTypeCOMPOSED_TRANSACTIONS
dataItemTypeUNION_TRANSACTIONS
dataItemTypePRINCIPAL_PAYMENT_SETTINGS
dataItemTypeLOANS
dataItemTypeDISBURSEMENT_DETAILS
dataItemTypeSAVINGS_TRANSACTION
dataItemTypeIDENTIFICATION_DOCUMENT
dataItemTypeLOAN_PRODUCT
dataItemTypeDISBURSED_LOANS
dataItemTypeLOAN_GROUP
dataItemTypeTRANSACTION_CHANNEL
dataItemTypeCUSTOM_PREDEFINED_FEE
dataItemTypeJOURNAL_ENTRY
dataItemTypeATTACHMENT
dataItemTypePREDEFINED_FEE
dataItemTypeTRANCHE
dataItemTypeTRANSACTION
dataItemTypeINDEX_RATE_SOURCE
dataItemTypeGROUP_ROLE
dataItemTypeLOAN_TRANSACTION
dataItemTypeCLIENT_ROLE
dataItemTypeGROUP
dataItemTypeNOTIFICATION_MESSAGE
dataItemTypeOUTSTANDING_PORTFOLIO_ACCOUNTS
dataItemTypeREPAYMENT
dataItemTypeLOAN_ACCOUNT_GUARANTY
dataItemTypeBRANCH
dataItemTypeCURRENCY
dataItemTypeCARD_TRANSACTION_REVERSAL
dataItemTypeINTEREST_PRODUCT_SETTINGS
dataItemTypeCREATED_ACCOUNTS
dataItemTypeUSER
dataItemTypeSAVINGS_PRODUCT
dataItemTypeCLIENT
dataItemTypePRODUCT_ARREARS_SETTINGS
dataItemTypeSAVINGS
dataItemTypeEXPENSE
dataItemTypeINDEX_RATE
dataItemTypeNOTIFICATION_TEMPLATE
dataItemTypeCUSTOM_FIELD_SELECTION
dataItemTypeACTIVITY
dataTypeENUM
dataTypeMONEY
dataTypeNUMBER
dataTypeDATE_UTC
dataTypeJAVA_BLOB
dataTypeOBJECT
dataTypeBOOLEAN
dataTypeDATE
dataTypePERCENT
dataTypeBIG_DECIMAL
dataTypeSTRING
dataTypeKEY
dataTypeLONG
filterElementSTARTS_WITH_CASE_SENSITIVE
filterElementTHIS_WEEK
filterElementEQUALS
filterElementSTARTS_WITH
filterElementIN
filterElementTODAY
filterElementTHIS_YEAR
filterElementBETWEEN
filterElementAFTER
filterElementLESS_THAN
filterElementDIFFERENT_THAN
filterElementTHIS_MONTH
filterElementNOT_EMPTY
filterElementBEFORE
filterElementEQUALS_CASE_SENSITIVE
filterElementLAST_DAYS
filterElementMORE_THAN
filterElementEMPTY
filterElementON
linkingOperatorOR
linkingOperatorAND
builtInTypeDETAILS
builtInTypeGENERAL
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
usageSINGLE
usageGROUPED
dataTypeGROUP_LINK
dataTypeDATE
dataTypeNUMBER
dataTypeCHECKBOX
dataTypeCLIENT_LINK
dataTypeSTRING
dataTypeUSER_LINK
dataTypeSELECTION
stateDEACTIVATED
stateNORMAL
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
valueLengthSHORT
valueLengthLONG
stateACTIVE
stateINACTIVE

Get Branch by ID

GET /branches/{branchId}

Get a branch by ID

Get a specifc branch by its encoded key or ID.

Parameters

NameTypeDescriptionInRequired
branchIdstringnonepathtrue
fullDetailsbooleannonequeryfalse

Example Responses

200 : ok
Full Details for a single branch

{
  "encodedKey": "8a33ae49441c4fe101441c713b36000e",
  "id": "2",
  "creationDate": "2014-02-10T15:36:26+0000",
  "lastModifiedDate": "2014-02-17T11:18:42+0000",
  "name": "Matola City",
  "phoneNumber": "",
  "emailAddress": "",
  "branchHolidays": [
    {
      "encodedKey": "8a54e5b4443e9c9401443fae924b0008",
      "keyId": 31,
      "name": "branch_holiday",
      "dayOfMonth": 17,
      "monthOfYear": 2,
      "year": 2014,
      "isAnnualyRecurring": true
    }
  ],
  "address": {
    "encodedKey": "8a19aa09750726e001750782ef6f017d",
    "parentKey": "8a193c26722b51b701722d779e7122df",
    "line1": "1 Bank Street",
    "line2": "Old Town",
    "city": "Matola City",
    "region": "Matola",
    "postcode": "10775",
    "country": "Bankistan",
    "indexInList": -1
  },
  "customFieldValues": [
    {
      "encodedKey": "8a42711a4428c1f101442be406d20c24",
      "parentKey": "8a33ae49441c4fe101441c713b36000e",
      "customFieldKey": "8a33ae49441c4fe101441c7156c20358",
      "customField": {
        "encodedKey": "8a33ae49441c4fe101441c7156c20358",
        "id": "Clients_Branches",
        "name": "Clients",
        "type": "BRANCH_INFO",
        "dataType": "STRING",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "customFieldSet": {
          "encodedKey": "8a33ae49441c4fe101441c71568f034c",
          "name": "Branch Organization",
          "createdDate": "2014-02-10T15:36:33+0000",
          "indexInList": 0,
          "type": "BRANCH_INFO"
        },
        "indexInList": -1,
        "state": "NORMAL"
      },
      "value": "dadsds",
      "indexInList": -1
    },
    {
      "encodedKey": "8a54e5b4443e9c9401443f91c7a20003",
      "parentKey": "8a33ae49441c4fe101441c713b36000e",
      "customFieldKey": "8a33ae49441c4fe101441c7156c5035a",
      "customField": {
        "encodedKey": "8a33ae49441c4fe101441c7156c5035a",
        "id": "Organization_Staff_Branches",
        "name": "Organization Staff",
        "type": "BRANCH_INFO",
        "dataType": "NUMBER",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "customFieldSet": {
          "encodedKey": "8a33ae49441c4fe101441c71568f034c",
          "name": "Branch Organization",
          "createdDate": "2014-02-10T15:36:33+0000",
          "indexInList": 0,
          "type": "BRANCH_INFO"
        },
        "indexInList": -1,
        "state": "NORMAL"
      },
      "value": "4",
      "indexInList": -1
    },
    {
      "encodedKey": "8a54e5b4443e9c9401443f91c7b90004",
      "parentKey": "8a33ae49441c4fe101441c713b36000e",
      "customFieldKey": "8a33ae49441c4fe101441c7156c30359",
      "customField": {
        "encodedKey": "8a33ae49441c4fe101441c7156c30359",
        "id": "Province_Branches",
        "name": "Province",
        "type": "BRANCH_INFO",
        "dataType": "SELECTION",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "values": [
          "Catamarca",
          "Chaco",
          "Jujuy"
        ],
        "amounts": {
          "Jujuy": "10",
          "Chaco": "1",
          "Catamarca": "0"
        },
        "customFieldSet": {
          "encodedKey": "8a33ae49441c4fe101441c71569a034d",
          "name": "Province",
          "createdDate": "2014-02-10T15:36:33+0000",
          "indexInList": 1,
          "type": "BRANCH_INFO"
        },
        "indexInList": -1,
        "state": "NORMAL"
      },
      "value": "Catamarca",
      "amount": "0",
      "indexInList": -1
    },
    {
      "encodedKey": "8a54e5b4443e9c9401443f91c7b90005",
      "parentKey": "8a33ae49441c4fe101441c713b36000e",
      "customFieldKey": "8a33ae49441c4fe101441c7156c7035b",
      "customField": {
        "encodedKey": "8a33ae49441c4fe101441c7156c7035b",
        "id": "Outside_of_province_Branches",
        "name": "Outside of province",
        "type": "BRANCH_INFO",
        "dataType": "CHECKBOX",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "customFieldSet": {
          "encodedKey": "8a33ae49441c4fe101441c71569a034d",
          "name": "Province",
          "createdDate": "2014-02-10T15:36:33+0000",
          "indexInList": 1,
          "type": "BRANCH_INFO"
        },
        "indexInList": -1,
        "state": "NORMAL"
      },
      "value": "FALSE",
      "indexInList": -1
    }
  ]
}

200 : ok
A single branch

{
  "encodedKey": "402832b43809601c01380963908b0009",
  "id": "2",
  "creationDate": "2012-06-20T12:15:16+0200",
  "lastModifiedDate": "2012-06-20T12:15:16+0200",
  "name": "Matola City"
}

Responses

StatusMeaningDescriptionSchema
200OKokBranchFullDetailsApiV1

Update Custom Info for Branch

PATCH /branches/{branchId}/custominformation

Update custom field values

Example Requests

Update a single custom field

{
  "customInformation": [
    {
      "customFieldID": "custom_field_2",
      "value": "3"
    }
  ]
}

Update field in a group

{
  "customInformation": [
    {
      "customFieldID": "cf_grouped_field",
      "value": "new value",
      "customFieldSetGroupIndex": "0"
    }
  ]
}

Update multiple custom fields

{
  "customInformation": [
    {
      "customFieldID": "cf_grouped_field_2",
      "value": "3",
      "customFieldSetGroupIndex": "0"
    },
    {
      "customFieldID": "field_3",
      "value": "divorced"
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
customInformation[object]nonebodyfalse
» customFieldIDstringnonebodytrue
» valuestringnonebodytrue
» customFieldSetGroupIndexstringRequired if field to update is part of a group, if the Field Set Group Index is not set, a new group will be created with the value provided.bodyfalse
branchIdstringThe ID of the branchpathtrue

Example Responses

200 : OK
success response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Custom Info for Branch

GET /branches/{branchId}/custominformation/{customFieldId}

Get a custom field for a Branch

Allows retrieving a custom field value for a given branch directly by the ID/key of the branch and the ID/key of the custom field.

Parameters

NameTypeDescriptionInRequired
branchIdstringThe ID of the branch.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
A custom field

[
  {
    "encodedKey": "8a19cd6f74674df9017467f25aab02c6",
    "parentKey": "8a193c26722b51b701722d779e7122de",
    "customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
    "customField": {
      "encodedKey": "8a19cd6f74674df9017467ef8e6802af",
      "id": "cf_branch",
      "creationDate": "2020-09-07T09:42:33+0000",
      "lastModifiedDate": "2020-09-07T09:42:33+0000",
      "name": "Example Custom Field",
      "type": "BRANCH_INFO",
      "dataType": "CHECKBOX",
      "valueLength": "SHORT",
      "isDefault": false,
      "isRequired": false,
      "description": "an example custom field of the checkbox type",
      "customFieldSet": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
        "id": "_example_branch_custom_field_set",
        "name": "example branch custom field set",
        "notes": "example custom field set",
        "createdDate": "2020-09-07T09:41:50+0000",
        "lastModifiedDate": "2020-09-07T09:41:50+0000",
        "indexInList": 2,
        "type": "BRANCH_INFO",
        "usage": "SINGLE"
      },
      "indexInList": 0,
      "state": "NORMAL",
      "customFieldSelectionOptions": [],
      "viewRights": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "editRights": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "unique": false,
      "values": [],
      "amounts": {}
    },
    "value": "TRUE",
    "indexInList": -1,
    "customFieldID": "cf_branch",
    "customFieldSetGroupIndex": -1
  }
]

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKCustomFieldApiV1
404Not FoundNot FoundInline

Response Schema

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Update Custom Field for Branch

PATCH /branches/{branchId}/custominformation/{customFieldId}

Update a custom field for a Branch

Update a custom field value for a branch custom field

Example Requests

A new value for a custom field

{
  "value": "New value for custom field"
}

Parameters

NameTypeDescriptionInRequired
valuestringnonebodyfalse
branchIdstringThe ID of the branch.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "string"
}

400 : Bad Request
field is part of a group

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Delete Custom Info for Branch

DELETE /branches/{branchId}/custominformation/{customFieldId}

Delete a single custom field

Parameters

NameTypeDescriptionInRequired
branchIdstringThe ID of the branch.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
success response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
field is part of a group

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Update Custom Info (grouped) for Branch

PATCH /branches/{branchId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}

Update grouped custom field

Update custom field which is part of a group

Example requests

Provide a new value for a custom field

{
  "value": "Some updated information"
}

Parameters

NameTypeDescriptionInRequired
valuestringnonebodyfalse
branchIdstringThe ID of the branchpathtrue
customFieldIdstringThe ID of the custom fieldpathtrue
customFieldGroupSetIndexstringnonepathtrue

Example Responses

200 : OK
success response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
wrong group index provided

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
field not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Delete Custom Info (grouped) for Branch

DELETE /branches/{branchId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}

Delete grouped custom field

Delete a custom field which is part of a group

Parameters

NameTypeDescriptionInRequired
branchIdstringThe ID of the branchpathtrue
customFieldIdstringThe ID of the custom fieldpathtrue
customFieldGroupSetIndexstringnonepathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Branch Comments

GET /branches/{branchId}/comments

Get all branch comments

get all comments for a branch

Parameters

NameTypeDescriptionInRequired
limitstringnonequeryfalse
offsetstringnonequeryfalse
branchIdstringthe ID of the branchpathtrue

Example Responses

200 : OK
an array of comments

[
  {
    "encodedKey": "8a19b7057471f4af017472dc0fd80470",
    "parentKey": "8a193c26722b51b701722d77c5e423b7",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "creationDate": "2020-09-09T14:24:42+0000",
    "lastModifiedDate": "2020-09-09T14:24:42+0000",
    "text": "aanother afmaefomaef<div><br /></div><div>aefaefaf</div><div><br /></div><div>afaef</div>"
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c8bf25ab",
    "parentKey": "8a193c26722b51b701722d77c5e423b7",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "text": "Should suggest she apply for the agriculture loan given the nature of their business"
  }
]

400 : Bad Request
bad branch ID

{
  "returnCode": 149,
  "returnStatus": "INVALID_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestExecutionStatusApiV1

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[CommentApiV1]nonefalsenone
» creationDatestring(date-time)the date and time at which this comment was addedfalsenone
» encodedKeystringa unique key for this commentfalsenone
» lastModifiedDatestring(date-time)the date and time at which this comment was last modifiedfalsenone
» parentKeystringthe unique key of the parent object for this comment, for example, the client or loan account to which it relatesfalsenone
» textstringthe text of the comment as a string, must be properly JSON escpaped if it contains special charactersfalsenone
» userKeystringthe unique key of the user who created the commentfalsenone

Create Branch Comment

POST /branches/{branchId}/comments

Create a branch Comment

create new comment for a branch

Example Requests

A comment

{
  "comment": "A long text field containing the comment to post. this is a comment with \" \" all kinds of : \\ / non compliant characters & = which have \n been JSON escaped"
}

Parameters

NameTypeDescriptionInRequired
commentstringthe comment to be added. if adding complex content make sure it is properly JSON encoded before making your requestbodyfalse
branchIdstringthe ID of the branchpathtrue

Example Responses

200 : OK
a comment

{
  "encodedKey": "8a19c34574720f9e0174734a039f06e2",
  "parentKey": "8a193c26722b51b701722d77c5e423b7",
  "userKey": "8a194075720ece2c017226fced6f005e",
  "creationDate": "2020-09-09T14:39:36+0000",
  "lastModifiedDate": "2020-09-09T14:39:36+0000",
  "text": "this is a comment with \" \" all kinds of : \\ / non compliant stuff & = which has been JSON escaped"
}

400 : Bad Request
extra parameters in the request

{
  "returnCode": 27,
  "returnStatus": "PARAMETER_NOT_ALLOWED"
}

Responses

StatusMeaningDescriptionSchema
200OKOKCommentApiV1
400Bad RequestBad RequestInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Branch Documents

GET /branches/{branchId}/documents

Get documents for Branch

Get all documents for a given branch

Parameters

NameTypeDescriptionInRequired
offsetintegeroffset results. use with limit parameter to achieve pagingqueryfalse
limitintegermax number of records to returnqueryfalse
branchIdstringthe ID of the branchpathtrue

Example Responses

200 : ok
an array of documents

[
  {
    "encodedKey": "8a19c035747bf5b901747c5bfb04014b",
    "id": 51,
    "creationDate": "2020-09-11T08:52:48+0000",
    "lastModifiedDate": "2020-09-11T08:52:48+0000",
    "documentHolderKey": "8a193c26722b51b701722d779e7122df",
    "documentHolderType": "BRANCH",
    "name": "covid rules",
    "type": "png",
    "fileSize": 8258,
    "originalFilename": "Screenshot_2020-04-22_at_14.31.29.png",
    "location": "BRSIDSLFBOGAYZKUUKCOGGQEDOSEOD",
    "description": "some guidelines for bank employees regarding covid",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "Adrian Doonan"
  },
  {
    "encodedKey": "8a19a3337476f2d00174775b6a3001ae",
    "id": 43,
    "creationDate": "2020-09-10T09:31:54+0000",
    "lastModifiedDate": "2020-09-10T09:31:54+0000",
    "documentHolderKey": "8a193c26722b51b701722d779e7122df",
    "documentHolderType": "BRANCH",
    "name": "bnranch doc",
    "type": "png",
    "fileSize": 32109,
    "originalFilename": "clients_duplicate_id.png",
    "location": "JRTBQGGVXFQRQRBDGBRWQCTXJNRWXP",
    "description": "branch doc desc",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "Adrian Doonan"
  }
]

400 : Bad Request
bad branch ID

{
  "returnCode": 4,
  "returnStatus": "INVALID_PARAMETERS",
  "errorSource": "wrong owner id"
}

Responses

StatusMeaningDescriptionSchema
200OKokInline
400Bad RequestBad RequestExecutionStatusApiV1

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[DocumentApiV1]nonefalsenone
» createdByUserKeystringnonefalsenone
» creationDatestringnonefalsenone
» descriptionstringnonefalsenone
» documentHolderKeystringnonefalsenone
» documentHolderTypestringnonefalsenone
» encodedKeystringnonefalsenone
» fileSizenumbernonefalsenone
» idnumbernonefalsenone
» lastModifiedDatestringnonefalsenone
» locationstringnonefalsenone
» namestringnonefalsenone
» originalFilenamestringnonefalsenone
» typestringnonefalsenone
» userNamestringnonefalsenone

Enumerated Values

PropertyValue
documentHolderTypeBRANCH
documentHolderTypeLOAN_ACCOUNT
documentHolderTypeGROUP
documentHolderTypeDEPOSIT_ACCOUNT
documentHolderTypeLINE_OF_CREDIT
documentHolderTypeLOAN_PRODUCT
documentHolderTypeGL_JOURNAL_ENTRY
documentHolderTypeSAVINGS_PRODUCT
documentHolderTypeUSER
documentHolderTypeCLIENT
documentHolderTypeCENTRE
documentHolderTypeID_DOCUMENT

Create Branch Document

POST /branches/{branchId}/documents

Attach new Document to a Branch

Attach a new document to a branch

Example Requests

a document to uplaod

{
  "document": {
    "documentHolderKey": "8a193c26722b51b701722d779e7122df",
    "documentHolderType": "BRANCH",
    "name": "some image",
    "type": "PNG",
    "description": "this is an image file"
  },
  "documentContent": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAF0CAYAAACudHRvAAABQGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASS=="
}

Parameters

NameTypeDescriptionInRequired
bodyCreateDocumentApiV1a new document to be attached to an entitybodyfalse
branchIdstringthe ID of the branchpathtrue

Example Responses

201 : Created
uploaded document details

{
  "encodedKey": "8a19c035747bf5b901747c5bfb04014d",
  "id": 52,
  "creationDate": "2020-09-11T08:54:53+0000",
  "lastModifiedDate": "2020-09-11T08:54:53+0000",
  "documentHolderKey": "8a193c26722b51b701722d779e7122df",
  "documentHolderType": "BRANCH",
  "name": "some image",
  "type": "png",
  "fileSize": 32109,
  "originalFilename": "some_image.png",
  "location": "RCPOUIUHJFBYDRURQNNHMOGBEFIOQF",
  "description": "this is an image file",
  "createdByUserKey": "8a194075720ece2c017226fced6f005e"
}

400 : Bad Request
filetype provided does not match actual file type

{
  "returnCode": 973,
  "returnStatus": "INCONSISTENT_EXTENSION_WITH_FILE_CONTENT",
  "errorSource": "Invalid extension with file content"
}

Responses

StatusMeaningDescriptionSchema
201CreatedCreatedDocumentApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Get Branch Document by ID

GET /branches/{branchId}/documents/{documentId}

Get a Branch Document

Get a specific document attached to a branch

Parameters

NameTypeDescriptionInRequired
branchIdstringthe ID of the branchpathtrue
documentIdstringthe ID of the documentpathtrue

Example Responses

200 : OK
base64 encoded document

"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA9CAYAAAAd1W/BAAAMY2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdck0cbv3dkkrACEZAR9hJFZgAZIawIAjIFUQlJIGHEmBBE3NRSBesWUZxoVUTRagWkDkSssyhu6yiKqFRqsYoLle8yoNZ+4/c9v9+993+fe+7/jNzlvQNAr5Mvk+Wj+gAUSAvlCZGhrElp6SzSI4ABU0ADtsCTL1DIOPHxMQDKUP93eX0DIKr+qpuK65/j/1UMhSKFAAAkA=="

400 : Bad Request
bad Document ID

{
  "returnCode": 970,
  "returnStatus": "INVALID_DOCUMENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKstring
400Bad RequestBad RequestExecutionStatusApiV1

Delete Branch Document

DELETE /branches/{branchId}/documents/{documentId}

Delete a Branch Document

Delete a document attached to a branch

Parameters

NameTypeDescriptionInRequired
branchIdstringthe ID of the branchpathtrue
documentIdstringthe ID of the documentpathtrue

Example Responses

200 : OK
success response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
bad Document ID

{
  "returnCode": 970,
  "returnStatus": "INVALID_DOCUMENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKExecutionStatusApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Centres

Allows the retrieval of centres which are being used by an organisation. For information about custom fields and custom field sets see Custom Fields API documentation.

Get all Centres

GET /centres

Get all centres

Allows retrieving centres via a paginated list.

Parameters

NameTypeDescriptionInRequired
branchIDstringnonequeryfalse
offsetintegernonequeryfalse
limitintegernonequeryfalse
fullDetailsbooleannonequeryfalse

Example Responses

200 : ok
an array of centres with basic details

[
  {
    "encodedKey": "8a193c26722b51b701722d779e7122e0",
    "id": "DT1",
    "creationDate": "2020-05-19T15:05:23+0000",
    "lastModifiedDate": "2020-09-23T14:38:14+0000",
    "name": "Down Town",
    "state": "ACTIVE",
    "meetingDay": "FRIDAY",
    "assignedBranchKey": "8a193c26722b51b701722d779e7122de"
  },
  {
    "encodedKey": "8a193c26722b51b701722d779e7122e1",
    "id": "MP1",
    "creationDate": "2020-05-19T15:05:23+0000",
    "lastModifiedDate": "2020-05-19T15:05:23+0000",
    "name": "Market Place",
    "state": "ACTIVE",
    "assignedBranchKey": "8a193c26722b51b701722d779e7122df"
  }
]

200 : ok
an array of centres with full details

[
  {
    "encodedKey": "8a193c26722b51b701722d779e7122e0",
    "id": "DT1",
    "creationDate": "2020-05-19T15:05:23+0000",
    "lastModifiedDate": "2020-09-23T14:38:14+0000",
    "name": "Down Town",
    "state": "ACTIVE",
    "notes": "some rich text notes about this centre",
    "meetingDay": "FRIDAY",
    "assignedBranchKey": "8a193c26722b51b701722d779e7122de",
    "address": {
      "encodedKey": "8a19b63f74b9d6b10174bb3fea5b09b3",
      "parentKey": "8a193c26722b51b701722d779e7122e0",
      "line1": "Chuffington House",
      "line2": "123 Main High Road",
      "city": "Big Town",
      "region": "Big Conglomeration",
      "postcode": "123 456",
      "country": "Countrystan",
      "indexInList": -1
    },
    "customFieldValues": [
      {
        "encodedKey": "8a19b63f74b9d6b10174bb3f856b09a6",
        "parentKey": "8a193c26722b51b701722d779e7122e0",
        "customFieldKey": "8a19b63f74b9d6b10174bb3d56f20974",
        "customField": {
          "encodedKey": "8a19b63f74b9d6b10174bb3d56f20974",
          "id": "centre_cf_1",
          "creationDate": "2020-09-23T13:53:13+0000",
          "lastModifiedDate": "2020-09-23T14:27:10+0000",
          "name": "cf 1",
          "type": "CENTRE_INFO",
          "dataType": "STRING",
          "valueLength": "LONG",
          "isDefault": false,
          "isRequired": false,
          "description": "a text custom field for a centre",
          "customFieldSet": {
            "encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
            "id": "_centres_custom_field_set",
            "name": "custom field set",
            "notes": "custom fields for centre",
            "createdDate": "2020-09-23T13:52:45+0000",
            "lastModifiedDate": "2020-09-23T13:52:45+0000",
            "indexInList": 0,
            "type": "CENTRE_INFO",
            "usage": "SINGLE"
          },
          "indexInList": 0,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "validationPattern": "@#$",
          "viewRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb3d56f20975",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb3d56f20976",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "unique": true,
          "values": [],
          "amounts": {}
        },
        "value": "custom field value for cf 1",
        "indexInList": -1,
        "customFieldID": "centre_cf_1",
        "customFieldSetGroupIndex": -1
      },
      {
        "encodedKey": "8a19b63f74b9d6b10174bb3f856b09a8",
        "parentKey": "8a193c26722b51b701722d779e7122e0",
        "customFieldKey": "8a19b63f74b9d6b10174bb3d56f20977",
        "customField": {
          "encodedKey": "8a19b63f74b9d6b10174bb3d56f20977",
          "id": "cntr_cf_2",
          "creationDate": "2020-09-23T13:53:41+0000",
          "lastModifiedDate": "2020-09-23T13:53:41+0000",
          "name": "centre cf 2",
          "type": "CENTRE_INFO",
          "dataType": "CHECKBOX",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "description": "a checkbox custom field for a centre",
          "customFieldSet": {
            "encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
            "id": "_centres_custom_field_set",
            "name": "custom field set",
            "notes": "custom fields for centre",
            "createdDate": "2020-09-23T13:52:45+0000",
            "lastModifiedDate": "2020-09-23T13:52:45+0000",
            "indexInList": 0,
            "type": "CENTRE_INFO",
            "usage": "SINGLE"
          },
          "indexInList": 1,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb3d56f20978",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb3dc2b70979",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "FALSE",
        "indexInList": -1,
        "customFieldID": "cntr_cf_2",
        "customFieldSetGroupIndex": -1
      },
      {
        "encodedKey": "8a19b63f74b9d6b10174bb3f856b09aa",
        "parentKey": "8a193c26722b51b701722d779e7122e0",
        "customFieldKey": "8a19b63f74b9d6b10174bb3dc2b7097b",
        "customField": {
          "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097b",
          "id": "cntr_cf_Grp_1",
          "creationDate": "2020-09-23T13:54:31+0000",
          "lastModifiedDate": "2020-09-23T13:54:31+0000",
          "name": "cf grp 1",
          "type": "CENTRE_INFO",
          "dataType": "NUMBER",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "description": "a number custom field",
          "customFieldSet": {
            "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
            "id": "_cntr_cf_grp",
            "name": "cf grouped",
            "notes": "grouped centre custom fields",
            "createdDate": "2020-09-23T13:54:05+0000",
            "lastModifiedDate": "2020-09-23T13:54:05+0000",
            "indexInList": 1,
            "type": "CENTRE_INFO",
            "usage": "GROUPED"
          },
          "indexInList": 0,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097c",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097d",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "12",
        "indexInList": -1,
        "customFieldID": "cntr_cf_Grp_1",
        "customFieldSetGroupIndex": 0
      },
      {
        "encodedKey": "8a19b63f74b9d6b10174bb3fea5b09b1",
        "parentKey": "8a193c26722b51b701722d779e7122e0",
        "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
        "customField": {
          "encodedKey": "8a19b63f74b9d6b10174bb3f17d10992",
          "id": "cntr_cf_grp_2",
          "creationDate": "2020-09-23T13:55:08+0000",
          "lastModifiedDate": "2020-09-23T13:57:45+0000",
          "name": "centre cf grp 2",
          "type": "CENTRE_INFO",
          "dataType": "SELECTION",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "description": "a selection custom field for centres",
          "customFieldSet": {
            "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
            "id": "_cntr_cf_grp",
            "name": "cf grouped",
            "notes": "grouped centre custom fields",
            "createdDate": "2020-09-23T13:54:05+0000",
            "lastModifiedDate": "2020-09-23T13:54:05+0000",
            "indexInList": 1,
            "type": "CENTRE_INFO",
            "usage": "GROUPED"
          },
          "indexInList": 1,
          "state": "NORMAL",
          "customFieldSelectionOptions": [
            {
              "encodedKey": "8a19b63f74b9d6b10174bb3f17d10995",
              "id": "1341939373",
              "value": "option 1",
              "score": "10"
            },
            {
              "encodedKey": "8a19b63f74b9d6b10174bb3f17d10996",
              "id": "414828471",
              "value": "option 2",
              "score": "-15"
            }
          ],
          "viewRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb3f17d10993",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb3f17d10994",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "unique": false,
          "values": [
            "option 1",
            "option 2"
          ],
          "amounts": {
            "option 1": "10",
            "option 2": "-15"
          }
        },
        "value": "option 2",
        "amount": "-15",
        "indexInList": -1,
        "customFieldID": "cntr_cf_grp_2",
        "customFieldSetGroupIndex": 0
      },
      {
        "encodedKey": "8a19b63f74b9d6b10174bb5405830a67",
        "parentKey": "8a193c26722b51b701722d779e7122e0",
        "customFieldKey": "8a19b63f74b9d6b10174bb5405830a64",
        "customField": {
          "encodedKey": "8a19b63f74b9d6b10174bb5405830a64",
          "id": "cntr_cf_usr_lnk",
          "creationDate": "2020-09-23T14:18:00+0000",
          "lastModifiedDate": "2020-09-23T14:18:00+0000",
          "name": "user link for centre",
          "type": "CENTRE_INFO",
          "dataType": "USER_LINK",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "description": "a custom field linking to a specific user",
          "customFieldSet": {
            "encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
            "id": "_centres_custom_field_set",
            "name": "custom field set",
            "notes": "custom fields for centre",
            "createdDate": "2020-09-23T13:52:45+0000",
            "lastModifiedDate": "2020-09-23T13:52:45+0000",
            "indexInList": 0,
            "type": "CENTRE_INFO",
            "usage": "SINGLE"
          },
          "indexInList": 2,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb5405830a65",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb5405830a66",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "linkedEntityKeyValue": "8a19df0e730ee86f01730f4c3cf2074a",
        "indexInList": -1,
        "customFieldID": "cntr_cf_usr_lnk",
        "customFieldSetGroupIndex": -1
      },
      {
        "encodedKey": "8a19b63f74b9d6b10174bb66462a0a7e",
        "parentKey": "8a193c26722b51b701722d779e7122e0",
        "customFieldKey": "8a19b63f74b9d6b10174bb6646250a73",
        "customField": {
          "encodedKey": "8a19b63f74b9d6b10174bb6646250a73",
          "id": "cntr_cf_slct_2",
          "creationDate": "2020-09-23T14:37:56+0000",
          "lastModifiedDate": "2020-09-23T14:37:56+0000",
          "name": "centre cf select 2",
          "type": "CENTRE_INFO",
          "dataType": "SELECTION",
          "valueLength": "LONG",
          "isDefault": false,
          "isRequired": false,
          "description": "a custom field in which the options available are dependent on another field",
          "customFieldSet": {
            "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
            "id": "_cntr_cf_grp",
            "name": "cf grouped",
            "notes": "grouped centre custom fields",
            "createdDate": "2020-09-23T13:54:05+0000",
            "lastModifiedDate": "2020-09-23T13:54:05+0000",
            "indexInList": 1,
            "type": "CENTRE_INFO",
            "usage": "GROUPED"
          },
          "indexInList": 2,
          "state": "NORMAL",
          "customFieldSelectionOptions": [
            {
              "encodedKey": "8a19b63f74b9d6b10174bb6646250a76",
              "id": "996554077",
              "value": "dep 1 a",
              "score": "12",
              "constraint": {
                "encodedKey": "8a19b63f74b9d6b10174bb6646250a77",
                "dataFieldType": "CUSTOM",
                "dataItemType": "CENTRE",
                "dataType": "STRING",
                "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
                "filterElement": "EQUALS",
                "value": "8a19b63f74b9d6b10174bb3f17d10995",
                "linkingOperator": "AND",
                "groupNumber": 0
              }
            },
            {
              "encodedKey": "8a19b63f74b9d6b10174bb6646280a78",
              "id": "656383934",
              "value": "dep 1 b",
              "score": "-3",
              "constraint": {
                "encodedKey": "8a19b63f74b9d6b10174bb6646280a79",
                "dataFieldType": "CUSTOM",
                "dataItemType": "CENTRE",
                "dataType": "STRING",
                "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
                "filterElement": "EQUALS",
                "value": "8a19b63f74b9d6b10174bb3f17d10995",
                "linkingOperator": "AND",
                "groupNumber": 0
              }
            },
            {
              "encodedKey": "8a19b63f74b9d6b10174bb6646280a7a",
              "id": "745255722",
              "value": "dep 2 a",
              "score": "10",
              "constraint": {
                "encodedKey": "8a19b63f74b9d6b10174bb6646280a7b",
                "dataFieldType": "CUSTOM",
                "dataItemType": "CENTRE",
                "dataType": "STRING",
                "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
                "filterElement": "EQUALS",
                "value": "8a19b63f74b9d6b10174bb3f17d10996",
                "linkingOperator": "AND",
                "groupNumber": 0
              }
            },
            {
              "encodedKey": "8a19b63f74b9d6b10174bb6646280a7c",
              "id": "2093285980",
              "value": "dep 2 b",
              "score": "-5",
              "constraint": {
                "encodedKey": "8a19b63f74b9d6b10174bb66462a0a7d",
                "dataFieldType": "CUSTOM",
                "dataItemType": "CENTRE",
                "dataType": "STRING",
                "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
                "filterElement": "EQUALS",
                "value": "8a19b63f74b9d6b10174bb3f17d10996",
                "linkingOperator": "AND",
                "groupNumber": 0
              }
            }
          ],
          "viewRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb6646250a74",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a19b63f74b9d6b10174bb6646250a75",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "unique": false
        },
        "value": "dep 2 a",
        "amount": "10",
        "indexInList": -1,
        "customFieldID": "cntr_cf_slct_2",
        "customFieldSetGroupIndex": 0
      }
    ]
  },
  {
    "encodedKey": "8a193c26722b51b701722d779e7122e1",
    "id": "MP1",
    "creationDate": "2020-05-19T15:05:23+0000",
    "lastModifiedDate": "2020-05-19T15:05:23+0000",
    "name": "Market Place",
    "state": "ACTIVE",
    "notes": "All clients and officers gather in the market to discuss loans and savings situation.",
    "assignedBranchKey": "8a193c26722b51b701722d779e7122df",
    "address": {
      "encodedKey": "8a193c26722b51b701722d77c25e22e3",
      "parentKey": "8a193c26722b51b701722d779e7122e1",
      "line1": "Hegyalja út 95.",
      "city": "Debrecen",
      "postcode": "4032",
      "indexInList": -1
    },
    "customFieldValues": []
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[CentreApiV1]nonefalsenone
» addressAddressApiV1nonefalsenone
»» addressTypestringnonefalsenone
»» citystringnonetruenone
»» countrystringnonetruenone
»» encodedKeystringnonetruenone
»» indexInListnumbernonetruenone
»» latitudenumbernonefalsenone
»» line1stringnonetruenone
»» line2stringnonefalsenone
»» longitudenumbernonefalsenone
»» parentKeystringnonetruenone
»» postcodestringnonetruenone
»» regionstringnonetruenone
»» toBeDeletedbooleannonefalsenone
» assignedBranchKeystringnonefalsenone
» creationDatestringnonefalsenone
» customFieldValues[CustomFieldValueApiV1]nonefalsenone
»» amountnumbernonefalsenone
»» customFieldCustomFieldApiV1nonefalsenone
»»» amountsobjectnonefalsenone
»»»» additionalPropertiesnumbernonefalsenone
»»» builtInCustomFieldIdstringnonefalsenone
»»» creationDatestringnonefalsenone
»»» customFieldProductSettings[CustomFieldLinkApiV1]nonefalsenone
»»»» customFieldEncodedKeystringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» isDefaultbooleannonefalsenone
»»»» isRequiredbooleannonefalsenone
»»»» linkTypestringnonefalsenone
»»»» productKeystringnonefalsenone
»»» customFieldSelectionOptions[CustomFieldSelectionApiV1]nonefalsenone
»»»» constraintCustomFilterConstraintApiV1nonefalsenone
»»»»» customFieldKeystringnonefalsenone
»»»»» dataFieldTypestringnonefalsenone
»»»»» dataFieldValuestringnonefalsenone
»»»»» dataItemTypestringnonefalsenone
»»»»» dataTypestringnonefalsenone
»»»»» encodedKeystringnonefalsenone
»»»»» filterElementstringnonefalsenone
»»»»» groupNumbernumbernonefalsenone
»»»»» indexnumbernonefalsenone
»»»»» linkingOperatorstringnonefalsenone
»»»»» secondValuestringnonefalsenone
»»»»» valuestringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» idstringnonefalsenone
»»»» scorenumbernonefalsenone
»»»» valuestringnonefalsenone
»»» customFieldSetCustomFieldSetApiV1nonefalsenone
»»»» builtInTypestringnonefalsenone
»»»» createdDatestringnonefalsenone
»»»» customFields[CustomFieldApiV1]nonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» idstringnonefalsenone
»»»» indexInListnumbernonefalsenone
»»»» lastModifiedDatestringnonefalsenone
»»»» namestringnonefalsenone
»»»» notesstringnonefalsenone
»»»» typestringnonefalsenone
»»»» usagestringnonefalsenone
»»» dataTypestringnonefalsenone
»»» descriptionstringnonefalsenone
»»» editRightsUsageRightsApiV1nonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» isAccessibleByAllUsersbooleannonefalsenone
»»»» roles[string]nonefalsenone
»»» encodedKeystringnonefalsenone
»»» idstringnonefalsenone
»»» indexInListnumbernonefalsenone
»»» isDefaultbooleannonefalsenone
»»» isRequiredbooleannonefalsenone
»»» lastModifiedDatestringnonefalsenone
»»» namestringnonefalsenone
»»» statestringnonefalsenone
»»» typestringnonefalsenone
»»» uniquebooleannonefalsenone
»»» validationPatternstringnonefalsenone
»»» valueLengthstringnonefalsenone
»»» values[string]nonefalsenone
»»» viewRightsUsageRightsApiV1nonefalsenone
»» customFieldIDstringnonefalsenone
»» customFieldKeystringnonefalsenone
»» customFieldSetGroupIndexnumbernonefalsenone
»» encodedKeystringnonefalsenone
»» indexInListnumbernonefalsenone
»» linkedEntityKeyValuestringnonefalsenone
»» parentKeystringnonefalsenone
»» selectionKeystringnonefalsenone
»» valuestringnonefalsenone
» encodedKeystringnonefalsenone
» idstringnonefalsenone
» lastModifiedDatestringnonefalsenone
» meetingDaystringnonefalsenone
» namestringnonefalsenone
» notesstringnonefalsenone
» statestringnonefalsenone

Enumerated Values

PropertyValue
builtInCustomFieldIdMOBILE_PHONE
builtInCustomFieldIdEMAIL_ADDRESS
builtInCustomFieldIdGENDER
builtInCustomFieldIdMIDDLE_NAME
builtInCustomFieldIdHOME_PHONE
builtInCustomFieldIdBIRTHDATE
builtInCustomFieldIdLAST_NAME
builtInCustomFieldIdFIRST_NAME
linkTypeCLIENT_ROLE
linkTypeCHANNEL
linkTypePRODUCT
dataFieldTypeNATIVE
dataFieldTypeCUSTOM
dataItemTypeWRITTEN_OFF_LOANS
dataItemTypeLINE_OF_CREDIT
dataItemTypeINVESTOR_FUND
dataItemTypeTRANSACTION_DETAILS
dataItemTypeDOCUMENT_TEMPLATE
dataItemTypePRODUCT
dataItemTypeMCC_EXPIRATION
dataItemTypeCENTRE
dataItemTypeREPAYMENT_COLLECTION
dataItemTypeTASK
dataItemTypeOUTSTANDING_PORTFOLIO_AMOUNTS
dataItemTypeREVENUE
dataItemTypeCOMPOSED_TRANSACTIONS
dataItemTypeUNION_TRANSACTIONS
dataItemTypePRINCIPAL_PAYMENT_SETTINGS
dataItemTypeLOANS
dataItemTypeDISBURSEMENT_DETAILS
dataItemTypeSAVINGS_TRANSACTION
dataItemTypeIDENTIFICATION_DOCUMENT
dataItemTypeLOAN_PRODUCT
dataItemTypeDISBURSED_LOANS
dataItemTypeLOAN_GROUP
dataItemTypeTRANSACTION_CHANNEL
dataItemTypeCUSTOM_PREDEFINED_FEE
dataItemTypeJOURNAL_ENTRY
dataItemTypeATTACHMENT
dataItemTypePREDEFINED_FEE
dataItemTypeTRANCHE
dataItemTypeTRANSACTION
dataItemTypeINDEX_RATE_SOURCE
dataItemTypeGROUP_ROLE
dataItemTypeLOAN_TRANSACTION
dataItemTypeCLIENT_ROLE
dataItemTypeGROUP
dataItemTypeNOTIFICATION_MESSAGE
dataItemTypeOUTSTANDING_PORTFOLIO_ACCOUNTS
dataItemTypeREPAYMENT
dataItemTypeLOAN_ACCOUNT_GUARANTY
dataItemTypeBRANCH
dataItemTypeCURRENCY
dataItemTypeCARD_TRANSACTION_REVERSAL
dataItemTypeINTEREST_PRODUCT_SETTINGS
dataItemTypeCREATED_ACCOUNTS
dataItemTypeUSER
dataItemTypeSAVINGS_PRODUCT
dataItemTypeCLIENT
dataItemTypePRODUCT_ARREARS_SETTINGS
dataItemTypeSAVINGS
dataItemTypeEXPENSE
dataItemTypeINDEX_RATE
dataItemTypeNOTIFICATION_TEMPLATE
dataItemTypeCUSTOM_FIELD_SELECTION
dataItemTypeACTIVITY
dataTypeENUM
dataTypeMONEY
dataTypeNUMBER
dataTypeDATE_UTC
dataTypeJAVA_BLOB
dataTypeOBJECT
dataTypeBOOLEAN
dataTypeDATE
dataTypePERCENT
dataTypeBIG_DECIMAL
dataTypeSTRING
dataTypeKEY
dataTypeLONG
filterElementSTARTS_WITH_CASE_SENSITIVE
filterElementTHIS_WEEK
filterElementEQUALS
filterElementSTARTS_WITH
filterElementIN
filterElementTODAY
filterElementTHIS_YEAR
filterElementBETWEEN
filterElementAFTER
filterElementLESS_THAN
filterElementDIFFERENT_THAN
filterElementTHIS_MONTH
filterElementNOT_EMPTY
filterElementBEFORE
filterElementEQUALS_CASE_SENSITIVE
filterElementLAST_DAYS
filterElementMORE_THAN
filterElementEMPTY
filterElementON
linkingOperatorOR
linkingOperatorAND
builtInTypeDETAILS
builtInTypeGENERAL
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
usageSINGLE
usageGROUPED
dataTypeGROUP_LINK
dataTypeDATE
dataTypeNUMBER
dataTypeCHECKBOX
dataTypeCLIENT_LINK
dataTypeSTRING
dataTypeUSER_LINK
dataTypeSELECTION
stateDEACTIVATED
stateNORMAL
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
valueLengthSHORT
valueLengthLONG
meetingDayWEDNESDAY
meetingDayMONDAY
meetingDayTHURSDAY
meetingDaySUNDAY
meetingDayTUESDAY
meetingDayFRIDAY
meetingDaySATURDAY
stateACTIVE
stateINACTIVE

Get Centre by ID

GET /centres/{centreId}

Get a centre

get details on a specific centre by ID

Parameters

NameTypeDescriptionInRequired
centreIdstringnonepathtrue
fullDetailsbooleannonequeryfalse

Example Responses

200 : ok
a centre with basic details

{
  "encodedKey": "8a193c26722b51b701722d779e7122e1",
  "id": "MP1",
  "creationDate": "2020-05-19T15:05:23+0000",
  "lastModifiedDate": "2020-05-19T15:05:23+0000",
  "name": "Market Place",
  "state": "ACTIVE",
  "assignedBranchKey": "8a193c26722b51b701722d779e7122df"
}

200 : ok
a centre with full details

{
  "encodedKey": "8a193c26722b51b701722d779e7122e0",
  "id": "DT1",
  "creationDate": "2020-05-19T15:05:23+0000",
  "lastModifiedDate": "2020-09-23T14:38:14+0000",
  "name": "Down Town",
  "state": "ACTIVE",
  "notes": "some rich text notes about this centre",
  "meetingDay": "FRIDAY",
  "assignedBranchKey": "8a193c26722b51b701722d779e7122de",
  "address": {
    "encodedKey": "8a19b63f74b9d6b10174bb3fea5b09b3",
    "parentKey": "8a193c26722b51b701722d779e7122e0",
    "line1": "Chuffington House",
    "line2": "123 Main High Road",
    "city": "Big Town",
    "region": "Big Conglomeration",
    "postcode": "123 456",
    "country": "Countrystan",
    "indexInList": -1
  },
  "customFieldValues": [
    {
      "encodedKey": "8a19b63f74b9d6b10174bb3f856b09a6",
      "parentKey": "8a193c26722b51b701722d779e7122e0",
      "customFieldKey": "8a19b63f74b9d6b10174bb3d56f20974",
      "customField": {
        "encodedKey": "8a19b63f74b9d6b10174bb3d56f20974",
        "id": "centre_cf_1",
        "creationDate": "2020-09-23T13:53:13+0000",
        "lastModifiedDate": "2020-09-23T14:27:10+0000",
        "name": "cf 1",
        "type": "CENTRE_INFO",
        "dataType": "STRING",
        "valueLength": "LONG",
        "isDefault": false,
        "isRequired": false,
        "description": "a text custom field for a centre",
        "customFieldSet": {
          "encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
          "id": "_centres_custom_field_set",
          "name": "custom field set",
          "notes": "custom fields for centre",
          "createdDate": "2020-09-23T13:52:45+0000",
          "lastModifiedDate": "2020-09-23T13:52:45+0000",
          "indexInList": 0,
          "type": "CENTRE_INFO",
          "usage": "SINGLE"
        },
        "indexInList": 0,
        "state": "NORMAL",
        "customFieldSelectionOptions": [],
        "validationPattern": "@#$",
        "viewRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb3d56f20975",
          "isAccessibleByAllUsers": true,
          "roles": []
        },
        "editRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb3d56f20976",
          "isAccessibleByAllUsers": false,
          "roles": []
        },
        "unique": true,
        "values": [],
        "amounts": {}
      },
      "value": "custom field value for cf 1",
      "indexInList": -1,
      "customFieldID": "centre_cf_1",
      "customFieldSetGroupIndex": -1
    },
    {
      "encodedKey": "8a19b63f74b9d6b10174bb3f856b09a8",
      "parentKey": "8a193c26722b51b701722d779e7122e0",
      "customFieldKey": "8a19b63f74b9d6b10174bb3d56f20977",
      "customField": {
        "encodedKey": "8a19b63f74b9d6b10174bb3d56f20977",
        "id": "cntr_cf_2",
        "creationDate": "2020-09-23T13:53:41+0000",
        "lastModifiedDate": "2020-09-23T13:53:41+0000",
        "name": "centre cf 2",
        "type": "CENTRE_INFO",
        "dataType": "CHECKBOX",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "description": "a checkbox custom field for a centre",
        "customFieldSet": {
          "encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
          "id": "_centres_custom_field_set",
          "name": "custom field set",
          "notes": "custom fields for centre",
          "createdDate": "2020-09-23T13:52:45+0000",
          "lastModifiedDate": "2020-09-23T13:52:45+0000",
          "indexInList": 0,
          "type": "CENTRE_INFO",
          "usage": "SINGLE"
        },
        "indexInList": 1,
        "state": "NORMAL",
        "customFieldSelectionOptions": [],
        "viewRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb3d56f20978",
          "isAccessibleByAllUsers": false,
          "roles": []
        },
        "editRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb3dc2b70979",
          "isAccessibleByAllUsers": false,
          "roles": []
        },
        "unique": false,
        "values": [],
        "amounts": {}
      },
      "value": "FALSE",
      "indexInList": -1,
      "customFieldID": "cntr_cf_2",
      "customFieldSetGroupIndex": -1
    },
    {
      "encodedKey": "8a19b63f74b9d6b10174bb3f856b09aa",
      "parentKey": "8a193c26722b51b701722d779e7122e0",
      "customFieldKey": "8a19b63f74b9d6b10174bb3dc2b7097b",
      "customField": {
        "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097b",
        "id": "cntr_cf_Grp_1",
        "creationDate": "2020-09-23T13:54:31+0000",
        "lastModifiedDate": "2020-09-23T13:54:31+0000",
        "name": "cf grp 1",
        "type": "CENTRE_INFO",
        "dataType": "NUMBER",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "description": "a number custom field",
        "customFieldSet": {
          "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
          "id": "_cntr_cf_grp",
          "name": "cf grouped",
          "notes": "grouped centre custom fields",
          "createdDate": "2020-09-23T13:54:05+0000",
          "lastModifiedDate": "2020-09-23T13:54:05+0000",
          "indexInList": 1,
          "type": "CENTRE_INFO",
          "usage": "GROUPED"
        },
        "indexInList": 0,
        "state": "NORMAL",
        "customFieldSelectionOptions": [],
        "viewRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097c",
          "isAccessibleByAllUsers": false,
          "roles": []
        },
        "editRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097d",
          "isAccessibleByAllUsers": false,
          "roles": []
        },
        "unique": false,
        "values": [],
        "amounts": {}
      },
      "value": "12",
      "indexInList": -1,
      "customFieldID": "cntr_cf_Grp_1",
      "customFieldSetGroupIndex": 0
    },
    {
      "encodedKey": "8a19b63f74b9d6b10174bb3fea5b09b1",
      "parentKey": "8a193c26722b51b701722d779e7122e0",
      "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
      "customField": {
        "encodedKey": "8a19b63f74b9d6b10174bb3f17d10992",
        "id": "cntr_cf_grp_2",
        "creationDate": "2020-09-23T13:55:08+0000",
        "lastModifiedDate": "2020-09-23T13:57:45+0000",
        "name": "centre cf grp 2",
        "type": "CENTRE_INFO",
        "dataType": "SELECTION",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "description": "a selection custom field for centres",
        "customFieldSet": {
          "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
          "id": "_cntr_cf_grp",
          "name": "cf grouped",
          "notes": "grouped centre custom fields",
          "createdDate": "2020-09-23T13:54:05+0000",
          "lastModifiedDate": "2020-09-23T13:54:05+0000",
          "indexInList": 1,
          "type": "CENTRE_INFO",
          "usage": "GROUPED"
        },
        "indexInList": 1,
        "state": "NORMAL",
        "customFieldSelectionOptions": [
          {
            "encodedKey": "8a19b63f74b9d6b10174bb3f17d10995",
            "id": "1341939373",
            "value": "option 1",
            "score": "10"
          },
          {
            "encodedKey": "8a19b63f74b9d6b10174bb3f17d10996",
            "id": "414828471",
            "value": "option 2",
            "score": "-15"
          }
        ],
        "viewRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb3f17d10993",
          "isAccessibleByAllUsers": true,
          "roles": []
        },
        "editRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb3f17d10994",
          "isAccessibleByAllUsers": true,
          "roles": []
        },
        "unique": false,
        "values": [
          "option 1",
          "option 2"
        ],
        "amounts": {
          "option 1": "10",
          "option 2": "-15"
        }
      },
      "value": "option 2",
      "amount": "-15",
      "indexInList": -1,
      "customFieldID": "cntr_cf_grp_2",
      "customFieldSetGroupIndex": 0
    },
    {
      "encodedKey": "8a19b63f74b9d6b10174bb5405830a67",
      "parentKey": "8a193c26722b51b701722d779e7122e0",
      "customFieldKey": "8a19b63f74b9d6b10174bb5405830a64",
      "customField": {
        "encodedKey": "8a19b63f74b9d6b10174bb5405830a64",
        "id": "cntr_cf_usr_lnk",
        "creationDate": "2020-09-23T14:18:00+0000",
        "lastModifiedDate": "2020-09-23T14:18:00+0000",
        "name": "user link for centre",
        "type": "CENTRE_INFO",
        "dataType": "USER_LINK",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "description": "a custom field linking to a specific user",
        "customFieldSet": {
          "encodedKey": "8a19b63f74b9d6b10174bad54f21066c",
          "id": "_centres_custom_field_set",
          "name": "custom field set",
          "notes": "custom fields for centre",
          "createdDate": "2020-09-23T13:52:45+0000",
          "lastModifiedDate": "2020-09-23T13:52:45+0000",
          "indexInList": 0,
          "type": "CENTRE_INFO",
          "usage": "SINGLE"
        },
        "indexInList": 2,
        "state": "NORMAL",
        "customFieldSelectionOptions": [],
        "viewRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb5405830a65",
          "isAccessibleByAllUsers": true,
          "roles": []
        },
        "editRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb5405830a66",
          "isAccessibleByAllUsers": false,
          "roles": []
        },
        "unique": false,
        "values": [],
        "amounts": {}
      },
      "linkedEntityKeyValue": "8a19df0e730ee86f01730f4c3cf2074a",
      "indexInList": -1,
      "customFieldID": "cntr_cf_usr_lnk",
      "customFieldSetGroupIndex": -1
    },
    {
      "encodedKey": "8a19b63f74b9d6b10174bb66462a0a7e",
      "parentKey": "8a193c26722b51b701722d779e7122e0",
      "customFieldKey": "8a19b63f74b9d6b10174bb6646250a73",
      "customField": {
        "encodedKey": "8a19b63f74b9d6b10174bb6646250a73",
        "id": "cntr_cf_slct_2",
        "creationDate": "2020-09-23T14:37:56+0000",
        "lastModifiedDate": "2020-09-23T14:37:56+0000",
        "name": "centre cf select 2",
        "type": "CENTRE_INFO",
        "dataType": "SELECTION",
        "valueLength": "LONG",
        "isDefault": false,
        "isRequired": false,
        "description": "a custom field in which the options available are dependent on another field",
        "customFieldSet": {
          "encodedKey": "8a19b63f74b9d6b10174bb3dc2b7097a",
          "id": "_cntr_cf_grp",
          "name": "cf grouped",
          "notes": "grouped centre custom fields",
          "createdDate": "2020-09-23T13:54:05+0000",
          "lastModifiedDate": "2020-09-23T13:54:05+0000",
          "indexInList": 1,
          "type": "CENTRE_INFO",
          "usage": "GROUPED"
        },
        "indexInList": 2,
        "state": "NORMAL",
        "customFieldSelectionOptions": [
          {
            "encodedKey": "8a19b63f74b9d6b10174bb6646250a76",
            "id": "996554077",
            "value": "dep 1 a",
            "score": "12",
            "constraint": {
              "encodedKey": "8a19b63f74b9d6b10174bb6646250a77",
              "dataFieldType": "CUSTOM",
              "dataItemType": "CENTRE",
              "dataType": "STRING",
              "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
              "filterElement": "EQUALS",
              "value": "8a19b63f74b9d6b10174bb3f17d10995",
              "linkingOperator": "AND",
              "groupNumber": 0
            }
          },
          {
            "encodedKey": "8a19b63f74b9d6b10174bb6646280a78",
            "id": "656383934",
            "value": "dep 1 b",
            "score": "-3",
            "constraint": {
              "encodedKey": "8a19b63f74b9d6b10174bb6646280a79",
              "dataFieldType": "CUSTOM",
              "dataItemType": "CENTRE",
              "dataType": "STRING",
              "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
              "filterElement": "EQUALS",
              "value": "8a19b63f74b9d6b10174bb3f17d10995",
              "linkingOperator": "AND",
              "groupNumber": 0
            }
          },
          {
            "encodedKey": "8a19b63f74b9d6b10174bb6646280a7a",
            "id": "745255722",
            "value": "dep 2 a",
            "score": "10",
            "constraint": {
              "encodedKey": "8a19b63f74b9d6b10174bb6646280a7b",
              "dataFieldType": "CUSTOM",
              "dataItemType": "CENTRE",
              "dataType": "STRING",
              "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
              "filterElement": "EQUALS",
              "value": "8a19b63f74b9d6b10174bb3f17d10996",
              "linkingOperator": "AND",
              "groupNumber": 0
            }
          },
          {
            "encodedKey": "8a19b63f74b9d6b10174bb6646280a7c",
            "id": "2093285980",
            "value": "dep 2 b",
            "score": "-5",
            "constraint": {
              "encodedKey": "8a19b63f74b9d6b10174bb66462a0a7d",
              "dataFieldType": "CUSTOM",
              "dataItemType": "CENTRE",
              "dataType": "STRING",
              "customFieldKey": "8a19b63f74b9d6b10174bb3f17d10992",
              "filterElement": "EQUALS",
              "value": "8a19b63f74b9d6b10174bb3f17d10996",
              "linkingOperator": "AND",
              "groupNumber": 0
            }
          }
        ],
        "viewRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb6646250a74",
          "isAccessibleByAllUsers": true,
          "roles": []
        },
        "editRights": {
          "encodedKey": "8a19b63f74b9d6b10174bb6646250a75",
          "isAccessibleByAllUsers": false,
          "roles": []
        },
        "unique": false
      },
      "value": "dep 2 a",
      "amount": "10",
      "indexInList": -1,
      "customFieldID": "cntr_cf_slct_2",
      "customFieldSetGroupIndex": 0
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKokCentreApiV1

Update Custom Info for Centre

PATCH /centres/{centreId}/custominformation

Update custom field values

Update custom field values

Example requests

Update a single custom field

{
  "customInformation": [
    {
      "customFieldID": "custom_field_2",
      "value": "3"
    }
  ]
}

Update a field in a group

{
  "customInformation": [
    {
      "customFieldID": "cf_grouped_field",
      "value": "new value",
      "customFieldSetGroupIndex": "0"
    }
  ]
}

update multiple custom fields

{
  "customInformation": [
    {
      "customFieldID": "cf_grouped_field_2",
      "value": "3",
      "customFieldSetGroupIndex": "0"
    },
    {
      "customFieldID": "field_3",
      "value": "divorced"
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
customInformation[object]nonebodyfalse
» customFieldIDstringnonebodytrue
» valuestringnonebodytrue
» customFieldSetGroupIndexstringRequired if field to update is part of a group, if the Field Set Group Index is not set, a new group will be created with the value provided.bodyfalse
centreIdstringThe ID of the centrepathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Custom Info for Centre

GET /centres/{centreId}/custominformation/{customFieldId}

Get a custom field for a centre

Allows retrieving a custom field value for a given centre directly by the ID/key of the centre and the ID/key of the custom field.

Parameters

NameTypeDescriptionInRequired
centreIdstringThe ID of the centre.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
A custom field

[
  {
    "encodedKey": "8a19cd6f74674df9017467f25aab02c6",
    "parentKey": "8a193c26722b51b701722d779e7122de",
    "customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
    "customField": {
      "encodedKey": "8a19cd6f74674df9017467ef8e6802af",
      "id": "cf_centre",
      "creationDate": "2020-09-07T09:42:33+0000",
      "lastModifiedDate": "2020-09-07T09:42:33+0000",
      "name": "Example Custom Field",
      "type": "BRANCH_INFO",
      "dataType": "CHECKBOX",
      "valueLength": "SHORT",
      "isDefault": false,
      "isRequired": false,
      "description": "an example custom field of the checkbox type",
      "customFieldSet": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
        "id": "_example_centre_custom_field_set",
        "name": "example centre custom field set",
        "notes": "example custom field set",
        "createdDate": "2020-09-07T09:41:50+0000",
        "lastModifiedDate": "2020-09-07T09:41:50+0000",
        "indexInList": 2,
        "type": "BRANCH_INFO",
        "usage": "SINGLE"
      },
      "indexInList": 0,
      "state": "NORMAL",
      "customFieldSelectionOptions": [],
      "viewRights": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "editRights": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "unique": false,
      "values": [],
      "amounts": {}
    },
    "value": "TRUE",
    "indexInList": -1,
    "customFieldID": "cf_centre",
    "customFieldSetGroupIndex": -1
  }
]

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKCustomFieldApiV1
404Not FoundNot FoundInline

Response Schema

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Update Custom Field for Centre

PATCH /centres/{centreId}/custominformation/{customFieldId}

Update a custom field for a centre

Update a custom field value for a centre custom field

Example Requests

Update the value of a custom field

{
  "value": "New custom field value"
}

Parameters

NameTypeDescriptionInRequired
valuestringnonebodyfalse
centreIdstringThe ID of the centre.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
field is part of a group

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Delete Custom Field for Centre

DELETE /centres/{centreId}/custominformation/{customFieldId}

Delete Custom Field

Delete a single custom field

Parameters

NameTypeDescriptionInRequired
centreIdstringThe ID of the centre.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
field is part of a group

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Update Custom Info (grouped) for Centre

PATCH /centres/{centreId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}

Update grouped custom field

Update custom field which is part of a group

Example Requests

Update custom field value

{
  "value": "New value for grouped custom field"
}

Parameters

NameTypeDescriptionInRequired
valuestringnonebodyfalse
centreIdstringThe ID of the centrepathtrue
customFieldIdstringThe ID of the custom fieldpathtrue
customFieldGroupSetIndexstringnonepathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
wrong group index provided

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
field not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Delete Custom Info (grouped) for Centre

DELETE /centres/{centreId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}

Delete grouped custom field

Delete a custom field which is part of a group

Parameters

NameTypeDescriptionInRequired
centreIdstringThe ID of the centrepathtrue
customFieldIdstringThe ID of the custom fieldpathtrue
customFieldGroupSetIndexstringnonepathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Comments for Centre

GET /centres/{centreId}/comments

Get all centre comments

get all comments for a centre

Parameters

NameTypeDescriptionInRequired
limitstringnonequeryfalse
offsetstringnonequeryfalse
centreIdstringthe ID of the centrepathtrue

Example Responses

200 : OK
an array of comments

[
  {
    "encodedKey": "8a19b7057471f4af017472dc0fd80470",
    "parentKey": "8a193c26722b51b701722d77c5e423b7",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "creationDate": "2020-09-09T14:24:42+0000",
    "lastModifiedDate": "2020-09-09T14:24:42+0000",
    "text": "aanother afmaefomaef<div><br /></div><div>aefaefaf</div><div><br /></div><div>afaef</div>"
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c8bf25ab",
    "parentKey": "8a193c26722b51b701722d77c5e423b7",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "text": "Should suggest she apply for the agriculture loan given the nature of their business"
  }
]

400 : Bad Request
bad centre ID

{
  "returnCode": 149,
  "returnStatus": "INVALID_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestExecutionStatusApiV1

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[CommentApiV1]nonefalsenone
» creationDatestring(date-time)the date and time at which this comment was addedfalsenone
» encodedKeystringa unique key for this commentfalsenone
» lastModifiedDatestring(date-time)the date and time at which this comment was last modifiedfalsenone
» parentKeystringthe unique key of the parent object for this comment, for example, the client or loan account to which it relatesfalsenone
» textstringthe text of the comment as a string, must be properly JSON escpaped if it contains special charactersfalsenone
» userKeystringthe unique key of the user who created the commentfalsenone

Create Comment for Centre

POST /centres/{centreId}/comments

Create a centre Comment

create new comment for a centre

Example Requests

a comment

{
  "comment": {
    "text": "this is a comment with \" \" all kinds of : \\ / \"non compliant\" stuff & = which has been JSON escaped"
  }
}

Parameters

NameTypeDescriptionInRequired
commentobjectan object contining the commentbodyfalse
» textstringtext of the comment to be added. if adding complex content make sure it is properly JSON encoded before making your requestbodyfalse
centreIdstringthe ID of the centrepathtrue

Example Responses

200 : OK
a comment

{
  "encodedKey": "8a19c34574720f9e0174734a039f06e2",
  "parentKey": "8a193c26722b51b701722d77c5e423b7",
  "userKey": "8a194075720ece2c017226fced6f005e",
  "creationDate": "2020-09-09T14:39:36+0000",
  "lastModifiedDate": "2020-09-09T14:39:36+0000",
  "text": "this is a comment with \" \" all kinds of : \\ / non compliant stuff & = which has been JSON escaped"
}

400 : Bad Request
extra parameters in the request

{
  "returnCode": 27,
  "returnStatus": "PARAMETER_NOT_ALLOWED"
}

Responses

StatusMeaningDescriptionSchema
200OKOKCommentApiV1
400Bad RequestBad RequestInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Documents for Centre

GET /centres/{centreId}/documents

Get documents for centre

Get all documents for a given centre

Parameters

NameTypeDescriptionInRequired
offsetintegeroffset results. use with limit parameter to achieve pagingqueryfalse
limitintegermax number of records to returnqueryfalse
centreIdstringThe Id of the centrepathtrue

Example Responses

200 : ok
an array of documents

[
  {
    "encodedKey": "8a19c035747bf5b901747c5bfb04014b",
    "id": 51,
    "creationDate": "2020-09-11T08:52:48+0000",
    "lastModifiedDate": "2020-09-11T08:52:48+0000",
    "documentHolderKey": "8a193c26722b51b701722d779e7122df",
    "documentHolderType": "CENTRE",
    "name": "covid rules",
    "type": "png",
    "fileSize": 8258,
    "originalFilename": "Screenshot_2020-04-22_at_14.31.29.png",
    "location": "BRSIDSLFBOGAYZKUUKCOGGQEDOSEOD",
    "description": "some guidelines regarding covid",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "big chief"
  },
  {
    "encodedKey": "8a19a3337476f2d00174775b6a3001ae",
    "id": 43,
    "creationDate": "2020-09-10T09:31:54+0000",
    "lastModifiedDate": "2020-09-10T09:31:54+0000",
    "documentHolderKey": "8a193c26722b51b701722d779e7122df",
    "documentHolderType": "CENTRE",
    "name": "centre doc",
    "type": "png",
    "fileSize": 32109,
    "originalFilename": "clients_duplicate_id.png",
    "location": "JRTBQGGVXFQRQRBDGBRWQCTXJNRWXP",
    "description": "centre doc desc",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "big chief"
  }
]

400 : Bad Request
bad centre ID

{
  "returnCode": 4,
  "returnStatus": "INVALID_PARAMETERS",
  "errorSource": "wrong owner id"
}

Responses

StatusMeaningDescriptionSchema
200OKokInline
400Bad RequestBad RequestExecutionStatusApiV1

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[DocumentApiV1]nonefalsenone
» createdByUserKeystringnonefalsenone
» creationDatestringnonefalsenone
» descriptionstringnonefalsenone
» documentHolderKeystringnonefalsenone
» documentHolderTypestringnonefalsenone
» encodedKeystringnonefalsenone
» fileSizenumbernonefalsenone
» idnumbernonefalsenone
» lastModifiedDatestringnonefalsenone
» locationstringnonefalsenone
» namestringnonefalsenone
» originalFilenamestringnonefalsenone
» typestringnonefalsenone
» userNamestringnonefalsenone

Enumerated Values

PropertyValue
documentHolderTypeBRANCH
documentHolderTypeLOAN_ACCOUNT
documentHolderTypeGROUP
documentHolderTypeDEPOSIT_ACCOUNT
documentHolderTypeLINE_OF_CREDIT
documentHolderTypeLOAN_PRODUCT
documentHolderTypeGL_JOURNAL_ENTRY
documentHolderTypeSAVINGS_PRODUCT
documentHolderTypeUSER
documentHolderTypeCLIENT
documentHolderTypeCENTRE
documentHolderTypeID_DOCUMENT

Create Document for Centre

POST /centres/{centreId}/documents

Attach new Document to a centre

Attach a new document to a centre

Example Requests

a document to uplaod

{
  "document": {
    "documentHolderKey": "8a193c26722b51b701722d779e7122df",
    "documentHolderType": "CENTRE",
    "name": "some image",
    "type": "png",
    "description": "this is an image file"
  },
  "documentContent": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAF0CAYAAACudHRvAAABQGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASS=="
}

Parameters

NameTypeDescriptionInRequired
bodyCreateDocumentApiV1a new document to be attached to an entitybodyfalse
centreIdstringThe Id of the centrepathtrue

Example Responses

201 : Created
uploaded document details

{
  "encodedKey": "8a19c035747bf5b901747c5bfb04014d",
  "id": 52,
  "creationDate": "2020-09-11T08:54:53+0000",
  "lastModifiedDate": "2020-09-11T08:54:53+0000",
  "documentHolderKey": "8a193c26722b51b701722d779e7122df",
  "documentHolderType": "CENTRE",
  "name": "some image",
  "type": "png",
  "fileSize": 32109,
  "originalFilename": "some_image.png",
  "location": "RCPOUIUHJFBYDRURQNNHMOGBEFIOQF",
  "description": "this is an image file",
  "createdByUserKey": "8a194075720ece2c017226fced6f005e"
}

400 : Bad Request
filetype provided does not match actual file type

{
  "returnCode": 973,
  "returnStatus": "INCONSISTENT_EXTENSION_WITH_FILE_CONTENT",
  "errorSource": "Invalid extension with file content"
}

Responses

StatusMeaningDescriptionSchema
201CreatedCreatedDocumentApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Get Document for Centre by ID

GET /centres/{centreId}/documents/{documentId}

Get a centre Document

Get a specific document attached to a centre

Parameters

NameTypeDescriptionInRequired
centreIdstringthe ID of the centrepathtrue
documentIdstringthe ID of the documentpathtrue

Example Responses

200 : OK
base64 encoded document

"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA9CAYAAAAd1W/BAAAMY2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdck0cbv3dkkrACEZAR9hJFZgAZIawIAjIFUQlJIGHEmBBE3NRSBesWUZxoVUTRagWkDkSssyhu6yiKqFRqsYoLle8yoNZ+4/c9v9+993+fe+7/jNzlvQNAr5Mvk+Wj+gAUSAvlCZGhrElp6SzSI4ABU0ADtsCTL1DIOPHxMQDKUP93eX0DIKr+qpuK65/j/1UMhSKFAAAkA=="

400 : Bad Request
bad Document ID

{
  "returnCode": 970,
  "returnStatus": "INVALID_DOCUMENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKstring
400Bad RequestBad RequestExecutionStatusApiV1

Delete Document for Centre

DELETE /centres/{centreId}/documents/{documentId}

Delete a centre Document

Delete a document attached to a centre

Parameters

NameTypeDescriptionInRequired
centreIdstringthe ID of the centrepathtrue
documentIdstringthe ID of the documentpathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
bad Document ID

{
  "returnCode": 970,
  "returnStatus": "INVALID_DOCUMENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKExecutionStatusApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Client Types

Retrieves all the client types in the organization.

Get Client Types

GET /clienttypes

List client types

Get a list of client types in JSON format.

Parameters

NameTypeDescriptionInRequired
forstringFilters client types.queryfalse

Enumerated Values

ParameterValue
forCLIENTS
forGROUPS

Example Responses

200 : ok
a list of client types

[
  {
    "encodedKey": "8a3e435149cd61eb0149cd74b1cb003b",
    "name": "Client",
    "id": "client",
    "clientType": "CLIENT",
    "creationDate": "2014-11-20T13:46:57+0000",
    "canOpenAccounts": true,
    "canGuarantee": true,
    "requireID": false,
    "index": -1
  },
  {
    "encodedKey": "8a0ca02a4ba46b0d014ba74fc5a30c00",
    "name": "Power of Attorney holders",
    "id": "Power",
    "clientType": "CLIENT",
    "creationDate": "2015-02-20T14:06:38+0000",
    "createdByUserKey": "8a8603b4497abb2101497b6c59cc0b33",
    "canOpenAccounts": false,
    "canGuarantee": false,
    "requireID": false,
    "index": 2147483647
  },
  {
    "encodedKey": "8a3edf494b25cedc014b2661f6d300b9",
    "name": "Guarantor",
    "id": "Guarantor",
    "clientType": "CLIENT",
    "creationDate": "2015-01-26T13:15:29+0000",
    "createdByUserKey": "8a8603b4497abb2101497b6c59cc0b33",
    "canOpenAccounts": false,
    "canGuarantee": true,
    "requireID": true,
    "index": 2147483647
  },
  {
    "encodedKey": "8a3e435149cd61eb0149cd74b9560044",
    "name": "Group",
    "id": "group",
    "clientType": "GROUP",
    "creationDate": "2014-11-20T13:46:59+0000",
    "canOpenAccounts": true,
    "canGuarantee": false,
    "requireID": false,
    "index": -1
  }
]

400 : Bad Request
bad filter value

{
  "returnCode": 4,
  "returnStatus": "INVALID_PARAMETERS",
  "errorSource": "invalid for parameter"
}

Responses

StatusMeaningDescriptionSchema
200OKokInline
400Bad RequestBad RequestInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[ClientRoleFullApiV1]nonefalsenone
» canGuaranteebooleanwhether this client type can guarantee loanstruenone
» canOpenAccountsbooleanwhether this client type can open accountstruenone
» clientTypestringwhich entity this type is valid for, either CLIENT or GROUPtruenone
» createdByUserKeystringif this client type was not one of the defaults provided by Mambu the encoded key of the user who created it will be displayed herefalsenone
» creationDatestring(date-time)timestamp of when this group was createdtruenone
» descriptionstringdescription of this client type as provided through the Mambu UIfalsenone
» encodedKeystringa unique ID for this client typetruenone
» idstringthe machine-readable ID for this client typetruenone
» idPatternstringthe pattern used to generate IDs for clients of this type, @ represents a random letter, # indicates a random number, $ represents a random letter or numberfalsenone
» indexnumbernonetruenone
» namestringthe human-readable name of this client typetruenone
» requireIDbooleanwhether ID is required for this client typetruenone
» useDefaultAddressbooleanwhether an address can be associated with clients of this typetruenone

Enumerated Values

PropertyValue
clientTypeGROUP
clientTypeCLIENT

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Clients

Allows you to view, create and update clients. Clients may have associated information such as their address, custom fields or identification documents. It's also possible to search for clients using information such as as their names or identification documents.

Get all Clients

GET /clients

List clients

Allows retrieving clients. When retrieving a client, all their associated information such as custom fields, addresses and identification documents may also be returned if requested. An empty list is returned if no clients are found.

Any combinations can be used but note that an AND search will be performed.

Please Note! Lookups by names are case sensitive. If an insensitive lookup is required please use the Objects Search API.

Parameters

NameTypeDescriptionInRequired
centreIdstringLooking up clients assigned to a centre using centre id/keyqueryfalse
branchIdstringLooking up clients assigned to a branch using branch id/keyqueryfalse
lastNamestringUsed for looking up a client by their last namequeryfalse
firstNamestringUsed for looking up a client by their first namequeryfalse
birthdatestring(date)Looking up a client by their birthdate (format: YYYY-MM-DD)queryfalse
idDocumentstringLooking up a client by their id document numberqueryfalse
statestringLooking up a client by their current statequeryfalse
creditOfficerUsernamestringLooking up a client by the assigned credit officer username (required if the user making the call has the "Credit Officer" role and the option "Can access other credit officers clients" is not activated)queryfalse

Example Responses

200 : ok
a list of clients

[
  {
    "encodedKey": "8a193c26722b51b701722d77c69e2406",
    "state": "INACTIVE",
    "id": "80",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Hyiab",
    "lastName": "Longoria",
    "homePhone": "3788731",
    "birthDate": "1972-10-07T15:05:24+0000",
    "gender": "MALE",
    "notes": "The neighbors mentioned that he is an <b>honest and hard working man.</b>",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69e2405",
    "state": "INACTIVE",
    "id": "79",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Buthayna",
    "lastName": "Simon",
    "homePhone": "2379200",
    "birthDate": "1990-08-17T15:05:24+0000",
    "gender": "FEMALE",
    "notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69e2404",
    "state": "INACTIVE",
    "id": "78",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Uros",
    "lastName": "Kamińska",
    "homePhone": "(73) 161-529",
    "birthDate": "1989-04-03T15:05:24+0000",
    "gender": "FEMALE",
    "notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69b2403",
    "state": "INACTIVE",
    "id": "77",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "اسفندیار",
    "lastName": "Czarnecki",
    "homePhone": "051-043-414",
    "birthDate": "1984-10-27T15:05:24+0000",
    "gender": "FEMALE",
    "notes": "Her business is the only source of income of the household of 4.",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69b2402",
    "state": "INACTIVE",
    "id": "76",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Gilda",
    "lastName": "Nwankwo",
    "homePhone": "(94) 524-867",
    "birthDate": "1974-04-26T15:05:24+0000",
    "gender": "MALE",
    "notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69b2401",
    "state": "INACTIVE",
    "id": "75",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Marcelina",
    "lastName": "Sawicka",
    "homePhone": "041-831-623",
    "birthDate": "1970-02-02T15:05:24+0000",
    "gender": "FEMALE",
    "notes": "Her business is the only source of income of the household of 4.",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69b2400",
    "state": "INACTIVE",
    "id": "74",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Šimica",
    "lastName": "Tomaszewska",
    "homePhone": "2102191",
    "birthDate": "1963-05-21T15:05:24+0000",
    "gender": "FEMALE",
    "notes": "The neighbors mentioned that he is an <b>honest and hard working man.</b>",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69b23ff",
    "state": "INACTIVE",
    "id": "73",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Carina",
    "lastName": "Jaworski",
    "homePhone": "(20) 318-317",
    "birthDate": "1976-04-20T15:05:24+0000",
    "gender": "MALE",
    "notes": "Her business is the only source of income of the household of 4.",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69723fe",
    "state": "INACTIVE",
    "id": "72",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Sobiesław",
    "lastName": "Medhane",
    "homePhone": "2352426",
    "birthDate": "1961-01-26T15:05:24+0000",
    "gender": "FEMALE",
    "notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69723fd",
    "state": "INACTIVE",
    "id": "71",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Mara",
    "lastName": "Duvnjak",
    "homePhone": "051-625-096",
    "birthDate": "1974-01-01T15:05:24+0000",
    "gender": "FEMALE",
    "notes": "Generally a very honest, open individual who exudes warmth and trust.",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69723fc",
    "state": "INACTIVE",
    "id": "70",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Mãnh",
    "lastName": "Baba",
    "homePhone": "5438282",
    "birthDate": "1976-08-18T15:05:24+0000",
    "gender": "FEMALE",
    "notes": "The neighbors mentioned that he is an <b>honest and hard working man.</b>",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c69723fb",
    "state": "INACTIVE",
    "id": "69",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "firstName": "Asztrik",
    "lastName": "Kasza",
    "homePhone": "2179544",
    "birthDate": "1965-06-10T15:05:24+0000",
    "gender": "MALE",
    "notes": "Lives with three daughters and old father. The daughters are learning how to paint so that they can sell the paintings and start helping their mother repaying the loan. ",
    "loanCycle": 0,
    "groupLoanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf55e0068"
    }
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[ClientApiV1]nonefalsenone
» activationDatestringnonefalsenone
» approvedDatestringnonefalsenone
» assignedBranchKeystringnonefalsenone
» assignedCentreKeystringnonefalsenone
» assignedUserKeystringnonefalsenone
» birthDatestringnonefalsenone
» clientRoleClientRoleBasicApiV1nonefalsenone
»» encodedKeystringnonefalsenone
» closedDatestringnonefalsenone
» creationDatestringnonefalsenone
» emailAddressstringnonefalsenone
» encodedKeystringnonefalsenone
» firstNamestringnonefalsenone
» genderstringnonefalsenone
» groupLoanCyclenumbernonefalsenone
» homePhonestringnonefalsenone
» idstringnonefalsenone
» idPatternstringnonefalsenone
» lastModifiedDatestringnonefalsenone
» lastNamestringnonefalsenone
» loanCyclenumbernonefalsenone
» middleNamestringnonefalsenone
» migrationEventDataMigrationEventApiV1nonefalsenone
»» creationDatestringnonefalsenone
»» encodedKeystringnonefalsenone
»» numCentresImportednumbernonefalsenone
»» numClientsImportednumbernonefalsenone
»» numGLAccountsImportednumbernonefalsenone
»» numGroupsImportednumbernonefalsenone
»» numLoanRepaymentsImportednumbernonefalsenone
»» numLoanTransactionsImportednumbernonefalsenone
»» numLoansImportednumbernonefalsenone
»» numSavingsImportednumbernonefalsenone
»» statestringnonefalsenone
»» typestringnonefalsenone
» mobilePhone1stringnonefalsenone
» mobilePhone2stringnonefalsenone
» notesstringnonefalsenone
» portalPreferencesPortalPreferencesApiV1nonefalsenone
»» encodedKeystringnonefalsenone
»» lastLoggedInDatestringnonefalsenone
»» passwordstringnonefalsenone
»» portalStatestringnonefalsenone
» preferredLanguagestringnonefalsenone
» profilePictureKeystringnonefalsenone
» profileSignatureKeystringnonefalsenone
» statestringnonefalsenone

Enumerated Values

PropertyValue
genderMALE
genderFEMALE
stateREVERTED
stateDRAFT
stateAPPROVED
typeIMPORT
typeEXPORT
portalStateDISABLED
portalStateENABLED
preferredLanguagePORTUGESE
preferredLanguageRUSSIAN
preferredLanguageROMANIAN
preferredLanguageENGLISH
preferredLanguageSPANISH
preferredLanguageGEORGIAN
preferredLanguageBURMESE
preferredLanguagePHRASE
preferredLanguageCHINESE
preferredLanguageFRENCH
preferredLanguageINDONESIAN
statePENDING_APPROVAL
stateACTIVE
stateINACTIVE
stateEXITED
stateBLACKLISTED
stateREJECTED

Create or Update Client

POST /clients

Create or update a client

Mambu allows for creation and updating of client information. This includes client's personal and contact information, custom fields, identification documents and the address. The client is returned as a response.

You can provide some basic information as a request with query parameters and no body, however, if you need to create a client with more complex information, such as custom fields, we recommend posting with a JSON body.

{
    client: {
    encodedKey:"someKey"
    }
}

If the encoded key/identifier is invalid, an exception code will be returned

In order to remove all custom fields, identification documents or addresses, you can send an empty array:

{
"client": {
    "encodedKey":"abc",
    //other client information
},
"idDocuments":[],
"addresses":[],
"customInformation":[]
}

Example Requests

Create a client with minimal data using query parameters

POST /api/clients?firstName=Trevor&lastName=Linden&emailAddress=trevor.linden%40mambu.com

Create a client with minimal data using JSON

{
   "client":{
      "firstName":"Trevor",
      "lastName":"Linden",
      "middleName":"Good",
      "homePhone":"7899221665",
      "emailAddress":"trevor.linden@mambu.com",
      "mobilePhone1":"211111111",
      "mobilePhone2":"122222222",
      "gender":"MALE",
      "clientRole": {"encodedKey":"d9df8bc78a0234ccc934a845c"}
   }
}

Create a new client with id documents, an address and custom fields

{
  "client": {
    "firstName": "Max",
    "lastName": "Alexander",
    "middleName": "Frank",
    "homePhone": "56611235498",
    "emailAddress": "max.alexander@mambu.com",
    "mobilePhone1": "211111111",
    "gender": "MALE"
  },
  "idDocuments": [
    {
      "documentType": "CI",
      "documentId": "23453",
      "issuingAuthority": "Police",
      "validUntil": "2014-09-30T00:00:00+0000",
      "identificationDocumentTemplateKey": "9b0a97094b4cd73f014b5f5ef0e811d2"
    },
    {
      "documentType": "Passport",
      "documentId": "sss332",
      "issuingAuthority": "Passport Agency",
      "validUntil": "2014-09-30T00:00:00+0000",
      "identificationDocumentTemplateKey": "2a0a00a24b4ce72a025c4afefce821e9"
    }
  ],
  "addresses": [
    {
      "line1": "8 Howling Lane",
      "line2": "Hackney",
      "city": "London",
      "region": "London",
      "postcode": "EC1 FB12",
      "country": "United Kingdom"
    }
  ],
  "customInformation": [
    {
      "value": "1",
      "customFieldID": "Family_Members"
    },
    {
      "value": "TRUE",
      "customFieldID": "Has_children"
    },
    {
      "value": "Some Studies",
      "customFieldID": "Studies"
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
firstNamestringClient's first name.querytrue
lastNamestringClient's last name.querytrue
birthDatestringnonequeryfalse
genderstringnonequeryfalse
homephonestringnonequeryfalse
mobilephonestringnonequeryfalse
emailstringnonequeryfalse
notesstringAny additional rich text html notes about the clients *queryfalse
clientRolestringnonequeryfalse
assignedUserKeystringnonequeryfalse
bodyCreateOrUpdateClientRequestnonebodyfalse

Detailed descriptions

notes: Any additional rich text html notes about the clients *

Example Responses

200 Response

{
  "addresses": [
    {
      "addressType": "string",
      "city": "string",
      "country": "string",
      "encodedKey": "string",
      "indexInList": 0,
      "latitude": 0,
      "line1": "string",
      "line2": "string",
      "longitude": 0,
      "parentKey": "string",
      "postcode": "string",
      "region": "string",
      "toBeDeleted": true
    }
  ],
  "client": {
    "activationDate": "string",
    "approvedDate": "string",
    "assignedBranchKey": "string",
    "assignedCentreKey": "string",
    "assignedUserKey": "string",
    "birthDate": "string",
    "clientRole": {
      "encodedKey": "string"
    },
    "closedDate": "string",
    "creationDate": "string",
    "emailAddress": "string",
    "encodedKey": "string",
    "firstName": "string",
    "gender": "MALE",
    "groupLoanCycle": 0,
    "homePhone": "string",
    "id": "string",
    "idPattern": "string",
    "lastModifiedDate": "string",
    "lastName": "string",
    "loanCycle": 0,
    "middleName": "string",
    "migrationEvent": {
      "creationDate": "string",
      "encodedKey": "string",
      "numCentresImported": 0,
      "numClientsImported": 0,
      "numGLAccountsImported": 0,
      "numGroupsImported": 0,
      "numLoanRepaymentsImported": 0,
      "numLoanTransactionsImported": 0,
      "numLoansImported": 0,
      "numSavingsImported": 0,
      "state": "REVERTED",
      "type": "IMPORT"
    },
    "mobilePhone1": "string",
    "mobilePhone2": "string",
    "notes": "string",
    "portalPreferences": {
      "encodedKey": "string",
      "lastLoggedInDate": "string",
      "password": "string",
      "portalState": "DISABLED"
    },
    "preferredLanguage": "PORTUGESE",
    "profilePictureKey": "string",
    "profileSignatureKey": "string",
    "state": "PENDING_APPROVAL"
  },
  "customInformation": [
    {
      "amount": 0,
      "customField": {
        "amounts": {
          "property1": 0,
          "property2": 0
        },
        "builtInCustomFieldId": "MOBILE_PHONE",
        "creationDate": "string",
        "customFieldProductSettings": [
          {
            "customFieldEncodedKey": "string",
            "encodedKey": "string",
            "isDefault": true,
            "isRequired": true,
            "linkType": "CLIENT_ROLE",
            "productKey": "string"
          }
        ],
        "customFieldSelectionOptions": [
          {
            "constraint": {
              "customFieldKey": "string",
              "dataFieldType": "NATIVE",
              "dataFieldValue": "string",
              "dataItemType": "WRITTEN_OFF_LOANS",
              "dataType": "ENUM",
              "encodedKey": "string",
              "filterElement": "STARTS_WITH_CASE_SENSITIVE",
              "groupNumber": 0,
              "index": 0,
              "linkingOperator": "OR",
              "secondValue": "string",
              "value": "string"
            },
            "encodedKey": "string",
            "id": "string",
            "score": 0,
            "value": "string"
          }
        ],
        "customFieldSet": {
          "builtInType": "DETAILS",
          "createdDate": "string",
          "customFields": [
            {}
          ],
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "lastModifiedDate": "string",
          "name": "string",
          "notes": "string",
          "type": "USER_INFO",
          "usage": "SINGLE"
        },
        "dataType": "GROUP_LINK",
        "description": "string",
        "editRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        },
        "encodedKey": "string",
        "id": "string",
        "indexInList": 0,
        "isDefault": true,
        "isRequired": true,
        "lastModifiedDate": "string",
        "name": "string",
        "state": "DEACTIVATED",
        "type": "USER_INFO",
        "unique": true,
        "validationPattern": "string",
        "valueLength": "SHORT",
        "values": [
          "string"
        ],
        "viewRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        }
      },
      "customFieldID": "string",
      "customFieldKey": "string",
      "customFieldSetGroupIndex": 0,
      "encodedKey": "string",
      "indexInList": 0,
      "linkedEntityKeyValue": "string",
      "parentKey": "string",
      "selectionKey": "string",
      "value": "string"
    }
  ],
  "groupKeys": [
    "string"
  ],
  "idDocuments": [
    {
      "clientKey": "string",
      "documentId": "string",
      "documentType": "string",
      "encodedKey": "string",
      "identificationDocumentTemplateKey": "string",
      "indexInList": 0,
      "issuingAuthority": "string",
      "toBeDeleted": true,
      "validUntil": "string",
      "validUntilDTOdate": {
        "dayOfMonth": 0,
        "monthOfYear": 0,
        "year": 0
      }
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKokCreateOrUpdateClientResponse

Get Lines of Credit for Client

GET /clients/{clientId}/linesofcredit

Get lines of credit for a Client

Retrieve the associated lines of credit for a client.

Parameters

NameTypeDescriptionInRequired
clientIdstringnonepathtrue
fullDetailsbooleanGet full object including all nested fieldsqueryfalse

Example Responses

200 : ok
Lines of Credit with basic details

[
  {
    "encodedKey": "8a19b6e4746cc6ed01746cf1436c00c3",
    "id": "JRW117",
    "clientKey": "8a193c26722b51b701722d77c5e423b7",
    "startDate": "2020-09-01T00:00:00+0000",
    "expireDate": "2020-12-31T00:00:00+0000",
    "creationDate": "2020-09-08T08:59:45+0000",
    "approvedDate": "2020-09-08T10:59:45+0000",
    "lastModifiedDate": "2020-09-08T08:59:45+0000",
    "state": "APPROVED",
    "amount": "100",
    "exposureLimitType": "APPROVED_AMOUNT",
    "notes": "adf",
    "availableCreditAmount": "100"
  },
  {
    "encodedKey": "8a19c162746ce3b201746cf0ce24007a",
    "id": "FEP015",
    "clientKey": "8a193c26722b51b701722d77c5e423b7",
    "startDate": "2020-09-01T00:00:00+0000",
    "expireDate": "2020-12-31T00:00:00+0000",
    "creationDate": "2020-09-08T09:00:48+0000",
    "approvedDate": "2020-09-08T11:00:48+0000",
    "lastModifiedDate": "2020-09-08T09:00:48+0000",
    "state": "APPROVED",
    "amount": "10000",
    "exposureLimitType": "OUTSTANDING_AMOUNT",
    "notes": "some fascinating line of credit notes",
    "availableCreditAmount": "10000"
  },
  {
    "encodedKey": "8a19c162746ce3b201746cf0ce24007c",
    "id": "FEP007",
    "clientKey": "8a193c26722b51b701722d77c5e423b7",
    "startDate": "2020-09-01T00:00:00+0000",
    "expireDate": "2021-12-31T00:00:00+0000",
    "creationDate": "2020-09-08T09:01:46+0000",
    "approvedDate": "2020-09-08T11:01:46+0000",
    "lastModifiedDate": "2020-09-08T09:19:41+0000",
    "state": "APPROVED",
    "amount": "10000",
    "exposureLimitType": "OUTSTANDING_AMOUNT",
    "notes": "some fascinating line of credit notes",
    "availableCreditAmount": "10000"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokLineOfCreditFullApiV1

Search for Clients

POST /clients/search

Search for Clients

search for clients based on some criteria

Example Requests

Get all clients identifying as male and sort by birthdate

{
   "filterConstraints":[
      {
         "filterSelection":"GENDER",
         "filterElement":"EQUALS",
         "value":"MALE"
      }
   ],
   "sortDetails": {
    "sortingColumn": "BIRTHDATE",
    "sortingOrder": "DESC"
  }
}

Get all clients added this month

{
   "filterConstraints":[
      {
         "filterSelection":"CREATION_DATE",
         "filterElement":"THIS_MONTH"
      }
   ]
}

Get all clients with a birth date between a given range

{
  "filterConstraints": [
    {
      "filterSelection": "BIRTHDATE",
      "filterElement": "BETWEEN",
      "value": "1957-01-01",
      "secondValue": "1965-06-20"
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
offsetintegernonequeryfalse
limitintegernonequeryfalse
fullDetailsbooleannonequeryfalse
bodyFilterApiV1nonebodyfalse

Example Responses

200 Response

[
  {
    "activationDate": "string",
    "approvedDate": "string",
    "assignedBranchKey": "string",
    "assignedCentreKey": "string",
    "assignedUserKey": "string",
    "birthDate": "string",
    "clientRole": {
      "encodedKey": "string"
    },
    "closedDate": "string",
    "creationDate": "string",
    "emailAddress": "string",
    "encodedKey": "string",
    "firstName": "string",
    "gender": "MALE",
    "groupLoanCycle": 0,
    "homePhone": "string",
    "id": "string",
    "idPattern": "string",
    "lastModifiedDate": "string",
    "lastName": "string",
    "loanCycle": 0,
    "middleName": "string",
    "migrationEvent": {
      "creationDate": "string",
      "encodedKey": "string",
      "numCentresImported": 0,
      "numClientsImported": 0,
      "numGLAccountsImported": 0,
      "numGroupsImported": 0,
      "numLoanRepaymentsImported": 0,
      "numLoanTransactionsImported": 0,
      "numLoansImported": 0,
      "numSavingsImported": 0,
      "state": "REVERTED",
      "type": "IMPORT"
    },
    "mobilePhone1": "string",
    "mobilePhone2": "string",
    "notes": "string",
    "portalPreferences": {
      "encodedKey": "string",
      "lastLoggedInDate": "string",
      "password": "string",
      "portalState": "DISABLED"
    },
    "preferredLanguage": "PORTUGESE",
    "profilePictureKey": "string",
    "profileSignatureKey": "string",
    "state": "PENDING_APPROVAL"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[ClientApiV1]nonefalsenone
» activationDatestringnonefalsenone
» approvedDatestringnonefalsenone
» assignedBranchKeystringnonefalsenone
» assignedCentreKeystringnonefalsenone
» assignedUserKeystringnonefalsenone
» birthDatestringnonefalsenone
» clientRoleClientRoleBasicApiV1nonefalsenone
»» encodedKeystringnonefalsenone
» closedDatestringnonefalsenone
» creationDatestringnonefalsenone
» emailAddressstringnonefalsenone
» encodedKeystringnonefalsenone
» firstNamestringnonefalsenone
» genderstringnonefalsenone
» groupLoanCyclenumbernonefalsenone
» homePhonestringnonefalsenone
» idstringnonefalsenone
» idPatternstringnonefalsenone
» lastModifiedDatestringnonefalsenone
» lastNamestringnonefalsenone
» loanCyclenumbernonefalsenone
» middleNamestringnonefalsenone
» migrationEventDataMigrationEventApiV1nonefalsenone
»» creationDatestringnonefalsenone
»» encodedKeystringnonefalsenone
»» numCentresImportednumbernonefalsenone
»» numClientsImportednumbernonefalsenone
»» numGLAccountsImportednumbernonefalsenone
»» numGroupsImportednumbernonefalsenone
»» numLoanRepaymentsImportednumbernonefalsenone
»» numLoanTransactionsImportednumbernonefalsenone
»» numLoansImportednumbernonefalsenone
»» numSavingsImportednumbernonefalsenone
»» statestringnonefalsenone
»» typestringnonefalsenone
» mobilePhone1stringnonefalsenone
» mobilePhone2stringnonefalsenone
» notesstringnonefalsenone
» portalPreferencesPortalPreferencesApiV1nonefalsenone
»» encodedKeystringnonefalsenone
»» lastLoggedInDatestringnonefalsenone
»» passwordstringnonefalsenone
»» portalStatestringnonefalsenone
» preferredLanguagestringnonefalsenone
» profilePictureKeystringnonefalsenone
» profileSignatureKeystringnonefalsenone
» statestringnonefalsenone

Enumerated Values

PropertyValue
genderMALE
genderFEMALE
stateREVERTED
stateDRAFT
stateAPPROVED
typeIMPORT
typeEXPORT
portalStateDISABLED
portalStateENABLED
preferredLanguagePORTUGESE
preferredLanguageRUSSIAN
preferredLanguageROMANIAN
preferredLanguageENGLISH
preferredLanguageSPANISH
preferredLanguageGEORGIAN
preferredLanguageBURMESE
preferredLanguagePHRASE
preferredLanguageCHINESE
preferredLanguageFRENCH
preferredLanguageINDONESIAN
statePENDING_APPROVAL
stateACTIVE
stateINACTIVE
stateEXITED
stateBLACKLISTED
stateREJECTED

Get Client by ID

GET /clients/{clientId}

Get Client by ID

get a client by ID or encoded key

Parameters

NameTypeDescriptionInRequired
fullDetailsbooleanWhether to also include custom fieldsqueryfalse
clientIdstringThe ID or encoded key of a clientpathtrue

Example Responses

200 Response

{
  "addresses": [
    {
      "addressType": "string",
      "city": "string",
      "country": "string",
      "encodedKey": "string",
      "indexInList": 0,
      "latitude": 0,
      "line1": "string",
      "line2": "string",
      "longitude": 0,
      "parentKey": "string",
      "postcode": "string",
      "region": "string",
      "toBeDeleted": true
    }
  ],
  "centreId": "string",
  "client": {
    "activationDate": "string",
    "approvedDate": "string",
    "assignedBranchKey": "string",
    "assignedCentreKey": "string",
    "assignedUserKey": "string",
    "birthDate": "string",
    "clientRole": {
      "encodedKey": "string"
    },
    "closedDate": "string",
    "creationDate": "string",
    "emailAddress": "string",
    "encodedKey": "string",
    "firstName": "string",
    "gender": "MALE",
    "groupLoanCycle": 0,
    "homePhone": "string",
    "id": "string",
    "idPattern": "string",
    "lastModifiedDate": "string",
    "lastName": "string",
    "loanCycle": 0,
    "middleName": "string",
    "migrationEvent": {
      "creationDate": "string",
      "encodedKey": "string",
      "numCentresImported": 0,
      "numClientsImported": 0,
      "numGLAccountsImported": 0,
      "numGroupsImported": 0,
      "numLoanRepaymentsImported": 0,
      "numLoanTransactionsImported": 0,
      "numLoansImported": 0,
      "numSavingsImported": 0,
      "state": "REVERTED",
      "type": "IMPORT"
    },
    "mobilePhone1": "string",
    "mobilePhone2": "string",
    "notes": "string",
    "portalPreferences": {
      "encodedKey": "string",
      "lastLoggedInDate": "string",
      "password": "string",
      "portalState": "DISABLED"
    },
    "preferredLanguage": "PORTUGESE",
    "profilePictureKey": "string",
    "profileSignatureKey": "string",
    "state": "PENDING_APPROVAL"
  },
  "clientTypeId": "string",
  "customInformation": [
    {
      "amount": 0,
      "customField": {
        "amounts": {
          "property1": 0,
          "property2": 0
        },
        "builtInCustomFieldId": "MOBILE_PHONE",
        "creationDate": "string",
        "customFieldProductSettings": [
          {
            "customFieldEncodedKey": "string",
            "encodedKey": "string",
            "isDefault": true,
            "isRequired": true,
            "linkType": "CLIENT_ROLE",
            "productKey": "string"
          }
        ],
        "customFieldSelectionOptions": [
          {
            "constraint": {
              "customFieldKey": "string",
              "dataFieldType": "NATIVE",
              "dataFieldValue": "string",
              "dataItemType": "WRITTEN_OFF_LOANS",
              "dataType": "ENUM",
              "encodedKey": "string",
              "filterElement": "STARTS_WITH_CASE_SENSITIVE",
              "groupNumber": 0,
              "index": 0,
              "linkingOperator": "OR",
              "secondValue": "string",
              "value": "string"
            },
            "encodedKey": "string",
            "id": "string",
            "score": 0,
            "value": "string"
          }
        ],
        "customFieldSet": {
          "builtInType": "DETAILS",
          "createdDate": "string",
          "customFields": [
            {}
          ],
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "lastModifiedDate": "string",
          "name": "string",
          "notes": "string",
          "type": "USER_INFO",
          "usage": "SINGLE"
        },
        "dataType": "GROUP_LINK",
        "description": "string",
        "editRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        },
        "encodedKey": "string",
        "id": "string",
        "indexInList": 0,
        "isDefault": true,
        "isRequired": true,
        "lastModifiedDate": "string",
        "name": "string",
        "state": "DEACTIVATED",
        "type": "USER_INFO",
        "unique": true,
        "validationPattern": "string",
        "valueLength": "SHORT",
        "values": [
          "string"
        ],
        "viewRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        }
      },
      "customFieldID": "string",
      "customFieldKey": "string",
      "customFieldSetGroupIndex": 0,
      "encodedKey": "string",
      "indexInList": 0,
      "linkedEntityKeyValue": "string",
      "parentKey": "string",
      "selectionKey": "string",
      "value": "string"
    }
  ],
  "groupKeys": [
    "string"
  ],
  "idDocuments": [
    {
      "clientKey": "string",
      "documentId": "string",
      "documentType": "string",
      "encodedKey": "string",
      "identificationDocumentTemplateKey": "string",
      "indexInList": 0,
      "issuingAuthority": "string",
      "toBeDeleted": true,
      "validUntil": "string",
      "validUntilDTOdate": {
        "dayOfMonth": 0,
        "monthOfYear": 0,
        "year": 0
      }
    }
  ],
  "notificationTemplates": [
    {
      "activated": true,
      "authorization": "NO_AUTHORIZATION",
      "contentType": "PLAIN_TEXT",
      "creationDate": "string",
      "customFilter": {
        "customConfigurationInfo": {
          "creationDate": "string",
          "dataViewType": "PORTAL_ACCOUNT_TRANSACTION",
          "encodedKey": "string",
          "indexInList": 0,
          "lastModifiedDate": "string",
          "name": "string",
          "shared": true,
          "userKey": "string"
        },
        "encodedKey": "string",
        "filterConstraints": [
          {
            "customFieldKey": "string",
            "dataFieldType": "NATIVE",
            "dataFieldValue": "string",
            "dataItemType": "WRITTEN_OFF_LOANS",
            "dataType": "ENUM",
            "encodedKey": "string",
            "filterElement": "STARTS_WITH_CASE_SENSITIVE",
            "groupNumber": 0,
            "index": 0,
            "linkingOperator": "OR",
            "secondValue": "string",
            "value": "string"
          }
        ]
      },
      "encodedKey": "string",
      "event": "LOAN_CREATED",
      "isInUse": true,
      "lastModifiedDate": "string",
      "name": "string",
      "option": "OPT_IN",
      "recipient": {
        "customField": {
          "amounts": {
            "property1": 0,
            "property2": 0
          },
          "builtInCustomFieldId": "MOBILE_PHONE",
          "creationDate": "string",
          "customFieldProductSettings": [
            {
              "customFieldEncodedKey": "string",
              "encodedKey": "string",
              "isDefault": true,
              "isRequired": true,
              "linkType": "CLIENT_ROLE",
              "productKey": "string"
            }
          ],
          "customFieldSelectionOptions": [
            {
              "constraint": {
                "customFieldKey": "string",
                "dataFieldType": "NATIVE",
                "dataFieldValue": "string",
                "dataItemType": "WRITTEN_OFF_LOANS",
                "dataType": "ENUM",
                "encodedKey": "string",
                "filterElement": "STARTS_WITH_CASE_SENSITIVE",
                "groupNumber": 0,
                "index": 0,
                "linkingOperator": "OR",
                "secondValue": "string",
                "value": "string"
              },
              "encodedKey": "string",
              "id": "string",
              "score": 0,
              "value": "string"
            }
          ],
          "customFieldSet": {
            "builtInType": "DETAILS",
            "createdDate": "string",
            "customFields": [
              {}
            ],
            "encodedKey": "string",
            "id": "string",
            "indexInList": 0,
            "lastModifiedDate": "string",
            "name": "string",
            "notes": "string",
            "type": "USER_INFO",
            "usage": "SINGLE"
          },
          "dataType": "GROUP_LINK",
          "description": "string",
          "editRights": {
            "encodedKey": "string",
            "isAccessibleByAllUsers": true,
            "roles": [
              "string"
            ]
          },
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "isDefault": true,
          "isRequired": true,
          "lastModifiedDate": "string",
          "name": "string",
          "state": "DEACTIVATED",
          "type": "USER_INFO",
          "unique": true,
          "validationPattern": "string",
          "valueLength": "SHORT",
          "values": [
            "string"
          ],
          "viewRights": {
            "encodedKey": "string",
            "isAccessibleByAllUsers": true,
            "roles": [
              "string"
            ]
          }
        },
        "encodedKey": "string",
        "groupRole": {
          "encodedKey": "string",
          "name": "string"
        },
        "recipientType": "CREDIT_OFFICER"
      },
      "requestType": "HEAD",
      "subject": "string",
      "targetType": "LOANS",
      "template": "string",
      "topic": "string",
      "trigger": "AUTOMATIC",
      "triggerDays": 0,
      "type": "EVENT_STREAM",
      "url": "string",
      "username": "string"
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKokClientExpandedApiV1

Patch Client Record

PATCH /clients/{clientId}

Patch Client

update an existing client

Example Requests

Change a client's state to blacklisted

{
  "client": {
    "state": "BLACKLISTED"
  }
}

update a client with additional profile and contact information

{
  "client": {
    "middleName": "Meri",
    "clientRoleId": "client",
    "homePhone": "(77) 159-443",
    "mobilePhone1": "604-271-7041",
    "birthDate": "1987-07-08",
    "gender": null,
    "emailAddress": "test@mambu.com",
    "preferredLanguage": "ENGLISH",
    "notes": "Powered by Mambu"
  }
}

Parameters

NameTypeDescriptionInRequired
bodyUpdateClientRequestnonebodyfalse
clientIdstringThe ID or encoded key of a clientpathtrue

Example Responses

200 Response

{
  "errorSource": "string",
  "returnCode": 0,
  "returnStatus": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKokExecutionStatusApiV1

Update Client

POST /clients/{clientId}

Update a Client

update a client record

Example Requests

Add details to an existing client

{
    "client":{
      "firstName":"Max",
      "lastName":"Alexander",
      "middleName":"Frank",
      "homePhone":"56611235498",
      "emailAddress":"max.alexander@mambu.com",
      "mobilePhone1":"211111111",
      "gender":"MALE"
   }
}

Update client with encodedKey 8a512236413395270141356dbc9f0025 using JSON and remove all custom fields, addresses and ID Documents

{
   "client":{
      "firstName":"Max",
      "lastName":"Alexander",
      "middleName":"Frank",
      "homePhone":"56611235498",
      "emailAddress":"max.alexander@mambu.com",
      "mobilePhone1":"211111111",
      "gender":"MALE"
   },
   "idDocuments":[ ],
   "addresses":[ ],
   "customInformation":[ ]
}

Update a client using JSON and update custom fields, addresses and ID Documents

{
  "client": {
    "firstName": "Max",
    "lastName": "Alexander",
    "middleName": "Frank",
    "homePhone": "56611235498",
    "emailAddress": "max.alexander@mambu.com",
    "mobilePhone1": "211111111",
    "gender": "MALE"
  },
  "idDocuments": [
    {
      "documentType": "CI",
      "documentId": "23453",
      "issuingAuthority": "Police",
      "validUntil": "2014-09-30T00:00:00+0000",
      "identificationDocumentTemplateKey": "9b0a97094b4cd73f014b5f5ef0e811d2"
    },
    {
      "documentType": "Passport",
      "documentId": "sss332",
      "issuingAuthority": "Passport Agency",
      "validUntil": "2014-09-30T00:00:00+0000",
      "identificationDocumentTemplateKey": "2a0a00a24b4ce72a025c4afefce821e9"
    }
  ],
  "addresses": [
    {
      "line1": "8 Howling Lane",
      "line2": "Hackney",
      "city": "London",
      "region": "London",
      "postcode": "1234554321",
      "country": "United Kingdom"
    }
  ],
  "customInformation": [
    {
      "value": "1",
      "customFieldID": "Family_Members"
    },
    {
      "value": "TRUE",
      "customFieldID": "Has_children"
    },
    {
      "value": "Some Studies",
      "customFieldID": "Studies"
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
bodyCreateOrUpdateClientRequestupdated client databodyfalse
clientIdstringThe ID or encoded key of a clientpathtrue

Example Responses

200 Response

{
  "addresses": [
    {
      "addressType": "string",
      "city": "string",
      "country": "string",
      "encodedKey": "string",
      "indexInList": 0,
      "latitude": 0,
      "line1": "string",
      "line2": "string",
      "longitude": 0,
      "parentKey": "string",
      "postcode": "string",
      "region": "string",
      "toBeDeleted": true
    }
  ],
  "client": {
    "activationDate": "string",
    "approvedDate": "string",
    "assignedBranchKey": "string",
    "assignedCentreKey": "string",
    "assignedUserKey": "string",
    "birthDate": "string",
    "clientRole": {
      "encodedKey": "string"
    },
    "closedDate": "string",
    "creationDate": "string",
    "emailAddress": "string",
    "encodedKey": "string",
    "firstName": "string",
    "gender": "MALE",
    "groupLoanCycle": 0,
    "homePhone": "string",
    "id": "string",
    "idPattern": "string",
    "lastModifiedDate": "string",
    "lastName": "string",
    "loanCycle": 0,
    "middleName": "string",
    "migrationEvent": {
      "creationDate": "string",
      "encodedKey": "string",
      "numCentresImported": 0,
      "numClientsImported": 0,
      "numGLAccountsImported": 0,
      "numGroupsImported": 0,
      "numLoanRepaymentsImported": 0,
      "numLoanTransactionsImported": 0,
      "numLoansImported": 0,
      "numSavingsImported": 0,
      "state": "REVERTED",
      "type": "IMPORT"
    },
    "mobilePhone1": "string",
    "mobilePhone2": "string",
    "notes": "string",
    "portalPreferences": {
      "encodedKey": "string",
      "lastLoggedInDate": "string",
      "password": "string",
      "portalState": "DISABLED"
    },
    "preferredLanguage": "PORTUGESE",
    "profilePictureKey": "string",
    "profileSignatureKey": "string",
    "state": "PENDING_APPROVAL"
  },
  "customInformation": [
    {
      "amount": 0,
      "customField": {
        "amounts": {
          "property1": 0,
          "property2": 0
        },
        "builtInCustomFieldId": "MOBILE_PHONE",
        "creationDate": "string",
        "customFieldProductSettings": [
          {
            "customFieldEncodedKey": "string",
            "encodedKey": "string",
            "isDefault": true,
            "isRequired": true,
            "linkType": "CLIENT_ROLE",
            "productKey": "string"
          }
        ],
        "customFieldSelectionOptions": [
          {
            "constraint": {
              "customFieldKey": "string",
              "dataFieldType": "NATIVE",
              "dataFieldValue": "string",
              "dataItemType": "WRITTEN_OFF_LOANS",
              "dataType": "ENUM",
              "encodedKey": "string",
              "filterElement": "STARTS_WITH_CASE_SENSITIVE",
              "groupNumber": 0,
              "index": 0,
              "linkingOperator": "OR",
              "secondValue": "string",
              "value": "string"
            },
            "encodedKey": "string",
            "id": "string",
            "score": 0,
            "value": "string"
          }
        ],
        "customFieldSet": {
          "builtInType": "DETAILS",
          "createdDate": "string",
          "customFields": [
            {}
          ],
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "lastModifiedDate": "string",
          "name": "string",
          "notes": "string",
          "type": "USER_INFO",
          "usage": "SINGLE"
        },
        "dataType": "GROUP_LINK",
        "description": "string",
        "editRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        },
        "encodedKey": "string",
        "id": "string",
        "indexInList": 0,
        "isDefault": true,
        "isRequired": true,
        "lastModifiedDate": "string",
        "name": "string",
        "state": "DEACTIVATED",
        "type": "USER_INFO",
        "unique": true,
        "validationPattern": "string",
        "valueLength": "SHORT",
        "values": [
          "string"
        ],
        "viewRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        }
      },
      "customFieldID": "string",
      "customFieldKey": "string",
      "customFieldSetGroupIndex": 0,
      "encodedKey": "string",
      "indexInList": 0,
      "linkedEntityKeyValue": "string",
      "parentKey": "string",
      "selectionKey": "string",
      "value": "string"
    }
  ],
  "groupKeys": [
    "string"
  ],
  "idDocuments": [
    {
      "clientKey": "string",
      "documentId": "string",
      "documentType": "string",
      "encodedKey": "string",
      "identificationDocumentTemplateKey": "string",
      "indexInList": 0,
      "issuingAuthority": "string",
      "toBeDeleted": true,
      "validUntil": "string",
      "validUntilDTOdate": {
        "dayOfMonth": 0,
        "monthOfYear": 0,
        "year": 0
      }
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKokCreateOrUpdateClientResponse

Anonymize Client Data

POST /clients/{clientId}/action

Anonymize client

In the context of the GDPR, we wanted to provide an option to easily anonymize a client's identifiable data upon request, as an exited client must now have the 'Right to be forgotten'. To learn more about the legal aspects of this, please see Art. 17 GDPR. For information on cloning your production tenant to sandbox with anonymized client data, please see Sandbox.

This gives clients in the exited state, the right to request that all identifiable records are removed (or, more precisely, anonymized up to the point where the client is no longer traceable, but the information that the company needs to keep its systems stable can be kept within some legal standards).

Please be aware This action may only be performed on clients in the exited state. Otherwise, Mambu will return error 3760 "CLIENT_DOES_NOT_HAVE_EXITED_STATE"

A user has the permission to run the above call only via API 1.0 only if he has the 'Anonymize Client Data' permission, which can be granted by an Administrator (in User Permissions > Clients), only to users that have API access.

Please note After the anonymization call is run, a new client ID will be generated and the old client ID will be overwritten. As a consequence, calling the API twice with the same client ID will result in the second call returning a Resource Not Found (INVALID_CLIENT_ID) error.

Affected areas

Initially the client is unsubscribed from notifications (client notification requests are deleted). Afterwards the following data is affected:

Client fields:

Client loan accounts:

Client loan accounts gurantees:

Client loan repayments:

Client deposit accounts:

Client savings accounts transactions:

Client lines of credit:

Client guarantees (guarantees in which the client is guarantor):

Notification messages associated with a client:

Client ID

A new client ID will be generated and the old client ID will be overwritten (as a consequence, calling the API twice with the same client ID will result in the second call returning Resource Not Found (INVALID_CLIENT_ID error).

Example Requests

ANONYMIZE client

{
  "action": "ANONYMIZE"
}

Parameters

NameTypeDescriptionInRequired
clientIdstringThe ID of the clientpathtrue
actionstringthe action to performbodytrue

Enumerated Values

ParameterValue
actionANONYMIZE

Example Responses

200 : ok
Sucess Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
client in wrong state

{
  "returnCode": 3760,
  "returnStatus": "CLIENT_DOES_NOT_HAVE_EXITED_STATE"
}

404 : Not Found
client not found

{
  "returnCode": 301,
  "returnStatus": "INVALID_CLIENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKokExecutionStatusApiV1
400Bad RequestBad RequestExecutionStatusApiV1
404Not FoundNot FoundExecutionStatusApiV1

Update Client Custom Field Values

PATCH /clients/{clientId}/custominformation

Update custom field values

Example Requests

Update a single custom field

{
  "customInformation": [
    {
      "customFieldID": "custom_field_2",
      "value": "3"
    }
  ]
}

Update a field in a group

{
  "customInformation": [
    {
      "customFieldID": "cf_grouped_field",
      "value": "new value",
      "customFieldSetGroupIndex": "0"
    }
  ]
}

update multiple custom fields

{
  "customInformation": [
    {
      "customFieldID": "cf_grouped_field_2",
      "value": "3",
      "customFieldSetGroupIndex": "0"
    },
    {
      "customFieldID": "field_3",
      "value": "divorced"
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
customInformation[object]nonebodyfalse
» customFieldIDstringnonebodytrue
» valuestringnonebodytrue
» customFieldSetGroupIndexstringRequired if field to update is part of a group, if the Field Set Group Index is not set, a new group will be created with the value provided.bodyfalse
clientIdstringThe ID of the clientpathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Client Custom Field Values

GET /clients/{clientId}/custominformation/{customFieldId}

Get a custom field for a client

Allows retrieving a custom field value for a given client directly by the ID/key of the client and the ID/key of the custom field.

Parameters

NameTypeDescriptionInRequired
clientIdstringThe ID of the client.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
A custom field

[
  {
    "encodedKey": "8a19cd6f74674df9017467f25aab02c6",
    "parentKey": "8a193c26722b51b701722d779e7122de",
    "customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
    "customField": {
      "encodedKey": "8a19cd6f74674df9017467ef8e6802af",
      "id": "cf_client",
      "creationDate": "2020-09-07T09:42:33+0000",
      "lastModifiedDate": "2020-09-07T09:42:33+0000",
      "name": "Example Custom Field",
      "type": "BRANCH_INFO",
      "dataType": "CHECKBOX",
      "valueLength": "SHORT",
      "isDefault": false,
      "isRequired": false,
      "description": "an example custom field of the checkbox type",
      "customFieldSet": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
        "id": "_example_client_custom_field_set",
        "name": "example client custom field set",
        "notes": "example custom field set",
        "createdDate": "2020-09-07T09:41:50+0000",
        "lastModifiedDate": "2020-09-07T09:41:50+0000",
        "indexInList": 2,
        "type": "BRANCH_INFO",
        "usage": "SINGLE"
      },
      "indexInList": 0,
      "state": "NORMAL",
      "customFieldSelectionOptions": [],
      "viewRights": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "editRights": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "unique": false,
      "values": [],
      "amounts": {}
    },
    "value": "TRUE",
    "indexInList": -1,
    "customFieldID": "cf_client",
    "customFieldSetGroupIndex": -1
  }
]

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKCustomFieldApiV1
404Not FoundNot FoundInline

Response Schema

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Update Client Custom Field

PATCH /clients/{clientId}/custominformation/{customFieldId}

Update a custom field for a client

Update a custom field value for a client custom field

Example requests

{
  "value": "string"
}

Parameters

NameTypeDescriptionInRequired
valuestringnonebodyfalse
clientIdstringThe ID of the client.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
Sucess response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
field is part of a group

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Delete Client Custom Field

DELETE /clients/{clientId}/custominformation/{customFieldId}

Delete Client Custom Field

Delete a single custom field

Parameters

NameTypeDescriptionInRequired
clientIdstringThe ID of the client.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
field is part of a group

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Update Grouped Client Custom Fields

PATCH /clients/{clientId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}

Update grouped custom field

Update custom field which is part of a group

Example requests

{
  "value": "string"
}

Parameters

NameTypeDescriptionInRequired
valuestringnonebodyfalse
clientIdstringThe ID of the clientpathtrue
customFieldIdstringThe ID of the custom fieldpathtrue
customFieldGroupSetIndexstringnonepathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
wrong group index provided

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
field not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Delete Grouped Client Custom Fields

DELETE /clients/{clientId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}

Delete grouped custom field

Delete a custom field which is part of a group

Parameters

NameTypeDescriptionInRequired
clientIdstringThe ID of the clientpathtrue
customFieldIdstringThe ID of the custom fieldpathtrue
customFieldGroupSetIndexstringnonepathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Client Comments

GET /clients/{clientId}/comments

Get all client comments

get all comments for a client

Parameters

NameTypeDescriptionInRequired
limitstringnonequeryfalse
offsetstringnonequeryfalse
clientIdstringthe ID of the clientpathtrue

Example Responses

200 : OK
an array of comments

[
  {
    "encodedKey": "8a19b7057471f4af017472dc0fd80470",
    "parentKey": "8a193c26722b51b701722d77c5e423b7",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "creationDate": "2020-09-09T14:24:42+0000",
    "lastModifiedDate": "2020-09-09T14:24:42+0000",
    "text": "aanother afmaefomaef<div><br /></div><div>aefaefaf</div><div><br /></div><div>afaef</div>"
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c8bf25ab",
    "parentKey": "8a193c26722b51b701722d77c5e423b7",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "text": "Should suggest she apply for the agriculture loan given the nature of their business"
  }
]

400 : Bad Request
bad client ID

{
  "returnCode": 149,
  "returnStatus": "INVALID_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestExecutionStatusApiV1

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[CommentApiV1]nonefalsenone
» creationDatestring(date-time)the date and time at which this comment was addedfalsenone
» encodedKeystringa unique key for this commentfalsenone
» lastModifiedDatestring(date-time)the date and time at which this comment was last modifiedfalsenone
» parentKeystringthe unique key of the parent object for this comment, for example, the client or loan account to which it relatesfalsenone
» textstringthe text of the comment as a string, must be properly JSON escpaped if it contains special charactersfalsenone
» userKeystringthe unique key of the user who created the commentfalsenone

Create Client Comment

POST /clients/{clientId}/comments

Create a Client Comment

create new comment for a client

Example requests

a comment

{
  "comment": {
    "text": "this is a comment with \" \" all kinds of : \\ / \"non compliant\" stuff & = which has been JSON escaped"
  }
}

Parameters

NameTypeDescriptionInRequired
commentobjectan object contining the commentbodyfalse
» textstringtext of the comment to be added. if adding complex content make sure it is properly JSON encoded before making your requestbodyfalse
clientIdstringthe ID of the clientpathtrue

Example Responses

200 : OK
a comment

{
  "encodedKey": "8a19c34574720f9e0174734a039f06e2",
  "parentKey": "8a193c26722b51b701722d77c5e423b7",
  "userKey": "8a194075720ece2c017226fced6f005e",
  "creationDate": "2020-09-09T14:39:36+0000",
  "lastModifiedDate": "2020-09-09T14:39:36+0000",
  "text": "this is a comment with \" \" all kinds of : \\ / non compliant stuff & = which has been JSON escaped"
}

400 : Bad Request
extra parameters in the request

{
  "returnCode": 27,
  "returnStatus": "PARAMETER_NOT_ALLOWED"
}

Responses

StatusMeaningDescriptionSchema
200OKOKCommentApiV1
400Bad RequestBad RequestInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Client Documents

GET /clients/{clientId}/documents

Get Client Documents

get documents for a given client

Parameters

NameTypeDescriptionInRequired
clientIdstringthe ID of the clientpathtrue
offsetintegernonequeryfalse
limitintegernonequeryfalse

Example Responses

200 Response

[
  {
    "createdByUserKey": "string",
    "creationDate": "string",
    "description": "string",
    "documentHolderKey": "string",
    "documentHolderType": "BRANCH",
    "encodedKey": "string",
    "fileSize": 0,
    "id": 0,
    "lastModifiedDate": "string",
    "location": "string",
    "name": "string",
    "originalFilename": "string",
    "type": "string",
    "userName": "string"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[DocumentApiV1]nonefalsenone
» createdByUserKeystringnonefalsenone
» creationDatestringnonefalsenone
» descriptionstringnonefalsenone
» documentHolderKeystringnonefalsenone
» documentHolderTypestringnonefalsenone
» encodedKeystringnonefalsenone
» fileSizenumbernonefalsenone
» idnumbernonefalsenone
» lastModifiedDatestringnonefalsenone
» locationstringnonefalsenone
» namestringnonefalsenone
» originalFilenamestringnonefalsenone
» typestringnonefalsenone
» userNamestringnonefalsenone

Enumerated Values

PropertyValue
documentHolderTypeBRANCH
documentHolderTypeLOAN_ACCOUNT
documentHolderTypeGROUP
documentHolderTypeDEPOSIT_ACCOUNT
documentHolderTypeLINE_OF_CREDIT
documentHolderTypeLOAN_PRODUCT
documentHolderTypeGL_JOURNAL_ENTRY
documentHolderTypeSAVINGS_PRODUCT
documentHolderTypeUSER
documentHolderTypeCLIENT
documentHolderTypeCENTRE
documentHolderTypeID_DOCUMENT

Add Client Document

POST /clients/{clientId}/documents

Add new Document

create documents for a given client

Example requests

{
  "document": {
    "description": "string",
    "documentHolderKey": "string",
    "documentHolderType": "CLIENT",
    "name": "string",
    "type": "PDF"
  },
  "documentContent": "string"
}

Parameters

NameTypeDescriptionInRequired
clientIdstringthe ID of the clientpathtrue
bodyCreateDocumentApiV1a new document to be attached to an entitybodyfalse

Example Responses

201 Response

{
  "createdByUserKey": "string",
  "creationDate": "string",
  "description": "string",
  "documentHolderKey": "string",
  "documentHolderType": "BRANCH",
  "encodedKey": "string",
  "fileSize": 0,
  "id": 0,
  "lastModifiedDate": "string",
  "location": "string",
  "name": "string",
  "originalFilename": "string",
  "type": "string",
  "userName": "string"
}

Responses

StatusMeaningDescriptionSchema
201CreatedokDocumentApiV1

Delete Client Asset

DELETE /clients/{clientID}/documents/PROFILE_PICTURE

delete profile picture on file for a given client

Parameters

NameTypeDescriptionInRequired
clientIDstringthe ID of the clientpathtrue

Example Responses

200 Response

{
  "errorSource": "string",
  "returnCode": 0,
  "returnStatus": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKokExecutionStatusApiV1

Get Client Profile Picture

GET /clients/{clientID}/documents/PROFILE_PICTURE

Get Client Asset

Get the profile picture for a given client. Images for the profile picture and signature are encoded in base 64. This should be read and decoded in order to generate a binary file representing the image. The format of the image is specified at the beginning of the response.

Parameters

NameTypeDescriptionInRequired
clientIDstringthe ID of the clientpathtrue

Example Responses

200 : OK
a base 64 encoded profile picture

"iVBORw0KGgoAAAANSUh=="

Responses

StatusMeaningDescriptionSchema
200OKOKstring

Add Client Asset

POST /clients/{clientID}/documents/PROFILE_PICTURE

Update Client Asset

add or update the profile picture on file for a given client

Example requests

client profile picture

{
  "document": {
    "documentHolderKey": "88af35b9ca0933ec72",
    "documentHolderType": "CLIENT",
    "name": "picture",
    "type": "JPG"
  },
  "documentContent": "d2h5IGRpZCB5b3UgYm90aGVyIHRvIGRlY29kZSB0aGlzPw=="
}

Parameters

NameTypeDescriptionInRequired
bodyCreateDocumentApiV1a new document to be attached to an entitybodyfalse
clientIDstringthe ID of the clientpathtrue

Example Responses

201 : ok
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
missing required parameter

{
  "returnCode": 4,
  "returnStatus": "INVALID_PARAMETERS",
  "errorSource": "document name is required"
}

Responses

StatusMeaningDescriptionSchema
201CreatedokExecutionStatusApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Delete Client Signature

DELETE /clients/{clientID}/documents/SIGNATURE

delete signature on file for a given client

Parameters

NameTypeDescriptionInRequired
clientIDstringthe ID of the clientpathtrue

Example Responses

200 Response

{
  "errorSource": "string",
  "returnCode": 0,
  "returnStatus": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKokExecutionStatusApiV1

Get Client Signature

GET /clients/{clientID}/documents/SIGNATURE

Get Client Signature

get the signaturee for a given client

Parameters

NameTypeDescriptionInRequired
clientIDstringthe ID of the clientpathtrue

Example Responses

200 Response

"\"iVBORw0KGgoAAAANSUh==\""

Responses

StatusMeaningDescriptionSchema
200OKOKstring

Add Client Signature

POST /clients/{clientID}/documents/SIGNATURE

Update Client Signature

add or update the signature on file for a given client

Example requests

a client signature

{
  "document": {
    "documentHolderKey": "88af35b9ca0933ec72",
    "documentHolderType": "CLIENT",
    "name": "signature",
    "type": "PNG"
  },
  "documentContent": "d2h5IGRpZCB5b3UgYm90aGVyIHRvIGRlY29kZSB0aGlzPyBub3RoaW5nIGJldHRlciB0byBkbz8="
}

Parameters

NameTypeDescriptionInRequired
bodyCreateDocumentApiV1a new document to be attached to an entitybodyfalse
clientIDstringthe ID of the clientpathtrue

Example Responses

201 : ok
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
missing required parameter

{
  "returnCode": 4,
  "returnStatus": "INVALID_PARAMETERS",
  "errorSource": "document name is required"
}

Responses

StatusMeaningDescriptionSchema
201CreatedokExecutionStatusApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Delete Client Document

DELETE /clients/{clientId}/documents/{documentId}

Delete Client Documents

delete a client document by ID

Parameters

NameTypeDescriptionInRequired
clientIdstringthe id of the clientpathtrue
documentIdstringnonepathtrue

Example Responses

200 : ok
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
bad Document ID

{
  "returnCode": 970,
  "returnStatus": "INVALID_DOCUMENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKokExecutionStatusApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Get Client Document by ID

GET /clients/{clientId}/documents/{documentId}

Get a Client Document by ID

get a client document by its ID

Parameters

NameTypeDescriptionInRequired
clientIdstringthe id of the clientpathtrue
documentIdstringnonepathtrue

Example Responses

200 Response

"string"

Responses

StatusMeaningDescriptionSchema
200OKokstring

Get Client's Custom Views with basic details

GET /clients?resultType=BASIC&viewfilter={viewfilter}

Get Client's Custom Views with basic details

get view filters for a client with basic details

Parameters

NameTypeDescriptionInRequired
branchIdstringnonequeryfalse
offsetstringnonequeryfalse
limitstringnonequeryfalse
resultTypestringnonequeryfalse
viewfilterstringnonepathtrue

Example Responses

200 Response

[
  {
    "activationDate": "string",
    "approvedDate": "string",
    "assignedBranchKey": "string",
    "assignedCentreKey": "string",
    "assignedUserKey": "string",
    "birthDate": "string",
    "clientRole": {
      "encodedKey": "string"
    },
    "closedDate": "string",
    "creationDate": "string",
    "emailAddress": "string",
    "encodedKey": "string",
    "firstName": "string",
    "gender": "MALE",
    "groupLoanCycle": 0,
    "homePhone": "string",
    "id": "string",
    "idPattern": "string",
    "lastModifiedDate": "string",
    "lastName": "string",
    "loanCycle": 0,
    "middleName": "string",
    "migrationEvent": {
      "creationDate": "string",
      "encodedKey": "string",
      "numCentresImported": 0,
      "numClientsImported": 0,
      "numGLAccountsImported": 0,
      "numGroupsImported": 0,
      "numLoanRepaymentsImported": 0,
      "numLoanTransactionsImported": 0,
      "numLoansImported": 0,
      "numSavingsImported": 0,
      "state": "REVERTED",
      "type": "IMPORT"
    },
    "mobilePhone1": "string",
    "mobilePhone2": "string",
    "notes": "string",
    "portalPreferences": {
      "encodedKey": "string",
      "lastLoggedInDate": "string",
      "password": "string",
      "portalState": "DISABLED"
    },
    "preferredLanguage": "PORTUGESE",
    "profilePictureKey": "string",
    "profileSignatureKey": "string",
    "state": "PENDING_APPROVAL"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[ClientApiV1]nonefalsenone
» activationDatestringnonefalsenone
» approvedDatestringnonefalsenone
» assignedBranchKeystringnonefalsenone
» assignedCentreKeystringnonefalsenone
» assignedUserKeystringnonefalsenone
» birthDatestringnonefalsenone
» clientRoleClientRoleBasicApiV1nonefalsenone
»» encodedKeystringnonefalsenone
» closedDatestringnonefalsenone
» creationDatestringnonefalsenone
» emailAddressstringnonefalsenone
» encodedKeystringnonefalsenone
» firstNamestringnonefalsenone
» genderstringnonefalsenone
» groupLoanCyclenumbernonefalsenone
» homePhonestringnonefalsenone
» idstringnonefalsenone
» idPatternstringnonefalsenone
» lastModifiedDatestringnonefalsenone
» lastNamestringnonefalsenone
» loanCyclenumbernonefalsenone
» middleNamestringnonefalsenone
» migrationEventDataMigrationEventApiV1nonefalsenone
»» creationDatestringnonefalsenone
»» encodedKeystringnonefalsenone
»» numCentresImportednumbernonefalsenone
»» numClientsImportednumbernonefalsenone
»» numGLAccountsImportednumbernonefalsenone
»» numGroupsImportednumbernonefalsenone
»» numLoanRepaymentsImportednumbernonefalsenone
»» numLoanTransactionsImportednumbernonefalsenone
»» numLoansImportednumbernonefalsenone
»» numSavingsImportednumbernonefalsenone
»» statestringnonefalsenone
»» typestringnonefalsenone
» mobilePhone1stringnonefalsenone
» mobilePhone2stringnonefalsenone
» notesstringnonefalsenone
» portalPreferencesPortalPreferencesApiV1nonefalsenone
»» encodedKeystringnonefalsenone
»» lastLoggedInDatestringnonefalsenone
»» passwordstringnonefalsenone
»» portalStatestringnonefalsenone
» preferredLanguagestringnonefalsenone
» profilePictureKeystringnonefalsenone
» profileSignatureKeystringnonefalsenone
» statestringnonefalsenone

Enumerated Values

PropertyValue
genderMALE
genderFEMALE
stateREVERTED
stateDRAFT
stateAPPROVED
typeIMPORT
typeEXPORT
portalStateDISABLED
portalStateENABLED
preferredLanguagePORTUGESE
preferredLanguageRUSSIAN
preferredLanguageROMANIAN
preferredLanguageENGLISH
preferredLanguageSPANISH
preferredLanguageGEORGIAN
preferredLanguageBURMESE
preferredLanguagePHRASE
preferredLanguageCHINESE
preferredLanguageFRENCH
preferredLanguageINDONESIAN
statePENDING_APPROVAL
stateACTIVE
stateINACTIVE
stateEXITED
stateBLACKLISTED
stateREJECTED

Get Client's Custom Views

GET /clients?resultType=FULL_DETAILS&viewfilter={viewfilter}

Get Client's Custom Views

get view filters for a client with full details

Parameters

NameTypeDescriptionInRequired
branchIdstringnonequeryfalse
offsetstringnonequeryfalse
limitstringnonequeryfalse
resultTypestringnonequeryfalse
viewfilterstringnonepathtrue

Example Responses

200 Response

[
  {
    "addresses": [
      {
        "addressType": "string",
        "city": "string",
        "country": "string",
        "encodedKey": "string",
        "indexInList": 0,
        "latitude": 0,
        "line1": "string",
        "line2": "string",
        "longitude": 0,
        "parentKey": "string",
        "postcode": "string",
        "region": "string",
        "toBeDeleted": true
      }
    ],
    "centreId": "string",
    "client": {
      "activationDate": "string",
      "approvedDate": "string",
      "assignedBranchKey": "string",
      "assignedCentreKey": "string",
      "assignedUserKey": "string",
      "birthDate": "string",
      "clientRole": {
        "encodedKey": "string"
      },
      "closedDate": "string",
      "creationDate": "string",
      "emailAddress": "string",
      "encodedKey": "string",
      "firstName": "string",
      "gender": "MALE",
      "groupLoanCycle": 0,
      "homePhone": "string",
      "id": "string",
      "idPattern": "string",
      "lastModifiedDate": "string",
      "lastName": "string",
      "loanCycle": 0,
      "middleName": "string",
      "migrationEvent": {
        "creationDate": "string",
        "encodedKey": "string",
        "numCentresImported": 0,
        "numClientsImported": 0,
        "numGLAccountsImported": 0,
        "numGroupsImported": 0,
        "numLoanRepaymentsImported": 0,
        "numLoanTransactionsImported": 0,
        "numLoansImported": 0,
        "numSavingsImported": 0,
        "state": "REVERTED",
        "type": "IMPORT"
      },
      "mobilePhone1": "string",
      "mobilePhone2": "string",
      "notes": "string",
      "portalPreferences": {
        "encodedKey": "string",
        "lastLoggedInDate": "string",
        "password": "string",
        "portalState": "DISABLED"
      },
      "preferredLanguage": "PORTUGESE",
      "profilePictureKey": "string",
      "profileSignatureKey": "string",
      "state": "PENDING_APPROVAL"
    },
    "clientTypeId": "string",
    "customInformation": [
      {
        "amount": 0,
        "customField": {
          "amounts": {
            "property1": 0,
            "property2": 0
          },
          "builtInCustomFieldId": "MOBILE_PHONE",
          "creationDate": "string",
          "customFieldProductSettings": [
            {
              "customFieldEncodedKey": "string",
              "encodedKey": "string",
              "isDefault": true,
              "isRequired": true,
              "linkType": "CLIENT_ROLE",
              "productKey": "string"
            }
          ],
          "customFieldSelectionOptions": [
            {
              "constraint": {
                "customFieldKey": "string",
                "dataFieldType": "NATIVE",
                "dataFieldValue": "string",
                "dataItemType": "WRITTEN_OFF_LOANS",
                "dataType": "ENUM",
                "encodedKey": "string",
                "filterElement": "STARTS_WITH_CASE_SENSITIVE",
                "groupNumber": 0,
                "index": 0,
                "linkingOperator": "OR",
                "secondValue": "string",
                "value": "string"
              },
              "encodedKey": "string",
              "id": "string",
              "score": 0,
              "value": "string"
            }
          ],
          "customFieldSet": {
            "builtInType": "DETAILS",
            "createdDate": "string",
            "customFields": [
              {}
            ],
            "encodedKey": "string",
            "id": "string",
            "indexInList": 0,
            "lastModifiedDate": "string",
            "name": "string",
            "notes": "string",
            "type": "USER_INFO",
            "usage": "SINGLE"
          },
          "dataType": "GROUP_LINK",
          "description": "string",
          "editRights": {
            "encodedKey": "string",
            "isAccessibleByAllUsers": true,
            "roles": [
              "string"
            ]
          },
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "isDefault": true,
          "isRequired": true,
          "lastModifiedDate": "string",
          "name": "string",
          "state": "DEACTIVATED",
          "type": "USER_INFO",
          "unique": true,
          "validationPattern": "string",
          "valueLength": "SHORT",
          "values": [
            "string"
          ],
          "viewRights": {
            "encodedKey": "string",
            "isAccessibleByAllUsers": true,
            "roles": [
              "string"
            ]
          }
        },
        "customFieldID": "string",
        "customFieldKey": "string",
        "customFieldSetGroupIndex": 0,
        "encodedKey": "string",
        "indexInList": 0,
        "linkedEntityKeyValue": "string",
        "parentKey": "string",
        "selectionKey": "string",
        "value": "string"
      }
    ],
    "groupKeys": [
      "string"
    ],
    "idDocuments": [
      {
        "clientKey": "string",
        "documentId": "string",
        "documentType": "string",
        "encodedKey": "string",
        "identificationDocumentTemplateKey": "string",
        "indexInList": 0,
        "issuingAuthority": "string",
        "toBeDeleted": true,
        "validUntil": "string",
        "validUntilDTOdate": {
          "dayOfMonth": 0,
          "monthOfYear": 0,
          "year": 0
        }
      }
    ],
    "notificationTemplates": [
      {
        "activated": true,
        "authorization": "NO_AUTHORIZATION",
        "contentType": "PLAIN_TEXT",
        "creationDate": "string",
        "customFilter": {
          "customConfigurationInfo": {
            "creationDate": "string",
            "dataViewType": "PORTAL_ACCOUNT_TRANSACTION",
            "encodedKey": "string",
            "indexInList": 0,
            "lastModifiedDate": "string",
            "name": "string",
            "shared": true,
            "userKey": "string"
          },
          "encodedKey": "string",
          "filterConstraints": [
            {
              "customFieldKey": "string",
              "dataFieldType": "NATIVE",
              "dataFieldValue": "string",
              "dataItemType": "WRITTEN_OFF_LOANS",
              "dataType": "ENUM",
              "encodedKey": "string",
              "filterElement": "STARTS_WITH_CASE_SENSITIVE",
              "groupNumber": 0,
              "index": 0,
              "linkingOperator": "OR",
              "secondValue": "string",
              "value": "string"
            }
          ]
        },
        "encodedKey": "string",
        "event": "LOAN_CREATED",
        "isInUse": true,
        "lastModifiedDate": "string",
        "name": "string",
        "option": "OPT_IN",
        "recipient": {
          "customField": {
            "amounts": {
              "property1": 0,
              "property2": 0
            },
            "builtInCustomFieldId": "MOBILE_PHONE",
            "creationDate": "string",
            "customFieldProductSettings": [
              {
                "customFieldEncodedKey": "string",
                "encodedKey": "string",
                "isDefault": true,
                "isRequired": true,
                "linkType": "CLIENT_ROLE",
                "productKey": "string"
              }
            ],
            "customFieldSelectionOptions": [
              {
                "constraint": {
                  "customFieldKey": "string",
                  "dataFieldType": "NATIVE",
                  "dataFieldValue": "string",
                  "dataItemType": "WRITTEN_OFF_LOANS",
                  "dataType": "ENUM",
                  "encodedKey": "string",
                  "filterElement": "STARTS_WITH_CASE_SENSITIVE",
                  "groupNumber": 0,
                  "index": 0,
                  "linkingOperator": "OR",
                  "secondValue": "string",
                  "value": "string"
                },
                "encodedKey": "string",
                "id": "string",
                "score": 0,
                "value": "string"
              }
            ],
            "customFieldSet": {
              "builtInType": "DETAILS",
              "createdDate": "string",
              "customFields": [
                {}
              ],
              "encodedKey": "string",
              "id": "string",
              "indexInList": 0,
              "lastModifiedDate": "string",
              "name": "string",
              "notes": "string",
              "type": "USER_INFO",
              "usage": "SINGLE"
            },
            "dataType": "GROUP_LINK",
            "description": "string",
            "editRights": {
              "encodedKey": "string",
              "isAccessibleByAllUsers": true,
              "roles": [
                "string"
              ]
            },
            "encodedKey": "string",
            "id": "string",
            "indexInList": 0,
            "isDefault": true,
            "isRequired": true,
            "lastModifiedDate": "string",
            "name": "string",
            "state": "DEACTIVATED",
            "type": "USER_INFO",
            "unique": true,
            "validationPattern": "string",
            "valueLength": "SHORT",
            "values": [
              "string"
            ],
            "viewRights": {
              "encodedKey": "string",
              "isAccessibleByAllUsers": true,
              "roles": [
                "string"
              ]
            }
          },
          "encodedKey": "string",
          "groupRole": {
            "encodedKey": "string",
            "name": "string"
          },
          "recipientType": "CREDIT_OFFICER"
        },
        "requestType": "HEAD",
        "subject": "string",
        "targetType": "LOANS",
        "template": "string",
        "topic": "string",
        "trigger": "AUTOMATIC",
        "triggerDays": 0,
        "type": "EVENT_STREAM",
        "url": "string",
        "username": "string"
      }
    ]
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[ClientExpandedApiV1]nonefalsenone
» addresses[AddressApiV1]nonefalsenone
»» addressTypestringnonefalsenone
»» citystringnonetruenone
»» countrystringnonetruenone
»» encodedKeystringnonetruenone
»» indexInListnumbernonetruenone
»» latitudenumbernonefalsenone
»» line1stringnonetruenone
»» line2stringnonefalsenone
»» longitudenumbernonefalsenone
»» parentKeystringnonetruenone
»» postcodestringnonetruenone
»» regionstringnonetruenone
»» toBeDeletedbooleannonefalsenone
» centreIdstringnonefalsenone
» clientClientApiV1nonefalsenone
»» activationDatestringnonefalsenone
»» approvedDatestringnonefalsenone
»» assignedBranchKeystringnonefalsenone
»» assignedCentreKeystringnonefalsenone
»» assignedUserKeystringnonefalsenone
»» birthDatestringnonefalsenone
»» clientRoleClientRoleBasicApiV1nonefalsenone
»»» encodedKeystringnonefalsenone
»» closedDatestringnonefalsenone
»» creationDatestringnonefalsenone
»» emailAddressstringnonefalsenone
»» encodedKeystringnonefalsenone
»» firstNamestringnonefalsenone
»» genderstringnonefalsenone
»» groupLoanCyclenumbernonefalsenone
»» homePhonestringnonefalsenone
»» idstringnonefalsenone
»» idPatternstringnonefalsenone
»» lastModifiedDatestringnonefalsenone
»» lastNamestringnonefalsenone
»» loanCyclenumbernonefalsenone
»» middleNamestringnonefalsenone
»» migrationEventDataMigrationEventApiV1nonefalsenone
»»» creationDatestringnonefalsenone
»»» encodedKeystringnonefalsenone
»»» numCentresImportednumbernonefalsenone
»»» numClientsImportednumbernonefalsenone
»»» numGLAccountsImportednumbernonefalsenone
»»» numGroupsImportednumbernonefalsenone
»»» numLoanRepaymentsImportednumbernonefalsenone
»»» numLoanTransactionsImportednumbernonefalsenone
»»» numLoansImportednumbernonefalsenone
»»» numSavingsImportednumbernonefalsenone
»»» statestringnonefalsenone
»»» typestringnonefalsenone
»» mobilePhone1stringnonefalsenone
»» mobilePhone2stringnonefalsenone
»» notesstringnonefalsenone
»» portalPreferencesPortalPreferencesApiV1nonefalsenone
»»» encodedKeystringnonefalsenone
»»» lastLoggedInDatestringnonefalsenone
»»» passwordstringnonefalsenone
»»» portalStatestringnonefalsenone
»» preferredLanguagestringnonefalsenone
»» profilePictureKeystringnonefalsenone
»» profileSignatureKeystringnonefalsenone
»» statestringnonefalsenone
» clientTypeIdstringnonefalsenone
» customInformation[CustomFieldValueApiV1]nonefalsenone
»» amountnumbernonefalsenone
»» customFieldCustomFieldApiV1nonefalsenone
»»» amountsobjectnonefalsenone
»»»» additionalPropertiesnumbernonefalsenone
»»» builtInCustomFieldIdstringnonefalsenone
»»» creationDatestringnonefalsenone
»»» customFieldProductSettings[CustomFieldLinkApiV1]nonefalsenone
»»»» customFieldEncodedKeystringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» isDefaultbooleannonefalsenone
»»»» isRequiredbooleannonefalsenone
»»»» linkTypestringnonefalsenone
»»»» productKeystringnonefalsenone
»»» customFieldSelectionOptions[CustomFieldSelectionApiV1]nonefalsenone
»»»» constraintCustomFilterConstraintApiV1nonefalsenone
»»»»» customFieldKeystringnonefalsenone
»»»»» dataFieldTypestringnonefalsenone
»»»»» dataFieldValuestringnonefalsenone
»»»»» dataItemTypestringnonefalsenone
»»»»» dataTypestringnonefalsenone
»»»»» encodedKeystringnonefalsenone
»»»»» filterElementstringnonefalsenone
»»»»» groupNumbernumbernonefalsenone
»»»»» indexnumbernonefalsenone
»»»»» linkingOperatorstringnonefalsenone
»»»»» secondValuestringnonefalsenone
»»»»» valuestringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» idstringnonefalsenone
»»»» scorenumbernonefalsenone
»»»» valuestringnonefalsenone
»»» customFieldSetCustomFieldSetApiV1nonefalsenone
»»»» builtInTypestringnonefalsenone
»»»» createdDatestringnonefalsenone
»»»» customFields[CustomFieldApiV1]nonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» idstringnonefalsenone
»»»» indexInListnumbernonefalsenone
»»»» lastModifiedDatestringnonefalsenone
»»»» namestringnonefalsenone
»»»» notesstringnonefalsenone
»»»» typestringnonefalsenone
»»»» usagestringnonefalsenone
»»» dataTypestringnonefalsenone
»»» descriptionstringnonefalsenone
»»» editRightsUsageRightsApiV1nonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» isAccessibleByAllUsersbooleannonefalsenone
»»»» roles[string]nonefalsenone
»»» encodedKeystringnonefalsenone
»»» idstringnonefalsenone
»»» indexInListnumbernonefalsenone
»»» isDefaultbooleannonefalsenone
»»» isRequiredbooleannonefalsenone
»»» lastModifiedDatestringnonefalsenone
»»» namestringnonefalsenone
»»» statestringnonefalsenone
»»» typestringnonefalsenone
»»» uniquebooleannonefalsenone
»»» validationPatternstringnonefalsenone
»»» valueLengthstringnonefalsenone
»»» values[string]nonefalsenone
»»» viewRightsUsageRightsApiV1nonefalsenone
»» customFieldIDstringnonefalsenone
»» customFieldKeystringnonefalsenone
»» customFieldSetGroupIndexnumbernonefalsenone
»» encodedKeystringnonefalsenone
»» indexInListnumbernonefalsenone
»» linkedEntityKeyValuestringnonefalsenone
»» parentKeystringnonefalsenone
»» selectionKeystringnonefalsenone
»» valuestringnonefalsenone
» groupKeys[string]nonefalsenone
» idDocuments[IdentificationDocumentApiV1]nonefalsenone
»» clientKeystringnonefalsenone
»» documentIdstringnonefalsenone
»» documentTypestringnonefalsenone
»» encodedKeystringnonefalsenone
»» identificationDocumentTemplateKeystringnonefalsenone
»» indexInListnumbernonefalsenone
»» issuingAuthoritystringnonefalsenone
»» toBeDeletedbooleannonefalsenone
»» validUntilstringnonefalsenone
»» validUntilDTOdateDateDTOApiV1nonefalsenone
»»» dayOfMonthnumbernonefalsenone
»»» monthOfYearnumbernonefalsenone
»»» yearnumbernonefalsenone
» notificationTemplates[MessageTemplateApiV1]nonefalsenone
»» activatedbooleannonefalsenone
»» authorizationstringnonefalsenone
»» contentTypestringnonefalsenone
»» creationDatestringnonefalsenone
»» customFilterCustomFilterApiV1nonefalsenone
»»» customConfigurationInfoCustomConfigurationInfoApiV1nonefalsenone
»»»» creationDatestringnonefalsenone
»»»» dataViewTypestringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» indexInListnumbernonefalsenone
»»»» lastModifiedDatestringnonefalsenone
»»»» namestringnonefalsenone
»»»» sharedbooleannonefalsenone
»»»» userKeystringnonefalsenone
»»» encodedKeystringnonefalsenone
»»» filterConstraints[CustomFilterConstraintApiV1]nonefalsenone
»» encodedKeystringnonefalsenone
»» eventstringnonefalsenone
»» isInUsebooleannonefalsenone
»» lastModifiedDatestringnonefalsenone
»» namestringnonefalsenone
»» optionstringnonefalsenone
»» recipientMessageTemplateRecipientApiV1nonefalsenone
»»» customFieldCustomFieldApiV1nonefalsenone
»»» encodedKeystringnonefalsenone
»»» groupRoleGroupRoleNameApiV1nonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» namestringnonefalsenone
»»» recipientTypestringnonefalsenone
»» requestTypestringnonefalsenone
»» subjectstringnonefalsenone
»» targetTypestringnonefalsenone
»» templatestringnonefalsenone
»» topicstringnonefalsenone
»» triggerstringnonefalsenone
»» triggerDaysnumbernonefalsenone
»» typestringnonefalsenone
»» urlstringnonefalsenone
»» usernamestringnonefalsenone

Enumerated Values

PropertyValue
genderMALE
genderFEMALE
stateREVERTED
stateDRAFT
stateAPPROVED
typeIMPORT
typeEXPORT
portalStateDISABLED
portalStateENABLED
preferredLanguagePORTUGESE
preferredLanguageRUSSIAN
preferredLanguageROMANIAN
preferredLanguageENGLISH
preferredLanguageSPANISH
preferredLanguageGEORGIAN
preferredLanguageBURMESE
preferredLanguagePHRASE
preferredLanguageCHINESE
preferredLanguageFRENCH
preferredLanguageINDONESIAN
statePENDING_APPROVAL
stateACTIVE
stateINACTIVE
stateEXITED
stateBLACKLISTED
stateREJECTED
builtInCustomFieldIdMOBILE_PHONE
builtInCustomFieldIdEMAIL_ADDRESS
builtInCustomFieldIdGENDER
builtInCustomFieldIdMIDDLE_NAME
builtInCustomFieldIdHOME_PHONE
builtInCustomFieldIdBIRTHDATE
builtInCustomFieldIdLAST_NAME
builtInCustomFieldIdFIRST_NAME
linkTypeCLIENT_ROLE
linkTypeCHANNEL
linkTypePRODUCT
dataFieldTypeNATIVE
dataFieldTypeCUSTOM
dataItemTypeWRITTEN_OFF_LOANS
dataItemTypeLINE_OF_CREDIT
dataItemTypeINVESTOR_FUND
dataItemTypeTRANSACTION_DETAILS
dataItemTypeDOCUMENT_TEMPLATE
dataItemTypePRODUCT
dataItemTypeMCC_EXPIRATION
dataItemTypeCENTRE
dataItemTypeREPAYMENT_COLLECTION
dataItemTypeTASK
dataItemTypeOUTSTANDING_PORTFOLIO_AMOUNTS
dataItemTypeREVENUE
dataItemTypeCOMPOSED_TRANSACTIONS
dataItemTypeUNION_TRANSACTIONS
dataItemTypePRINCIPAL_PAYMENT_SETTINGS
dataItemTypeLOANS
dataItemTypeDISBURSEMENT_DETAILS
dataItemTypeSAVINGS_TRANSACTION
dataItemTypeIDENTIFICATION_DOCUMENT
dataItemTypeLOAN_PRODUCT
dataItemTypeDISBURSED_LOANS
dataItemTypeLOAN_GROUP
dataItemTypeTRANSACTION_CHANNEL
dataItemTypeCUSTOM_PREDEFINED_FEE
dataItemTypeJOURNAL_ENTRY
dataItemTypeATTACHMENT
dataItemTypePREDEFINED_FEE
dataItemTypeTRANCHE
dataItemTypeTRANSACTION
dataItemTypeINDEX_RATE_SOURCE
dataItemTypeGROUP_ROLE
dataItemTypeLOAN_TRANSACTION
dataItemTypeCLIENT_ROLE
dataItemTypeGROUP
dataItemTypeNOTIFICATION_MESSAGE
dataItemTypeOUTSTANDING_PORTFOLIO_ACCOUNTS
dataItemTypeREPAYMENT
dataItemTypeLOAN_ACCOUNT_GUARANTY
dataItemTypeBRANCH
dataItemTypeCURRENCY
dataItemTypeCARD_TRANSACTION_REVERSAL
dataItemTypeINTEREST_PRODUCT_SETTINGS
dataItemTypeCREATED_ACCOUNTS
dataItemTypeUSER
dataItemTypeSAVINGS_PRODUCT
dataItemTypeCLIENT
dataItemTypePRODUCT_ARREARS_SETTINGS
dataItemTypeSAVINGS
dataItemTypeEXPENSE
dataItemTypeINDEX_RATE
dataItemTypeNOTIFICATION_TEMPLATE
dataItemTypeCUSTOM_FIELD_SELECTION
dataItemTypeACTIVITY
dataTypeENUM
dataTypeMONEY
dataTypeNUMBER
dataTypeDATE_UTC
dataTypeJAVA_BLOB
dataTypeOBJECT
dataTypeBOOLEAN
dataTypeDATE
dataTypePERCENT
dataTypeBIG_DECIMAL
dataTypeSTRING
dataTypeKEY
dataTypeLONG
filterElementSTARTS_WITH_CASE_SENSITIVE
filterElementTHIS_WEEK
filterElementEQUALS
filterElementSTARTS_WITH
filterElementIN
filterElementTODAY
filterElementTHIS_YEAR
filterElementBETWEEN
filterElementAFTER
filterElementLESS_THAN
filterElementDIFFERENT_THAN
filterElementTHIS_MONTH
filterElementNOT_EMPTY
filterElementBEFORE
filterElementEQUALS_CASE_SENSITIVE
filterElementLAST_DAYS
filterElementMORE_THAN
filterElementEMPTY
filterElementON
linkingOperatorOR
linkingOperatorAND
builtInTypeDETAILS
builtInTypeGENERAL
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
usageSINGLE
usageGROUPED
dataTypeGROUP_LINK
dataTypeDATE
dataTypeNUMBER
dataTypeCHECKBOX
dataTypeCLIENT_LINK
dataTypeSTRING
dataTypeUSER_LINK
dataTypeSELECTION
stateDEACTIVATED
stateNORMAL
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
valueLengthSHORT
valueLengthLONG
authorizationNO_AUTHORIZATION
authorizationBASIC_AUTHORIZATION
contentTypePLAIN_TEXT
contentTypeAPPLICATION_JSON
contentTypeAPPLICATION_XML
dataViewTypePORTAL_ACCOUNT_TRANSACTION
dataViewTypeLOANS_AGING_ANALYSIS
dataViewTypeCLOSED_ACCOUNTS
dataViewTypeCLIENT_OVERVIEW
dataViewTypeADMIN_CENTRES
dataViewTypeUSER_NOTIFICATION_MESSAGES
dataViewTypeLINE_OF_CREDIT
dataViewTypeUSER_OVERVIEW
dataViewTypeCENTRE_OVERVIEW
dataViewTypeREPAYMENT_REPAYMENTS_COLLECTION
dataViewTypeGROUP_OVERVIEW
dataViewTypeACTIVITIES_LOOKUP
dataViewTypeTRANSACTION
dataViewTypeADMIN_BRANCHES
dataViewTypeGROUP
dataViewTypeBRANCH_OVERVIEW
dataViewTypeNOTIFICATION_MESSAGE
dataViewTypePORTFOLIO_REPORTS
dataViewTypeGROUP_NOTIFICATION_MESSAGES
dataViewTypeLOAN_ACCOUNT_SECURITIES_OVERVIEW
dataViewTypeLINE_OF_CREDIT_OVERVIEW
dataViewTypeCURRENCIES
dataViewTypeREPAYMENT
dataViewTypeTILL_TRANSACTIONS
dataViewTypeALL_TASKS
dataViewTypeCENTRE
dataViewTypeBRANCH
dataViewTypeINDEX_RATES_LIST
dataViewTypeUSER_TASKS
dataViewTypeDOCUMENT_TEMPLATES
dataViewTypeSAVINGS_TRANSACTIONS_LOOKUP
dataViewTypeLOAN_ACCOUNT_OVERVIEW
dataViewTypeDEPOSITS_COLLECTION
dataViewTypeUSER
dataViewTypeADMIN_USERS
dataViewTypeGROUP_TASKS
dataViewTypeCLIENT
dataViewTypeLOAN_TRANSACTIONS_LOOKUP
dataViewTypeLOANS
dataViewTypeLOANS_REPAYMENTS_COLLECTION
dataViewTypeCLIENT_TASKS
dataViewTypeOVERDRAFTS_AGING_ANALYSIS
dataViewTypeLOAN_ACCOUNT_FUNDING_OVERVIEW
dataViewTypeSAVINGS
dataViewTypeSAVINGS_OVERVIEW
dataViewTypeJOURNAL_ENTRY
dataViewTypeCLIENT_NOTIFICATION_MESSAGES
eventLOAN_CREATED
eventSAVINGS_ACCOUNT_REJECTION
eventSAVINGS_ACCOUNT_ACTIVATED
eventDATA_ACCESS_STATE_CHANGED
eventREPAYMENT_REMINDER
eventLOAN_ANTICIPATED_DISBURSEMENT
eventCREDIT_ARRANGEMENT_deleteD
eventSAVINGS_APPROVAL
eventPORTAL_ACTIVATED
eventSAVINGS_DEPOSIT
eventPORTAL_PASSWORD_RESET
eventCREDIT_ARRANGEMENT_REJECTED
eventLOAN_REPAYMENT_REVERSAL
eventSAVINGS_ACCOUNT_CLOSURE
eventLOAN_ACCOUNT_REJECTION
eventLOAN_ACCOUNT_RESCHEDULED
eventACCOUNT_IN_ARREARS
eventLOAN_DISBURSEMENT_REVERSAL
eventSAVINGS_DEPOSIT_REVERSAL
eventCLIENT_APPROVED
eventLOAN_REPAYMENT
eventLOAN_ACCOUNT_ACTIVITY
eventGROUP_CREATED
eventLOAN_DISBURSEMENT
eventCREDIT_ARRANGEMENT_APPROVED
eventMANUAL
eventEND_OF_DAY_PROCESSING_COMPLETED
eventCREDIT_ARRANGEMENT_ACCOUNT_ADDED
eventCLIENT_REJECTED
eventCLIENT_ACTIVITY
eventLOAN_ACCOUNT_REFINANCED
eventSAVINGS_CREATED
eventCLIENT_CREATED
eventLOAN_APPROVAL
eventGROUP_ACTIVITY
eventLOAN_ACCOUNT_CLOSURE
eventSAVINGS_WITHDRAWAL_REVERSAL
eventCREDIT_ARRANGEMENT_WITHDRAWN
eventCREDIT_ARRANGEMENT_CREATED
eventSAVINGS_WITHDRAWAL
eventSAVINGS_ACCOUNT_ACTIVITY
eventLOAN_ACCOUNT_WRITE_OFF
eventCREDIT_ARRANGEMENT_ACCOUNT_REMOVED
eventCREDIT_ARRANGEMENT_CLOSED
optionOPT_IN
optionOPT_OUT
recipientTypeCREDIT_OFFICER
recipientTypeCUSTOM_FIELD
recipientTypeGROUP_ROLE
recipientTypeCLIENT
requestTypeHEAD
requestTypedelete
requestTypepost
requestTypeget
requestTypeput
requestTypepatch
targetTypeLOANS
targetTypeGROUP
targetTypeSAVINGS
targetTypeDATA_ACCESS
targetTypeBACKGROUND_PROCESS
targetTypeCLIENT
triggerAUTOMATIC
triggerMANUAL
typeEVENT_STREAM
typeTASK
typeSMS
typeEMAIL
typeWEB_HOOK

Get Client's Custom Views Summary

GET /clients?resultType=SUMMARY&viewfilter={viewfilter}

Get Client's Custom Views Summary

get view filters for a client with a summary

Parameters

NameTypeDescriptionInRequired
branchIdstringnonequeryfalse
offsetstringnonequeryfalse
limitstringnonequeryfalse
resultTypestringnonequeryfalse
viewfilterstringnonepathtrue

Example Responses

200 Response

{
  "summary": {
    "count": "string",
    "totals": [
      {
        "customFieldValues": {
          "property1": {},
          "property2": {}
        },
        "dataItemType": "WRITTEN_OFF_LOANS",
        "values": {
          "property1": {},
          "property2": {}
        }
      }
    ]
  }
}

Responses

StatusMeaningDescriptionSchema
200OKokJsonCustomViewEntitiesSummaryWrapperApiV1

Get all Loan Accounts for a Client

GET /clients/{clientId}/loans/{loanAccountId}

Get all Loan Accounts for a Client

Get details on a specific Loan Account for a specific client.

Parameters

NameTypeDescriptionInRequired
fullDetailsbooleannonequeryfalse
clientIdstringThe ID of the client. The format is determined by your organization.pathtrue
loanAccountIdstringThe ID or encoded key of the loan account. The format is determined by your organization.pathtrue

Example Responses

200 : ok
a loan account with full details

{
  "encodedKey": "8a8086c46f7a3258016f7b4d25f50126",
  "id": "XNZR612",
  "accountHolderKey": "8a80877d6f65da00016f6670eb950022",
  "accountHolderType": "CLIENT",
  "creationDate": "2020-01-06T14:43:36+0000",
  "approvedDate": "2020-01-06T15:43:46+0000",
  "lastModifiedDate": "2020-02-06T12:49:13+0000",
  "activationTransactionKey": "8a8086c46f7a3258016f7b4facdb0139",
  "lastAccountAppraisalDate": "2020-02-06T00:00:06+0000",
  "accountState": "ACTIVE",
  "productTypeKey": "8a8086c46f7a3258016f7b4d25d60118",
  "loanName": "review frequency daily",
  "loanAmount": "2500",
  "periodicPayment": "0",
  "tranches": [],
  "principalDue": "207.49",
  "principalPaid": "207.31",
  "principalBalance": "2292.69",
  "redrawBalance": "0",
  "interestDue": "1.97",
  "interestPaid": "2.15",
  "interestFromArrearsBalance": "0",
  "interestFromArrearsDue": "0",
  "interestFromArrearsPaid": "0",
  "interestBalance": "1.97",
  "feesDue": "0",
  "feesPaid": "0",
  "feesBalance": "0",
  "penaltyDue": "0",
  "penaltyPaid": "0",
  "penaltyBalance": "0",
  "scheduleDueDatesMethod": "INTERVAL",
  "prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
  "futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
  "hasCustomSchedule": false,
  "repaymentPeriodCount": 1,
  "repaymentPeriodUnit": "MONTHS",
  "repaymentInstallments": 12,
  "gracePeriod": 0,
  "gracePeriodType": "NONE",
  "interestRate": "1",
  "customFieldValues": [
    {
      "encodedKey": "8a8086567019cc6c01701a8b30596da2",
      "parentKey": "8a8086c46f7a3258016f7b4d25f50126",
      "customFieldKey": "8a8086567019cc6c01701a869a4a6d81",
      "customField": {
        "encodedKey": "8a8086567019cc6c01701a869a4a6d81",
        "id": "sclt_1",
        "creationDate": "2020-02-06T12:47:32+0000",
        "lastModifiedDate": "2020-02-06T12:47:32+0000",
        "name": "selection 1",
        "type": "LOAN_ACCOUNT_INFO",
        "dataType": "SELECTION",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "description": "",
        "customFieldSet": {
          "encodedKey": "8a8086567019cc6c01701a869a4a6d80",
          "id": "_loans_cf_set",
          "name": "loans cf set",
          "notes": "",
          "createdDate": "2020-02-06T12:46:55+0000",
          "lastModifiedDate": "2020-02-06T12:46:55+0000",
          "indexInList": 0,
          "type": "LOAN_ACCOUNT_INFO",
          "usage": "SINGLE"
        },
        "indexInList": 0,
        "state": "NORMAL",
        "customFieldSelectionOptions": [
          {
            "encodedKey": "8a8086567019cc6c01701a8a8c136d91",
            "id": "783728922",
            "value": "option 1",
            "score": "10"
          },
          {
            "encodedKey": "8a8086567019cc6c01701a8a8c1a6d92",
            "id": "672532084",
            "value": "option 2",
            "score": "5"
          },
          {
            "encodedKey": "8a8086567019cc6c01701a8a8c1a6d93",
            "id": "403063097",
            "value": "option 3",
            "score": "1"
          }
        ],
        "viewRights": {
          "encodedKey": "8a8086567019cc6c01701a869a4a6d82",
          "isAccessibleByAllUsers": true,
          "roles": []
        },
        "editRights": {
          "encodedKey": "8a8086567019cc6c01701a8a8c066d88",
          "isAccessibleByAllUsers": false,
          "roles": []
        },
        "unique": false,
        "values": [
          "option 1",
          "option 2",
          "option 3"
        ],
        "amounts": {
          "option 3": "1",
          "option 1": "10",
          "option 2": "5"
        }
      },
      "value": "option 2",
      "amount": "5",
      "indexInList": -1,
      "customFieldID": "sclt_1",
      "customFieldSetGroupIndex": -1
    },
    {
      "encodedKey": "8a8086567019cc6c01701a8b30596da4",
      "parentKey": "8a8086c46f7a3258016f7b4d25f50126",
      "customFieldKey": "8a8086567019cc6c01701a8a8c1a6d94",
      "customField": {
        "encodedKey": "8a8086567019cc6c01701a8a8c1a6d94",
        "id": "slct_2",
        "creationDate": "2020-02-06T12:48:14+0000",
        "lastModifiedDate": "2020-02-06T12:48:14+0000",
        "name": "selection 2",
        "type": "LOAN_ACCOUNT_INFO",
        "dataType": "SELECTION",
        "valueLength": "SHORT",
        "isDefault": false,
        "isRequired": false,
        "description": "",
        "customFieldSet": {
          "encodedKey": "8a8086567019cc6c01701a869a4a6d80",
          "id": "_loans_cf_set",
          "name": "loans cf set",
          "notes": "",
          "createdDate": "2020-02-06T12:46:55+0000",
          "lastModifiedDate": "2020-02-06T12:46:55+0000",
          "indexInList": 0,
          "type": "LOAN_ACCOUNT_INFO",
          "usage": "SINGLE"
        },
        "indexInList": 1,
        "state": "NORMAL",
        "customFieldSelectionOptions": [
          {
            "encodedKey": "8a8086567019cc6c01701a8b30526d9f",
            "id": "789812737",
            "value": "option a",
            "score": "1"
          },
          {
            "encodedKey": "8a8086567019cc6c01701a8b30526da0",
            "id": "000604002",
            "value": "option b",
            "score": "5"
          },
          {
            "encodedKey": "8a8086567019cc6c01701a8b30596da1",
            "id": "343885651",
            "value": "option c",
            "score": "10"
          }
        ],
        "viewRights": {
          "encodedKey": "8a8086567019cc6c01701a8a8c1a6d95",
          "isAccessibleByAllUsers": true,
          "roles": []
        },
        "editRights": {
          "encodedKey": "8a8086567019cc6c01701a8a8c1a6d96",
          "isAccessibleByAllUsers": false,
          "roles": []
        },
        "unique": false,
        "values": [
          "option a",
          "option b",
          "option c"
        ],
        "amounts": {
          "option c": "10",
          "option a": "1",
          "option b": "5"
        }
      },
      "value": "option c",
      "amount": "10",
      "indexInList": -1,
      "customFieldID": "slct_2",
      "customFieldSetGroupIndex": -1
    }
  ],
  "interestChargeFrequency": "ANNUALIZED",
  "interestCalculationMethod": "DECLINING_BALANCE_DISCOUNTED",
  "interestType": "SIMPLE_INTEREST",
  "interestBalanceCalculationMethod": "PRINCIPAL_ONLY",
  "repaymentScheduleMethod": "DYNAMIC",
  "paymentMethod": "HORIZONTAL",
  "interestApplicationMethod": "ON_REPAYMENT",
  "accrueInterestAfterMaturity": false,
  "assignedBranchKey": "8a8086e96f61bf2c016f65f5192a0271",
  "notes": "",
  "principalRepaymentInterval": 1,
  "interestRateSource": "INDEX_INTEREST_RATE",
  "interestRateReviewUnit": "DAYS",
  "interestRateReviewCount": 1,
  "interestSpread": "1",
  "lastInterestReviewDate": "2020-02-06T00:00:00+0000",
  "accruedInterest": "0.19",
  "interestFromArrearsAccrued": "0.02",
  "lastInterestAppliedDate": "2020-02-03T00:00:00+0000",
  "funds": [],
  "guarantees": [],
  "accruedPenalty": "0",
  "loanPenaltyCalculationMethod": "NONE",
  "disbursementDetails": {
    "encodedKey": "8a8086c46f7a3258016f7b4fac3b0127",
    "expectedDisbursementDate": "2019-12-01T00:00:00+0000",
    "disbursementDate": "2019-12-01T00:00:00+0000",
    "firstRepaymentDate": "2020-01-01T00:00:00+0000",
    "transactionDetails": {
      "encodedKey": "8a8086c46f7a3258016f7b4fac3b0128",
      "transactionChannelKey": "8a80877d6f451a5c016f466bdd120049",
      "internalTransfer": false,
      "transactionChannel": {
        "encodedKey": "8a80877d6f451a5c016f466bdd120049",
        "id": "cash",
        "name": "Cash",
        "creationDate": "2019-12-27T09:14:35+0000",
        "index": 0,
        "activated": true,
        "savingsConstraintsUsage": "UNCONSTRAINED_USAGE",
        "savingsConstraints": {
          "encodedKey": "8a80877d6f451a5c016f466bea33004b",
          "filterConstraints": []
        },
        "usageRights": {
          "encodedKey": "8a80877d6f451a5c016f466bdd12004a",
          "isAccessibleByAllUsers": true,
          "roles": []
        }
      }
    },
    "fees": [],
    "customInformation": []
  },
  "arrearsTolerancePeriod": 3,
  "accountArrearsSettings": {
    "tolerancePeriod": 3,
    "encodedKey": "8a8086c46f7a3258016f7b4fac3b0129",
    "toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
    "dateCalculationMethod": "DATE_ACCOUNT_FIRST_WENT_TO_ARREARS",
    "nonWorkingDaysMethod": "EXCLUDED"
  },
  "paymentPlan": [],
  "interestRoundingVersion": "VERSION_2",
  "prepaymentRecalculationMethod": "NO_RECALCULATION",
  "principalPaidInstallmentStatus": "PARTIALLY_PAID",
  "latePaymentsRecalculationMethod": "INCREASE_OVERDUE_INSTALLMENTS",
  "applyInterestOnPrepaymentMethod": "AUTOMATIC",
  "allowOffset": false,
  "accrueLateInterest": true,
  "holdBalance": "0",
  "fees": [
    {
      "fee": {
        "encodedKey": "8a8080855283305201528369d0d3001c"
      }
    },
    {
      "fee": {
        "encodedKey": "8a8080855283305201528369d0d3001b"
      },
      "amount": "10"
    },
    {
      "fee": {
        "encodedKey": "8a808085528330520152836c5950002a"
      },
      "amount": "55"
    }
  ]
}

400 : Bad Request
bad loan accont ID

{
  "returnCode": 100,
  "returnStatus": "INVALID_LOAN_ACCOUNT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKokLoanAccountFullDetailsApiV1
400Bad RequestBad RequestInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonetruenone
» returnStatusstringnonetruenone
» errorSourcestringnonefalsenone

Get Savings Accounts for a Client

GET /clients/{clientId}/savings

Get Savings Accounts for a Client

Get all savings accounts for a client by client id

Parameters

NameTypeDescriptionInRequired
clientIdstringnonepathtrue
offsetintegernonequeryfalse
limitintegernonequeryfalse
fullDetailsbooleannonequeryfalse
savingsIdstringnonepathtrue

Example Responses

200 Response

[
  {
    "accountHolderKey": "string",
    "accountHolderType": "GROUP",
    "accountState": "WITHDRAWN",
    "accountType": "CURRENT_ACCOUNT",
    "accruedInterest": 0,
    "activationDate": "string",
    "allowOverdraft": true,
    "approvedDate": "string",
    "assignedBranchKey": "string",
    "assignedCentreKey": "string",
    "assignedUserKey": "string",
    "availableBalance": 0,
    "balance": 0,
    "closedDate": "string",
    "creationDate": "string",
    "currency": {
      "code": "string",
      "creationDate": "string",
      "currencySymbolPosition": "AFTER_NUMBER",
      "digitsAfterDecimal": 0,
      "isBaseCurrency": true,
      "lastModifiedDate": "string",
      "name": "string",
      "symbol": "string"
    },
    "currencyCode": "string",
    "customFieldValues": [
      {
        "amount": 0,
        "customField": {
          "amounts": {
            "property1": 0,
            "property2": 0
          },
          "builtInCustomFieldId": "MOBILE_PHONE",
          "creationDate": "string",
          "customFieldProductSettings": [
            {
              "customFieldEncodedKey": "string",
              "encodedKey": "string",
              "isDefault": true,
              "isRequired": true,
              "linkType": "CLIENT_ROLE",
              "productKey": "string"
            }
          ],
          "customFieldSelectionOptions": [
            {
              "constraint": {
                "customFieldKey": "string",
                "dataFieldType": "NATIVE",
                "dataFieldValue": "string",
                "dataItemType": "WRITTEN_OFF_LOANS",
                "dataType": "ENUM",
                "encodedKey": "string",
                "filterElement": "STARTS_WITH_CASE_SENSITIVE",
                "groupNumber": 0,
                "index": 0,
                "linkingOperator": "OR",
                "secondValue": "string",
                "value": "string"
              },
              "encodedKey": "string",
              "id": "string",
              "score": 0,
              "value": "string"
            }
          ],
          "customFieldSet": {
            "builtInType": "DETAILS",
            "createdDate": "string",
            "customFields": [
              {}
            ],
            "encodedKey": "string",
            "id": "string",
            "indexInList": 0,
            "lastModifiedDate": "string",
            "name": "string",
            "notes": "string",
            "type": "USER_INFO",
            "usage": "SINGLE"
          },
          "dataType": "GROUP_LINK",
          "description": "string",
          "editRights": {
            "encodedKey": "string",
            "isAccessibleByAllUsers": true,
            "roles": [
              "string"
            ]
          },
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "isDefault": true,
          "isRequired": true,
          "lastModifiedDate": "string",
          "name": "string",
          "state": "DEACTIVATED",
          "type": "USER_INFO",
          "unique": true,
          "validationPattern": "string",
          "valueLength": "SHORT",
          "values": [
            "string"
          ],
          "viewRights": {
            "encodedKey": "string",
            "isAccessibleByAllUsers": true,
            "roles": [
              "string"
            ]
          }
        },
        "customFieldID": "string",
        "customFieldKey": "string",
        "customFieldSetGroupIndex": 0,
        "encodedKey": "string",
        "indexInList": 0,
        "linkedEntityKeyValue": "string",
        "parentKey": "string",
        "selectionKey": "string",
        "value": "string"
      }
    ],
    "encodedKey": "string",
    "feesDue": 0,
    "holdBalance": 0,
    "id": "string",
    "interestDue": 0,
    "interestPaymentDates": [
      {
        "dayOfMonth": 0,
        "monthOfYear": 0,
        "year": 0
      }
    ],
    "interestPaymentPoint": "EVERY_WEEK",
    "interestSettings": {
      "accrueInterestAfterMaturity": true,
      "encodedKey": "string",
      "interestChargeFrequency": "EVERY_WEEK",
      "interestChargeFrequencyCount": 0,
      "interestRate": 0,
      "interestRateReviewCount": 0,
      "interestRateReviewUnit": "MONTHS",
      "interestRateSource": "FIXED_INTEREST_RATE",
      "interestRateTerms": "TIERED_PERIOD",
      "interestRateTiers": [
        {
          "encodedKey": "string",
          "endingBalance": 0,
          "endingDay": 0,
          "index": 0,
          "interestRate": 0
        }
      ],
      "interestSpread": 0
    },
    "lastAccountAppraisalDate": "string",
    "lastInterestCalculationDate": "string",
    "lastInterestStoredDate": "string",
    "lastModifiedDate": "string",
    "lastOverdraftInterestReviewDate": "string",
    "lastSetToArrearsDate": "string",
    "lineOfCreditKey": "string",
    "lockedBalance": 0,
    "lockedDate": "string",
    "maturityDate": "string",
    "maxWidthdrawlAmount": 0,
    "migrationEvent": {
      "creationDate": "string",
      "encodedKey": "string",
      "numCentresImported": 0,
      "numClientsImported": 0,
      "numGLAccountsImported": 0,
      "numGroupsImported": 0,
      "numLoanRepaymentsImported": 0,
      "numLoanTransactionsImported": 0,
      "numLoansImported": 0,
      "numSavingsImported": 0,
      "state": "REVERTED",
      "type": "IMPORT"
    },
    "name": "string",
    "notes": "string",
    "overdraftAmount": 0,
    "overdraftExpiryDate": "string",
    "overdraftExpiryDateDTO": {
      "dayOfMonth": 0,
      "monthOfYear": 0,
      "year": 0
    },
    "overdraftInterestAccrued": 0,
    "overdraftInterestSettings": {
      "accrueInterestAfterMaturity": true,
      "encodedKey": "string",
      "interestChargeFrequency": "EVERY_WEEK",
      "interestChargeFrequencyCount": 0,
      "interestRate": 0,
      "interestRateReviewCount": 0,
      "interestRateReviewUnit": "MONTHS",
      "interestRateSource": "FIXED_INTEREST_RATE",
      "interestRateTerms": "TIERED_PERIOD",
      "interestRateTiers": [
        {
          "encodedKey": "string",
          "endingBalance": 0,
          "endingDay": 0,
          "index": 0,
          "interestRate": 0
        }
      ],
      "interestSpread": 0
    },
    "overdraftLimit": 0,
    "productTypeKey": "string",
    "recommendedDepositAmount": 0,
    "targetAmount": 0,
    "technicalInterestDue": 0,
    "technicalOverdraftAmount": 0,
    "technicalOverdraftInterestAccrued": 0,
    "withholdingTaxSourceKey": "string"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[SavingsAccountApiV1]nonefalsenone
» accountHolderKeystringnonefalsenone
» accountHolderTypestringnonefalsenone
» accountStatestringnonefalsenone
» accountTypestringnonefalsenone
» accruedInterestnumbernonefalsenone
» activationDatestringnonefalsenone
» allowOverdraftbooleannonefalsenone
» approvedDatestringnonefalsenone
» assignedBranchKeystringnonefalsenone
» assignedCentreKeystringnonefalsenone
» assignedUserKeystringnonefalsenone
» availableBalancenumbernonefalsenone
» balancenumbernonefalsenone
» closedDatestringnonefalsenone
» creationDatestringnonefalsenone
» currencyCurrencyApiV1nonefalsenone
»» codestringnonefalsenone
»» creationDatestringnonefalsenone
»» currencySymbolPositionstringnonefalsenone
»» digitsAfterDecimalnumbernonefalsenone
»» isBaseCurrencybooleannonefalsenone
»» lastModifiedDatestringnonefalsenone
»» namestringnonefalsenone
»» symbolstringnonefalsenone
» currencyCodestringnonefalsenone
» customFieldValues[CustomFieldValueApiV1]nonefalsenone
»» amountnumbernonefalsenone
»» customFieldCustomFieldApiV1nonefalsenone
»»» amountsobjectnonefalsenone
»»»» additionalPropertiesnumbernonefalsenone
»»» builtInCustomFieldIdstringnonefalsenone
»»» creationDatestringnonefalsenone
»»» customFieldProductSettings[CustomFieldLinkApiV1]nonefalsenone
»»»» customFieldEncodedKeystringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» isDefaultbooleannonefalsenone
»»»» isRequiredbooleannonefalsenone
»»»» linkTypestringnonefalsenone
»»»» productKeystringnonefalsenone
»»» customFieldSelectionOptions[CustomFieldSelectionApiV1]nonefalsenone
»»»» constraintCustomFilterConstraintApiV1nonefalsenone
»»»»» customFieldKeystringnonefalsenone
»»»»» dataFieldTypestringnonefalsenone
»»»»» dataFieldValuestringnonefalsenone
»»»»» dataItemTypestringnonefalsenone
»»»»» dataTypestringnonefalsenone
»»»»» encodedKeystringnonefalsenone
»»»»» filterElementstringnonefalsenone
»»»»» groupNumbernumbernonefalsenone
»»»»» indexnumbernonefalsenone
»»»»» linkingOperatorstringnonefalsenone
»»»»» secondValuestringnonefalsenone
»»»»» valuestringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» idstringnonefalsenone
»»»» scorenumbernonefalsenone
»»»» valuestringnonefalsenone
»»» customFieldSetCustomFieldSetApiV1nonefalsenone
»»»» builtInTypestringnonefalsenone
»»»» createdDatestringnonefalsenone
»»»» customFields[CustomFieldApiV1]nonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» idstringnonefalsenone
»»»» indexInListnumbernonefalsenone
»»»» lastModifiedDatestringnonefalsenone
»»»» namestringnonefalsenone
»»»» notesstringnonefalsenone
»»»» typestringnonefalsenone
»»»» usagestringnonefalsenone
»»» dataTypestringnonefalsenone
»»» descriptionstringnonefalsenone
»»» editRightsUsageRightsApiV1nonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» isAccessibleByAllUsersbooleannonefalsenone
»»»» roles[string]nonefalsenone
»»» encodedKeystringnonefalsenone
»»» idstringnonefalsenone
»»» indexInListnumbernonefalsenone
»»» isDefaultbooleannonefalsenone
»»» isRequiredbooleannonefalsenone
»»» lastModifiedDatestringnonefalsenone
»»» namestringnonefalsenone
»»» statestringnonefalsenone
»»» typestringnonefalsenone
»»» uniquebooleannonefalsenone
»»» validationPatternstringnonefalsenone
»»» valueLengthstringnonefalsenone
»»» values[string]nonefalsenone
»»» viewRightsUsageRightsApiV1nonefalsenone
»» customFieldIDstringnonefalsenone
»» customFieldKeystringnonefalsenone
»» customFieldSetGroupIndexnumbernonefalsenone
»» encodedKeystringnonefalsenone
»» indexInListnumbernonefalsenone
»» linkedEntityKeyValuestringnonefalsenone
»» parentKeystringnonefalsenone
»» selectionKeystringnonefalsenone
»» valuestringnonefalsenone
» encodedKeystringnonefalsenone
» feesDuenumbernonefalsenone
» holdBalancenumbernonefalsenone
» idstringnonefalsenone
» interestDuenumbernonefalsenone
» interestPaymentDates[DateDTOApiV1]nonefalsenone
»» dayOfMonthnumbernonefalsenone
»» monthOfYearnumbernonefalsenone
»» yearnumbernonefalsenone
» interestPaymentPointstringnonefalsenone
» interestSettingsInterestAccountSettingsApiV1nonefalsenone
»» accrueInterestAfterMaturitybooleannonefalsenone
»» encodedKeystringnonefalsenone
»» interestChargeFrequencystringnonefalsenone
»» interestChargeFrequencyCountnumbernonefalsenone
»» interestRatenumbernonefalsenone
»» interestRateReviewCountnumbernonefalsenone
»» interestRateReviewUnitstringnonefalsenone
»» interestRateSourcestringnonefalsenone
»» interestRateTermsstringnonefalsenone
»» interestRateTiers[InterestRateTierApiV1]nonefalsenone
»»» encodedKeystringnonefalsenone
»»» endingBalancenumbernonefalsenone
»»» endingDaynumbernonefalsenone
»»» indexnumbernonefalsenone
»»» interestRatenumbernonefalsenone
»» interestSpreadnumbernonefalsenone
» lastAccountAppraisalDatestringnonefalsenone
» lastInterestCalculationDatestringnonefalsenone
» lastInterestStoredDatestringnonefalsenone
» lastModifiedDatestringnonefalsenone
» lastOverdraftInterestReviewDatestringnonefalsenone
» lastSetToArrearsDatestringnonefalsenone
» lineOfCreditKeystringnonefalsenone
» lockedBalancenumbernonefalsenone
» lockedDatestringnonefalsenone
» maturityDatestringnonefalsenone
» maxWidthdrawlAmountnumbernonefalsenone
» migrationEventDataMigrationEventApiV1nonefalsenone
»» creationDatestringnonefalsenone
»» encodedKeystringnonefalsenone
»» numCentresImportednumbernonefalsenone
»» numClientsImportednumbernonefalsenone
»» numGLAccountsImportednumbernonefalsenone
»» numGroupsImportednumbernonefalsenone
»» numLoanRepaymentsImportednumbernonefalsenone
»» numLoanTransactionsImportednumbernonefalsenone
»» numLoansImportednumbernonefalsenone
»» numSavingsImportednumbernonefalsenone
»» statestringnonefalsenone
»» typestringnonefalsenone
» namestringnonefalsenone
» notesstringnonefalsenone
» overdraftAmountnumbernonefalsenone
» overdraftExpiryDatestringnonefalsenone
» overdraftExpiryDateDTODateDTOApiV1nonefalsenone
» overdraftInterestAccruednumbernonefalsenone
» overdraftInterestSettingsInterestAccountSettingsApiV1nonefalsenone
» overdraftLimitnumbernonefalsenone
» productTypeKeystringnonefalsenone
» recommendedDepositAmountnumbernonefalsenone
» targetAmountnumbernonefalsenone
» technicalInterestDuenumbernonefalsenone
» technicalOverdraftAmountnumbernonefalsenone
» technicalOverdraftInterestAccruednumbernonefalsenone
» withholdingTaxSourceKeystringnonefalsenone

Enumerated Values

PropertyValue
accountHolderTypeGROUP
accountHolderTypeCLIENT
accountStateWITHDRAWN
accountStatePARTIALLY_DISBURSED
accountStateLOCKED
accountStateACTIVE
accountStateCLOSED
accountStatePARTIAL_APPLICATION
accountStateLOCKED_CAPPING
accountStateCLOSED_REJECTED
accountStateRESCHEDULED
accountStateACTIVE_IN_ARREARS
accountStateMATURED
accountStateCLOSED_RESCHEDULED
accountStateCLOSED_WITHDRAWN
accountStatePENDING_APPROVAL
accountStateAPPROVED
accountStateREFINANCED
accountStateDORMANT
accountStateCLOSED_WRITTEN_OFF
accountTypeCURRENT_ACCOUNT
accountTypeREGULAR_SAVINGS
accountTypeFIXED_DEPOSIT
accountTypeINVESTOR_ACCOUNT
accountTypeSAVINGS_PLAN
currencySymbolPositionAFTER_NUMBER
currencySymbolPositionBEFORE_NUMBER
builtInCustomFieldIdMOBILE_PHONE
builtInCustomFieldIdEMAIL_ADDRESS
builtInCustomFieldIdGENDER
builtInCustomFieldIdMIDDLE_NAME
builtInCustomFieldIdHOME_PHONE
builtInCustomFieldIdBIRTHDATE
builtInCustomFieldIdLAST_NAME
builtInCustomFieldIdFIRST_NAME
linkTypeCLIENT_ROLE
linkTypeCHANNEL
linkTypePRODUCT
dataFieldTypeNATIVE
dataFieldTypeCUSTOM
dataItemTypeWRITTEN_OFF_LOANS
dataItemTypeLINE_OF_CREDIT
dataItemTypeINVESTOR_FUND
dataItemTypeTRANSACTION_DETAILS
dataItemTypeDOCUMENT_TEMPLATE
dataItemTypePRODUCT
dataItemTypeMCC_EXPIRATION
dataItemTypeCENTRE
dataItemTypeREPAYMENT_COLLECTION
dataItemTypeTASK
dataItemTypeOUTSTANDING_PORTFOLIO_AMOUNTS
dataItemTypeREVENUE
dataItemTypeCOMPOSED_TRANSACTIONS
dataItemTypeUNION_TRANSACTIONS
dataItemTypePRINCIPAL_PAYMENT_SETTINGS
dataItemTypeLOANS
dataItemTypeDISBURSEMENT_DETAILS
dataItemTypeSAVINGS_TRANSACTION
dataItemTypeIDENTIFICATION_DOCUMENT
dataItemTypeLOAN_PRODUCT
dataItemTypeDISBURSED_LOANS
dataItemTypeLOAN_GROUP
dataItemTypeTRANSACTION_CHANNEL
dataItemTypeCUSTOM_PREDEFINED_FEE
dataItemTypeJOURNAL_ENTRY
dataItemTypeATTACHMENT
dataItemTypePREDEFINED_FEE
dataItemTypeTRANCHE
dataItemTypeTRANSACTION
dataItemTypeINDEX_RATE_SOURCE
dataItemTypeGROUP_ROLE
dataItemTypeLOAN_TRANSACTION
dataItemTypeCLIENT_ROLE
dataItemTypeGROUP
dataItemTypeNOTIFICATION_MESSAGE
dataItemTypeOUTSTANDING_PORTFOLIO_ACCOUNTS
dataItemTypeREPAYMENT
dataItemTypeLOAN_ACCOUNT_GUARANTY
dataItemTypeBRANCH
dataItemTypeCURRENCY
dataItemTypeCARD_TRANSACTION_REVERSAL
dataItemTypeINTEREST_PRODUCT_SETTINGS
dataItemTypeCREATED_ACCOUNTS
dataItemTypeUSER
dataItemTypeSAVINGS_PRODUCT
dataItemTypeCLIENT
dataItemTypePRODUCT_ARREARS_SETTINGS
dataItemTypeSAVINGS
dataItemTypeEXPENSE
dataItemTypeINDEX_RATE
dataItemTypeNOTIFICATION_TEMPLATE
dataItemTypeCUSTOM_FIELD_SELECTION
dataItemTypeACTIVITY
dataTypeENUM
dataTypeMONEY
dataTypeNUMBER
dataTypeDATE_UTC
dataTypeJAVA_BLOB
dataTypeOBJECT
dataTypeBOOLEAN
dataTypeDATE
dataTypePERCENT
dataTypeBIG_DECIMAL
dataTypeSTRING
dataTypeKEY
dataTypeLONG
filterElementSTARTS_WITH_CASE_SENSITIVE
filterElementTHIS_WEEK
filterElementEQUALS
filterElementSTARTS_WITH
filterElementIN
filterElementTODAY
filterElementTHIS_YEAR
filterElementBETWEEN
filterElementAFTER
filterElementLESS_THAN
filterElementDIFFERENT_THAN
filterElementTHIS_MONTH
filterElementNOT_EMPTY
filterElementBEFORE
filterElementEQUALS_CASE_SENSITIVE
filterElementLAST_DAYS
filterElementMORE_THAN
filterElementEMPTY
filterElementON
linkingOperatorOR
linkingOperatorAND
builtInTypeDETAILS
builtInTypeGENERAL
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
usageSINGLE
usageGROUPED
dataTypeGROUP_LINK
dataTypeDATE
dataTypeNUMBER
dataTypeCHECKBOX
dataTypeCLIENT_LINK
dataTypeSTRING
dataTypeUSER_LINK
dataTypeSELECTION
stateDEACTIVATED
stateNORMAL
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
valueLengthSHORT
valueLengthLONG
interestPaymentPointEVERY_WEEK
interestPaymentPointON_FIXED_DATES
interestPaymentPointEVERY_MONTH
interestPaymentPointON_ACCOUNT_MATURITY
interestPaymentPointEVERY_3_MONTHS
interestPaymentPointFIRST_DAY_OF_MONTH
interestPaymentPointEVERY_OTHER_WEEK
interestChargeFrequencyEVERY_WEEK
interestChargeFrequencyANNUALIZED
interestChargeFrequencyEVERY_MONTH
interestChargeFrequencyEVERY_X_DAYS
interestChargeFrequencyEVERY_FOUR_WEEKS
interestChargeFrequencyEVERY_DAY
interestRateReviewUnitMONTHS
interestRateReviewUnitWEEKS
interestRateReviewUnitDAYS
interestRateSourceFIXED_INTEREST_RATE
interestRateSourceINDEX_INTEREST_RATE
interestRateTermsTIERED_PERIOD
interestRateTermsFIXED
interestRateTermsTIERED
stateREVERTED
stateDRAFT
stateAPPROVED
typeIMPORT
typeEXPORT

Get a Savings Account for a Client

GET /clients/{clientId}/savings/{savingsAccountId}

Get a Savings Account for a Client

Get a specific savings account for a given client by savings account ID

Parameters

NameTypeDescriptionInRequired
clientIdstringnonepathtrue
fullDetailsbooleannonequeryfalse
savingsIdstringnonepathtrue
savingsAccountIdstringnonepathtrue

Example Responses

200 Response

{
  "accountHolderKey": "string",
  "accountHolderType": "GROUP",
  "accountState": "WITHDRAWN",
  "accountType": "CURRENT_ACCOUNT",
  "accruedInterest": 0,
  "activationDate": "string",
  "allowOverdraft": true,
  "approvedDate": "string",
  "assignedBranchKey": "string",
  "assignedCentreKey": "string",
  "assignedUserKey": "string",
  "availableBalance": 0,
  "balance": 0,
  "closedDate": "string",
  "creationDate": "string",
  "currency": {
    "code": "string",
    "creationDate": "string",
    "currencySymbolPosition": "AFTER_NUMBER",
    "digitsAfterDecimal": 0,
    "isBaseCurrency": true,
    "lastModifiedDate": "string",
    "name": "string",
    "symbol": "string"
  },
  "currencyCode": "string",
  "customFieldValues": [
    {
      "amount": 0,
      "customField": {
        "amounts": {
          "property1": 0,
          "property2": 0
        },
        "builtInCustomFieldId": "MOBILE_PHONE",
        "creationDate": "string",
        "customFieldProductSettings": [
          {
            "customFieldEncodedKey": "string",
            "encodedKey": "string",
            "isDefault": true,
            "isRequired": true,
            "linkType": "CLIENT_ROLE",
            "productKey": "string"
          }
        ],
        "customFieldSelectionOptions": [
          {
            "constraint": {
              "customFieldKey": "string",
              "dataFieldType": "NATIVE",
              "dataFieldValue": "string",
              "dataItemType": "WRITTEN_OFF_LOANS",
              "dataType": "ENUM",
              "encodedKey": "string",
              "filterElement": "STARTS_WITH_CASE_SENSITIVE",
              "groupNumber": 0,
              "index": 0,
              "linkingOperator": "OR",
              "secondValue": "string",
              "value": "string"
            },
            "encodedKey": "string",
            "id": "string",
            "score": 0,
            "value": "string"
          }
        ],
        "customFieldSet": {
          "builtInType": "DETAILS",
          "createdDate": "string",
          "customFields": [
            {}
          ],
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "lastModifiedDate": "string",
          "name": "string",
          "notes": "string",
          "type": "USER_INFO",
          "usage": "SINGLE"
        },
        "dataType": "GROUP_LINK",
        "description": "string",
        "editRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        },
        "encodedKey": "string",
        "id": "string",
        "indexInList": 0,
        "isDefault": true,
        "isRequired": true,
        "lastModifiedDate": "string",
        "name": "string",
        "state": "DEACTIVATED",
        "type": "USER_INFO",
        "unique": true,
        "validationPattern": "string",
        "valueLength": "SHORT",
        "values": [
          "string"
        ],
        "viewRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        }
      },
      "customFieldID": "string",
      "customFieldKey": "string",
      "customFieldSetGroupIndex": 0,
      "encodedKey": "string",
      "indexInList": 0,
      "linkedEntityKeyValue": "string",
      "parentKey": "string",
      "selectionKey": "string",
      "value": "string"
    }
  ],
  "encodedKey": "string",
  "feesDue": 0,
  "holdBalance": 0,
  "id": "string",
  "interestDue": 0,
  "interestPaymentDates": [
    {
      "dayOfMonth": 0,
      "monthOfYear": 0,
      "year": 0
    }
  ],
  "interestPaymentPoint": "EVERY_WEEK",
  "interestSettings": {
    "accrueInterestAfterMaturity": true,
    "encodedKey": "string",
    "interestChargeFrequency": "EVERY_WEEK",
    "interestChargeFrequencyCount": 0,
    "interestRate": 0,
    "interestRateReviewCount": 0,
    "interestRateReviewUnit": "MONTHS",
    "interestRateSource": "FIXED_INTEREST_RATE",
    "interestRateTerms": "TIERED_PERIOD",
    "interestRateTiers": [
      {
        "encodedKey": "string",
        "endingBalance": 0,
        "endingDay": 0,
        "index": 0,
        "interestRate": 0
      }
    ],
    "interestSpread": 0
  },
  "lastAccountAppraisalDate": "string",
  "lastInterestCalculationDate": "string",
  "lastInterestStoredDate": "string",
  "lastModifiedDate": "string",
  "lastOverdraftInterestReviewDate": "string",
  "lastSetToArrearsDate": "string",
  "lineOfCreditKey": "string",
  "lockedBalance": 0,
  "lockedDate": "string",
  "maturityDate": "string",
  "maxWidthdrawlAmount": 0,
  "migrationEvent": {
    "creationDate": "string",
    "encodedKey": "string",
    "numCentresImported": 0,
    "numClientsImported": 0,
    "numGLAccountsImported": 0,
    "numGroupsImported": 0,
    "numLoanRepaymentsImported": 0,
    "numLoanTransactionsImported": 0,
    "numLoansImported": 0,
    "numSavingsImported": 0,
    "state": "REVERTED",
    "type": "IMPORT"
  },
  "name": "string",
  "notes": "string",
  "overdraftAmount": 0,
  "overdraftExpiryDate": "string",
  "overdraftExpiryDateDTO": {
    "dayOfMonth": 0,
    "monthOfYear": 0,
    "year": 0
  },
  "overdraftInterestAccrued": 0,
  "overdraftInterestSettings": {
    "accrueInterestAfterMaturity": true,
    "encodedKey": "string",
    "interestChargeFrequency": "EVERY_WEEK",
    "interestChargeFrequencyCount": 0,
    "interestRate": 0,
    "interestRateReviewCount": 0,
    "interestRateReviewUnit": "MONTHS",
    "interestRateSource": "FIXED_INTEREST_RATE",
    "interestRateTerms": "TIERED_PERIOD",
    "interestRateTiers": [
      {
        "encodedKey": "string",
        "endingBalance": 0,
        "endingDay": 0,
        "index": 0,
        "interestRate": 0
      }
    ],
    "interestSpread": 0
  },
  "overdraftLimit": 0,
  "productTypeKey": "string",
  "recommendedDepositAmount": 0,
  "targetAmount": 0,
  "technicalInterestDue": 0,
  "technicalOverdraftAmount": 0,
  "technicalOverdraftInterestAccrued": 0,
  "withholdingTaxSourceKey": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKokSavingsAccountApiV1

Currencies

Retrieve currency information which the organization is using for its accounts. Can retrieve a list of currencies or a specific one by code.

Get all Currencies

GET /currencies

List all currencies

Retrieves currencies used by the organization. By default only base currencies will be returned.

Parameters

NameTypeDescriptionInRequired
includeForeignbooleanWhether to include foreign currencies supported by the organizationqueryfalse

Example Responses

200 : ok
a list of currencies including non-base currencies

[
  {
    "code": "USD",
    "name": "United States dollar",
    "symbol": "$",
    "digitsAfterDecimal": 2,
    "currencySymbolPosition": "BEFORE_NUMBER",
    "isBaseCurrency": true,
    "creationDate": "2016-05-24T16:51:12+0000",
    "lastModifiedDate": "2016-05-24T16:51:12+0000"
  },
  {
    "code": "RON",
    "name": "Romanian new leu",
    "symbol": "lei",
    "digitsAfterDecimal": 2,
    "currencySymbolPosition": "BEFORE_NUMBER",
    "isBaseCurrency": false,
    "creationDate": "2016-05-24T14:20:41+0000",
    "lastModifiedDate": "2016-05-24T14:20:41+0000"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[CurrencyApiV1]nonefalsenone
» codestringnonefalsenone
» creationDatestringnonefalsenone
» currencySymbolPositionstringnonefalsenone
» digitsAfterDecimalnumbernonefalsenone
» isBaseCurrencybooleannonefalsenone
» lastModifiedDatestringnonefalsenone
» namestringnonefalsenone
» symbolstringnonefalsenone

Enumerated Values

PropertyValue
currencySymbolPositionAFTER_NUMBER
currencySymbolPositionBEFORE_NUMBER

Get Currency by ISO Code

GET /currencies/{currencyCode}

Get a single currency

get a currency by id

Parameters

NameTypeDescriptionInRequired
currencyCodestringnonepathtrue

Example Responses

200 Response

{
  "code": "string",
  "creationDate": "string",
  "currencySymbolPosition": "AFTER_NUMBER",
  "digitsAfterDecimal": 0,
  "isBaseCurrency": true,
  "lastModifiedDate": "string",
  "name": "string",
  "symbol": "string"
}

404 : Not Found
bad currency code

{
  "returnCode": 650,
  "returnStatus": "INVALID_CURRENCY_CODE"
}

Responses

StatusMeaningDescriptionSchema
200OKokCurrencyApiV1
404Not FoundNot FoundInline

Response Schema

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Get Currency Exchange Rates

GET /currencies/{currencyCode}/rates

List Currency Rates

Retrieves currency's exchange rates. If both from and to parameters are specified, it returns the list of exchange rates that start in/after from date or before(exclusive) to date.

Parameters

NameTypeDescriptionInRequired
offsetintegerThe start index of the returned exchange rates list.queryfalse
limitintegerThe number of elements to be returned.queryfalse
fromstring(date)From (start) date to retrieve the exchange rates.queryfalse
tostring(date)To (end) date to retrieve the exchange rates.queryfalse
currencyCodestringthe three letter ISO code of the currency forpathtrue

Example Responses

200 : ok
EUR/ARS exchange rate

[
  {
    "encodedKey": "8a19cd6f74674df90174681f214103d3",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "fromCurrencyCode": "EUR",
    "toCurrencyCode": "ARS",
    "buyRate": "0.0113653",
    "sellRate": "87.9872",
    "startDate": "2020-09-07T15:24:11+0000"
  }
]

400 : Bad Request
buy and sell rate values switched

{
  "returnCode": 656,
  "returnStatus": "BUY_RATE_GREATER_THAN_SELL_RATE"
}

404 : Not Found
bad currency code

{
  "returnCode": 650,
  "returnStatus": "INVALID_CURRENCY_CODE"
}

Responses

StatusMeaningDescriptionSchema
200OKokInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[ExchangeRateApiV1]nonefalsenone
» buyRatenumberThe amount the currency will be bought from base currency.truenone
» encodedKeystringa unique key for this exchange ratefalsenone
» endDatestring(date-time)the date and time at which this rate was replaced by a newer onefalsenone
» fromCurrencyCodestringthe currency code from which the currency will be exchangedfalsenone
» sellRatenumberThe amount the currency will be sold to base currency.truenone
» startDatestring(date-time)The date from which the exchange rate will be valid. Must not be in the future or before the latest exchange rate's (for that currency) start date. If not provided, the organization current date and time will be used.truenone
» toCurrencyCodestringthe currency code into which the currency will be exchangedfalsenone
» userKeystringthe encoded key of the user who created the exchange ratefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Update Currency Exchange Rate

POST /currencies/{currencyCode}/rates

Set or update exchange rate

Stores a new exchange rate for a given currency.

Example requests

exchange rate

{
  "buyRate": "0.0113420",
  "sellRate": "86.0342"
}

Parameters

NameTypeDescriptionInRequired
bodyCreateExchangeRateApiV1Post new currency exchange rate with optional validity start datebodyfalse
currencyCodestringthe three letter ISO code of the currency forpathtrue

Responses

StatusMeaningDescriptionSchema
200OKOKNone

Custom Field Sets

Allows you to retrieve the defined custom field sets.

Get Custom Field Sets

GET /customfieldsets

List Custom Field Sets

Allows retrieving of a list custom field sets that can be optionaly filtered by type. If a given type has no fields, an empty array will be returned.

Parameters

NameTypeDescriptionInRequired
typestringFilter by entity typequeryfalse

Enumerated Values

ParameterValue
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO

Example Responses

200 Response

[
  {
    "builtInType": "DETAILS",
    "createdDate": "string",
    "customFields": [
      {
        "amounts": {
          "property1": 0,
          "property2": 0
        },
        "builtInCustomFieldId": "MOBILE_PHONE",
        "creationDate": "string",
        "customFieldProductSettings": [
          {
            "customFieldEncodedKey": "string",
            "encodedKey": "string",
            "isDefault": true,
            "isRequired": true,
            "linkType": "CLIENT_ROLE",
            "productKey": "string"
          }
        ],
        "customFieldSelectionOptions": [
          {
            "constraint": {
              "customFieldKey": "string",
              "dataFieldType": "NATIVE",
              "dataFieldValue": "string",
              "dataItemType": "WRITTEN_OFF_LOANS",
              "dataType": "ENUM",
              "encodedKey": "string",
              "filterElement": "STARTS_WITH_CASE_SENSITIVE",
              "groupNumber": 0,
              "index": 0,
              "linkingOperator": "OR",
              "secondValue": "string",
              "value": "string"
            },
            "encodedKey": "string",
            "id": "string",
            "score": 0,
            "value": "string"
          }
        ],
        "customFieldSet": {},
        "dataType": "GROUP_LINK",
        "description": "string",
        "editRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        },
        "encodedKey": "string",
        "id": "string",
        "indexInList": 0,
        "isDefault": true,
        "isRequired": true,
        "lastModifiedDate": "string",
        "name": "string",
        "state": "DEACTIVATED",
        "type": "USER_INFO",
        "unique": true,
        "validationPattern": "string",
        "valueLength": "SHORT",
        "values": [
          "string"
        ],
        "viewRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        }
      }
    ],
    "encodedKey": "string",
    "id": "string",
    "indexInList": 0,
    "lastModifiedDate": "string",
    "name": "string",
    "notes": "string",
    "type": "USER_INFO",
    "usage": "SINGLE"
  }
]

400 : Bad Request
bad type filter

{
  "returnCode": 4,
  "returnStatus": "INVALID_PARAMETERS",
  "errorSource": "there is a problem with the input parameters"
}

Responses

StatusMeaningDescriptionSchema
200OKokInline
400Bad RequestBad RequestInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[CustomFieldSetApiV1]nonefalsenone
» builtInTypestringnonefalsenone
» createdDatestringnonefalsenone
» customFields[CustomFieldApiV1]nonefalsenone
»» amountsobjectnonefalsenone
»»» additionalPropertiesnumbernonefalsenone
»» builtInCustomFieldIdstringnonefalsenone
»» creationDatestringnonefalsenone
»» customFieldProductSettings[CustomFieldLinkApiV1]nonefalsenone
»»» customFieldEncodedKeystringnonefalsenone
»»» encodedKeystringnonefalsenone
»»» isDefaultbooleannonefalsenone
»»» isRequiredbooleannonefalsenone
»»» linkTypestringnonefalsenone
»»» productKeystringnonefalsenone
»» customFieldSelectionOptions[CustomFieldSelectionApiV1]nonefalsenone
»»» constraintCustomFilterConstraintApiV1nonefalsenone
»»»» customFieldKeystringnonefalsenone
»»»» dataFieldTypestringnonefalsenone
»»»» dataFieldValuestringnonefalsenone
»»»» dataItemTypestringnonefalsenone
»»»» dataTypestringnonefalsenone
»»»» encodedKeystringnonefalsenone
»»»» filterElementstringnonefalsenone
»»»» groupNumbernumbernonefalsenone
»»»» indexnumbernonefalsenone
»»»» linkingOperatorstringnonefalsenone
»»»» secondValuestringnonefalsenone
»»»» valuestringnonefalsenone
»»» encodedKeystringnonefalsenone
»»» idstringnonefalsenone
»»» scorenumbernonefalsenone
»»» valuestringnonefalsenone
»» customFieldSetCustomFieldSetApiV1nonefalsenone
»» dataTypestringnonefalsenone
»» descriptionstringnonefalsenone
»» editRightsUsageRightsApiV1nonefalsenone
»»» encodedKeystringnonefalsenone
»»» isAccessibleByAllUsersbooleannonefalsenone
»»» roles[string]nonefalsenone
»» encodedKeystringnonefalsenone
»» idstringnonefalsenone
»» indexInListnumbernonefalsenone
»» isDefaultbooleannonefalsenone
»» isRequiredbooleannonefalsenone
»» lastModifiedDatestringnonefalsenone
»» namestringnonefalsenone
»» statestringnonefalsenone
»» typestringnonefalsenone
»» uniquebooleannonefalsenone
»» validationPatternstringnonefalsenone
»» valueLengthstringnonefalsenone
»» values[string]nonefalsenone
»» viewRightsUsageRightsApiV1nonefalsenone
» encodedKeystringnonefalsenone
» idstringnonefalsenone
» indexInListnumbernonefalsenone
» lastModifiedDatestringnonefalsenone
» namestringnonefalsenone
» notesstringnonefalsenone
» typestringnonefalsenone
» usagestringnonefalsenone

Enumerated Values

PropertyValue
builtInTypeDETAILS
builtInTypeGENERAL
builtInCustomFieldIdMOBILE_PHONE
builtInCustomFieldIdEMAIL_ADDRESS
builtInCustomFieldIdGENDER
builtInCustomFieldIdMIDDLE_NAME
builtInCustomFieldIdHOME_PHONE
builtInCustomFieldIdBIRTHDATE
builtInCustomFieldIdLAST_NAME
builtInCustomFieldIdFIRST_NAME
linkTypeCLIENT_ROLE
linkTypeCHANNEL
linkTypePRODUCT
dataFieldTypeNATIVE
dataFieldTypeCUSTOM
dataItemTypeWRITTEN_OFF_LOANS
dataItemTypeLINE_OF_CREDIT
dataItemTypeINVESTOR_FUND
dataItemTypeTRANSACTION_DETAILS
dataItemTypeDOCUMENT_TEMPLATE
dataItemTypePRODUCT
dataItemTypeMCC_EXPIRATION
dataItemTypeCENTRE
dataItemTypeREPAYMENT_COLLECTION
dataItemTypeTASK
dataItemTypeOUTSTANDING_PORTFOLIO_AMOUNTS
dataItemTypeREVENUE
dataItemTypeCOMPOSED_TRANSACTIONS
dataItemTypeUNION_TRANSACTIONS
dataItemTypePRINCIPAL_PAYMENT_SETTINGS
dataItemTypeLOANS
dataItemTypeDISBURSEMENT_DETAILS
dataItemTypeSAVINGS_TRANSACTION
dataItemTypeIDENTIFICATION_DOCUMENT
dataItemTypeLOAN_PRODUCT
dataItemTypeDISBURSED_LOANS
dataItemTypeLOAN_GROUP
dataItemTypeTRANSACTION_CHANNEL
dataItemTypeCUSTOM_PREDEFINED_FEE
dataItemTypeJOURNAL_ENTRY
dataItemTypeATTACHMENT
dataItemTypePREDEFINED_FEE
dataItemTypeTRANCHE
dataItemTypeTRANSACTION
dataItemTypeINDEX_RATE_SOURCE
dataItemTypeGROUP_ROLE
dataItemTypeLOAN_TRANSACTION
dataItemTypeCLIENT_ROLE
dataItemTypeGROUP
dataItemTypeNOTIFICATION_MESSAGE
dataItemTypeOUTSTANDING_PORTFOLIO_ACCOUNTS
dataItemTypeREPAYMENT
dataItemTypeLOAN_ACCOUNT_GUARANTY
dataItemTypeBRANCH
dataItemTypeCURRENCY
dataItemTypeCARD_TRANSACTION_REVERSAL
dataItemTypeINTEREST_PRODUCT_SETTINGS
dataItemTypeCREATED_ACCOUNTS
dataItemTypeUSER
dataItemTypeSAVINGS_PRODUCT
dataItemTypeCLIENT
dataItemTypePRODUCT_ARREARS_SETTINGS
dataItemTypeSAVINGS
dataItemTypeEXPENSE
dataItemTypeINDEX_RATE
dataItemTypeNOTIFICATION_TEMPLATE
dataItemTypeCUSTOM_FIELD_SELECTION
dataItemTypeACTIVITY
dataTypeENUM
dataTypeMONEY
dataTypeNUMBER
dataTypeDATE_UTC
dataTypeJAVA_BLOB
dataTypeOBJECT
dataTypeBOOLEAN
dataTypeDATE
dataTypePERCENT
dataTypeBIG_DECIMAL
dataTypeSTRING
dataTypeKEY
dataTypeLONG
filterElementSTARTS_WITH_CASE_SENSITIVE
filterElementTHIS_WEEK
filterElementEQUALS
filterElementSTARTS_WITH
filterElementIN
filterElementTODAY
filterElementTHIS_YEAR
filterElementBETWEEN
filterElementAFTER
filterElementLESS_THAN
filterElementDIFFERENT_THAN
filterElementTHIS_MONTH
filterElementNOT_EMPTY
filterElementBEFORE
filterElementEQUALS_CASE_SENSITIVE
filterElementLAST_DAYS
filterElementMORE_THAN
filterElementEMPTY
filterElementON
linkingOperatorOR
linkingOperatorAND
dataTypeGROUP_LINK
dataTypeDATE
dataTypeNUMBER
dataTypeCHECKBOX
dataTypeCLIENT_LINK
dataTypeSTRING
dataTypeUSER_LINK
dataTypeSELECTION
stateDEACTIVATED
stateNORMAL
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
valueLengthSHORT
valueLengthLONG
typeUSER_INFO
typeASSET_INFO
typeCLIENT_INFO
typeLINE_OF_CREDIT
typeGROUP_INFO
typeTRANSACTION_CHANNEL_INFO
typeBRANCH_INFO
typeSAVINGS_ACCOUNT_INFO
typeLOAN_ACCOUNT_INFO
typeGUARANTOR_INFO
typeCENTRE_INFO
usageSINGLE
usageGROUPED

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Custom Fields

Allows you to retrieve the defined custom fields. A custom field can be a member of a set.

Get Custom Field Details

GET /customfields/{customFieldId}

Get details on a Custom Field

Allows retrieving of a custom field based on id/key. The custom field can be fetched only based on id/key.

Parameters

NameTypeDescriptionInRequired
customFieldIdstringnonepathtrue

Example Responses

200 : ok
Response containing the custom field with JOB_TITLE id

{
  "encodedKey": "8a54e5b44449337f01444a6db5d40006",
  "id": "JOB_TITLE",
  "name": "Current Job Title",
  "type": "CLIENT_INFO",
  "dataType": "STRING",
  "valueLength": "LONG",
  "isDefault": true,
  "isRequired": true,
  "description": "The current job title for the client.",
  "indexInList": 8,
  "state": "NORMAL"
}

Responses

StatusMeaningDescriptionSchema
200OKokCustomFieldApiV1

Database Backups

Allows API users to trigger Mambu database backups and download them once they are ready.

Execution flow example

  1. Use POST call to request the database backup to be generated and register/define the callback endpoint.
    • This call triggers the database copy creation, which is a prerequisite to download a backup
    • The callback parameter is not required but recommended
  2. If a callback parameter is defined, a callback will be sent to the endpoint, confirming that step 1 has been completed and that the database backup can be downloaded.
    • The response to this callback should be OK (200)
    • The endpoint is useful to ensure that the creation process has finished and step 3 can be performed
  3. Use a GET call to request the download of the database backup.
    • If an endpoint is defined, it can be triggered immediately after the callback (step 2) is received
    • If there is no endpoint defined, please wait several minutes, up to one hour (depending on the size of your database), to allow Mambu some time to finish the creation of the database from step 1.

Required permissions:

Initiate Database Backup

POST /database/backup

Initiate database backup

Allow the trigger of database backups. The developer can be notified via a callback defined in the POST call when the backup is ready.

You can provide the callback either in the json body or as a query parameter.

After the database backup process is completed, the following payload will be sent to the callback url provided:

{
    "tenantId":"demo",
    "result":"COMPLETE",
    "domain":"demo.mambu.com",
    "fileName":"demo-MANUAL-DATABASE-BACKUP"
}

Required permissions:

Please Note:

While a backup is in progress, Mambu will not allow starting another one. If you need to create backups after Mambu's nightly processing, you can setup the "End of Day Processing" / "Accounts Updated" WebHook in Mambu to get notified and then trigger the backup request with this API.

Example requests

example callback to php script

{
  "callback": "https://path.to/myserver?callback.php"
}

Parameters

NameTypeDescriptionInRequired
callbackstringURL encoded callbackqueryfalse
callbackstring(uri)A valid URL. It will receive a WebHook call from Mambu once the backup is available (Optional).bodyfalse

Example Responses

200 : OK
Success reponse

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Get Latest Database Backup

GET /database/backup/LATEST

Download latest backup

Download the latest database backup that was triggered via the POST call.

The response headers will contain more information about the backup:

Required permissions:

Example Responses

400 : No current backup
no current backup

400 Response

{}

Responses

StatusMeaningDescriptionSchema
200OKOKNone
400Bad RequestNo current backupInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Response Headers

StatusHeaderTypeFormatDescription
200Content-Dispositionstringnone
200Content-Typestringnone
200Last Modifiedstringthe date when the database backup execution finished

Documents

Allows you to get, post or delete attachments.

Attach new Document

POST /documents

Add attachment to entity

Allow for adding attachments to a client or account. The request should include a JSON encoding of the data being pushed including the documentHolderType (e.g. CLIENT) and documentHolderKey as well as the base64 encoded document body.

Example requests

a user photo

{
  "document": {
    "documentHolderKey": "40288a0c3e3cfb4e013e3d00bbzxcvs",
    "documentHolderType": "USER",
    "name": "john_photo",
    "type": "jpg"
  },
  "documentContent": "[base64encodedString]"
}

Parameters

NameTypeDescriptionInRequired
bodyCreateDocumentApiV1a new documentbodyfalse

Example Responses

200 : OK
Details on an uploaded attachment

{
  "encodedKey": "8aa0f78f444f763601444f7fb89e0001",
  "id": 1,
  "creationDate": "2014-02-20T13:32:54+0000",
  "lastModifiedDate": "2014-02-20T13:32:54+0000",
  "documentHolderKey": "8a33ae49441c4fe101441c7149cb00fe",
  "documentHolderType": "CLIENT",
  "name": "document",
  "type": "doc",
  "fileSize": 14,
  "originalFilename": "document",
  "location": "8aa0f78f444f763601444f7fb89e0001",
  "createdByUserKey": "8a33ae49441c4fe101441c5fe42f0005"
}

400 : Bad Request
wrong content type specified

{
  "returnCode": 973,
  "returnStatus": "INCONSISTENT_EXTENSION_WITH_FILE_CONTENT",
  "errorSource": "Invalid extension with file content"
}

Responses

StatusMeaningDescriptionSchema
200OKOKDocumentApiV1
400Bad RequestBad RequestInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Get Documents

GET /documents

Get documents

Allows retrieving a list of documents descriptions based on the owner id/key or type. Documents will be returned as with base64 encoded string. The list of document descriptions can be paginated.

Parameters

NameTypeDescriptionInRequired
ownerTypestringThe type of entity holding the documentsquerytrue
ownerIdstringthe ID or encoded key of the entityquerytrue

Enumerated Values

ParameterValue
ownerTypeCLIENT
ownerTypeGROUP
ownerTypeLOAN_ACCOUNT
ownerTypeSAVINGS_ACCOUNT
ownerTypeLOAN_PRODUCT
ownerTypeSAVINGS_PRODUCT
ownerTypeUSER
ownerTypeCENTRE
ownerTypeBRANCH

Example Responses

200 : OK
an array of documents for a loan account

[
  {
    "encodedKey": "8a19c035747bf5b901747d09c578035e",
    "id": 57,
    "creationDate": "2020-09-11T12:30:13+0000",
    "lastModifiedDate": "2020-09-11T12:30:13+0000",
    "documentHolderKey": "8a19b6e4746cc6ed01746cf1436c00c5",
    "documentHolderType": "LOAN_ACCOUNT",
    "name": "texx",
    "type": "txt",
    "fileSize": 14,
    "originalFilename": "test.txt",
    "location": "OZAYCTQRLNPDSDWKMPARVPHLFYHVFO",
    "description": "a text file",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "Happy Go Lucky",
    "documentHolder": {
      "type": "LOAN",
      "holderKey": "8a193c26722b51b701722d77c5e423b7",
      "accountHolderType": "CLIENT",
      "encodedKey": "8a19b6e4746cc6ed01746cf1436c00c5",
      "displayName": "BLBE564"
    }
  },
  {
    "encodedKey": "8a19c035747bf5b901747c77d78e01c6",
    "id": 54,
    "creationDate": "2020-09-11T11:51:22+0000",
    "lastModifiedDate": "2020-09-11T11:51:22+0000",
    "documentHolderKey": "8a19b6e4746cc6ed01746cf1436c00c5",
    "documentHolderType": "LOAN_ACCOUNT",
    "name": "some other image",
    "type": "png",
    "fileSize": 32109,
    "originalFilename": "some_other_image.png",
    "location": "NCYBXXEJCZBQVHAEAJTPITEGUBVXRO",
    "description": "this is another image file",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "Holly Go Lightly",
    "documentHolder": {
      "type": "LOAN",
      "holderKey": "8a193c26722b51b701722d77c5e423b7",
      "accountHolderType": "CLIENT",
      "encodedKey": "8a19b6e4746cc6ed01746cf1436c00c5",
      "displayName": "BLBE564"
    }
  },
  {
    "encodedKey": "8a19c035747bf5b901747c77d78e01c4",
    "id": 53,
    "creationDate": "2020-09-11T11:39:33+0000",
    "lastModifiedDate": "2020-09-11T11:39:33+0000",
    "documentHolderKey": "8a19b6e4746cc6ed01746cf1436c00c5",
    "documentHolderType": "LOAN_ACCOUNT",
    "name": "file for loan account",
    "type": "png",
    "fileSize": 8258,
    "originalFilename": "Screenshot_2020-04-22_at_14.31.29.png",
    "location": "FCLRPXHUTCXURCALXAIFESFUURNUBR",
    "description": "a file attached to a loan account",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "Go Go Gadget",
    "documentHolder": {
      "type": "LOAN",
      "holderKey": "8a193c26722b51b701722d77c5e423b7",
      "accountHolderType": "CLIENT",
      "encodedKey": "8a19b6e4746cc6ed01746cf1436c00c5",
      "displayName": "BLBE564"
    }
  },
  {
    "encodedKey": "8a19a3337476f2d00174775b6a3001b0",
    "id": 44,
    "creationDate": "2020-09-10T09:34:51+0000",
    "lastModifiedDate": "2020-09-10T09:34:51+0000",
    "documentHolderKey": "8a19b6e4746cc6ed01746cf1436c00c5",
    "documentHolderType": "LOAN_ACCOUNT",
    "name": "loan acc doc",
    "type": "png",
    "fileSize": 15028,
    "originalFilename": "additional_reading_callout.png",
    "location": "UTOLWAEQURRYFNBIPNUXXFEXBCPKQR",
    "description": "desc loan acc doc",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "Train Go Choo Choo",
    "documentHolder": {
      "type": "LOAN",
      "holderKey": "8a193c26722b51b701722d77c5e423b7",
      "accountHolderType": "CLIENT",
      "encodedKey": "8a19b6e4746cc6ed01746cf1436c00c5",
      "displayName": "BLBE564"
    }
  }
]

400 : Bad Request
bad ID

{
  "returnCode": 4,
  "returnStatus": "INVALID_PARAMETERS",
  "errorSource": "wrong owner id"
}

500 : Internal Server Error
bad value for ownerType parameter

{
  "returnCode": 6,
  "returnStatus": "INTERNAL_ERROR"
}

Responses

StatusMeaningDescriptionSchema
200OKOKDocumentForAccountApiV1
400Bad RequestBad RequestExecutionStatusApiV1
500Internal Server ErrorInternal Server ErrorExecutionStatusApiV1

Get Document by ID

GET /documents/{documentId}

Get Document by ID

Allows retrieving the content of a document encoded with base64 based on the document id/key.

Parameters

NameTypeDescriptionInRequired
documentIdstringthe ID (encoded key) of the documentpathtrue

Example Responses

200 : OK
example base64 encoded document

"dGhhbmtzIGZvciBjaGVja2luZywgd2UncmUgYWxsIGZpbmUgaGVyZQ"

400 : Bad Request
bad Document ID

{
  "returnCode": 970,
  "returnStatus": "INVALID_DOCUMENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKstring
400Bad RequestBad RequestExecutionStatusApiV1

Delete Document

DELETE /documents/{documentId}

Delete a Document

Allows the deletion of attachments based on id/encoded key.

Parameters

NameTypeDescriptionInRequired
documentIdstringthe ID (encoded key) of the documentpathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

403 : Forbidden
account lacks required permissions

{
  "returnCode": 2,
  "returnStatus": "INVALID_CREDENTIALS"
}

404 : Not Found
bad Document ID

{
  "returnCode": 970,
  "returnStatus": "INVALID_DOCUMENT_ID"
}

503 : Service Unavailable
account is blocked

{
  "returnCode": 24,
  "returnStatus": "EXCESSIVE_INVALID_REQUESTS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKExecutionStatusApiV1
403ForbiddenForbiddenExecutionStatusApiV1
404Not FoundNot FoundExecutionStatusApiV1
503Service UnavailableService UnavailableExecutionStatusApiV1

GL Journal Entries

Allows you to retrieve or post gl journal entries in the Mambu accounting system.

Create new GL Journal Entry

POST /gljournalentries

Create new GL Journal Entries

Manually post GL journal entries to any number of debit and credit accounts. Any number of journal entries may be posted with a given date and branch as long as the standard accounting rules apply.

Any number of paramaters may be specified in the syntax of debitAccountX & debitAmountX and creditAccountX & creditAmountX where X is the posting account index. At least one debit and credit account must be specified.

Example requests

POST /api/gljournalentries?branchId=2&date=2010-02-03&debitAccount1=100001&debitAmount1=30&creditAccount1=100002&creditAmount1=30

Parameters

NameTypeDescriptionInRequired
datestring(date)The date of the posting of the journal entry.querytrue
branchIDstringThe branch ID to post the journal entries to.queryfalse
notesstringAny optional GL Journal entries notes.queryfalse
debitAmount{x}stringThe amount of the posting debit entry.querytrue
creditAmount{x}stringThe amount of the posting credit entry.querytrue
bookingDatestring(date)The date on which the Journal Entry should be recorded.queryfalse
debitAccount{x}stringThe code of the GL Account to post debit entry to.querytrue
transactionIDstringThe unique transaction identifier. Will be auto generated if not provided.queryfalse
creditAccount{x}stringThe code of the GL Account to post debit entry to.querytrue

Example Responses

201 : ok
Newly created GL Journal Entries

[
  {
    "encodedKey": "8a19b592746765a5017468fb932f0732",
    "entryID": 101,
    "creationDate": "2020-09-07T15:06:18+0000",
    "entryDate": "2020-09-05T00:00:00+0000",
    "transactionID": "773DJI15WD318",
    "amount": 30,
    "glAccount": {
      "encodedKey": "8a193c26722b51b701722d77cdaa26c6",
      "creationDate": "2020-05-19T15:05:26+0000",
      "lastModifiedDate": "2020-05-19T15:05:26+0000",
      "glCode": "52100",
      "type": "INCOME",
      "usage": "DETAIL",
      "name": "Penalties & Fines",
      "activated": true,
      "allowManualJournalEntries": true,
      "stripTrailingZeros": true,
      "currency": {
        "code": "EUR",
        "name": "Euro",
        "symbol": "€",
        "digitsAfterDecimal": 2,
        "currencySymbolPosition": "BEFORE_NUMBER",
        "isBaseCurrency": true,
        "creationDate": "2020-05-18T08:53:31+0000",
        "lastModifiedDate": "2020-05-18T08:53:31+0000"
      }
    },
    "type": "DEBIT",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "bookingDate": "2020-09-05T00:00:00+0000"
  },
  {
    "encodedKey": "8a19b592746765a5017468fb932f0733",
    "entryID": 102,
    "creationDate": "2020-09-07T15:06:18+0000",
    "entryDate": "2020-09-05T00:00:00+0000",
    "transactionID": "773DJI15WD318",
    "amount": 5,
    "glAccount": {
      "encodedKey": "8a193c26722b51b701722d77cd9e26c2",
      "creationDate": "2020-05-19T15:05:26+0000",
      "lastModifiedDate": "2020-05-19T15:05:26+0000",
      "glCode": "51100",
      "type": "INCOME",
      "usage": "DETAIL",
      "name": "Interest from Loans",
      "activated": true,
      "allowManualJournalEntries": true,
      "stripTrailingZeros": true,
      "currency": {
        "code": "EUR",
        "name": "Euro",
        "symbol": "€",
        "digitsAfterDecimal": 2,
        "currencySymbolPosition": "BEFORE_NUMBER",
        "isBaseCurrency": true,
        "creationDate": "2020-05-18T08:53:31+0000",
        "lastModifiedDate": "2020-05-18T08:53:31+0000"
      }
    },
    "type": "CREDIT",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "bookingDate": "2020-09-05T00:00:00+0000"
  },
  {
    "encodedKey": "8a19b592746765a5017468fb932f0734",
    "entryID": 103,
    "creationDate": "2020-09-07T15:06:18+0000",
    "entryDate": "2020-09-05T00:00:00+0000",
    "transactionID": "773DJI15WD318",
    "amount": 25,
    "glAccount": {
      "encodedKey": "8a193c26722b51b701722d77cdc826d4",
      "creationDate": "2020-05-19T15:05:26+0000",
      "lastModifiedDate": "2020-05-19T15:05:26+0000",
      "glCode": "22000",
      "type": "LIABILITY",
      "usage": "DETAIL",
      "name": "Client Savings",
      "activated": true,
      "allowManualJournalEntries": true,
      "stripTrailingZeros": true,
      "currency": {
        "code": "EUR",
        "name": "Euro",
        "symbol": "€",
        "digitsAfterDecimal": 2,
        "currencySymbolPosition": "BEFORE_NUMBER",
        "isBaseCurrency": true,
        "creationDate": "2020-05-18T08:53:31+0000",
        "lastModifiedDate": "2020-05-18T08:53:31+0000"
      }
    },
    "type": "CREDIT",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "bookingDate": "2020-09-05T00:00:00+0000"
  }
]

400 : Bad Request
invalid GL Account ID

{
  "returnCode": "600",
  "returnStatus": "INVALID_GL_ACCOUNT_ID"
}

Responses

StatusMeaningDescriptionSchema
201CreatedokInline
400Bad RequestBad RequestInline

Response Schema

Status Code 201

NameTypeDescriptionRequiredRestrictions
anonymous[GLJournalEntryApiV1]nonefalsenone
» accountKeystringnonefalsenone
» amountnumbernonefalsenone
» assignedBranchKeystringnonefalsenone
» bookingDatestringnonefalsenone
» creationDatestringnonefalsenone
» encodedKeystringnonefalsenone
» entryDatestringnonefalsenone
» entryIDnumbernonefalsenone
» glAccountGLAccountApiV1nonefalsenone
»» activatedbooleannonefalsenone
»» allowManualJournalEntriesbooleannonefalsenone
»» balancenumbernonefalsenone
»» creationDatestringnonefalsenone
»» currencyCurrencyApiV1nonefalsenone
»»» codestringnonefalsenone
»»» creationDatestringnonefalsenone
»»» currencySymbolPositionstringnonefalsenone
»»» digitsAfterDecimalnumbernonefalsenone
»»» isBaseCurrencybooleannonefalsenone
»»» lastModifiedDatestringnonefalsenone
»»» namestringnonefalsenone
»»» symbolstringnonefalsenone
»» descriptionstringnonefalsenone
»» encodedKeystringnonefalsenone
»» glCodestringnonefalsenone
»» lastModifiedDatestringnonefalsenone
»» migrationEventDataMigrationEventApiV1nonefalsenone
»»» creationDatestringnonefalsenone
»»» encodedKeystringnonefalsenone
»»» numCentresImportednumbernonefalsenone
»»» numClientsImportednumbernonefalsenone
»»» numGLAccountsImportednumbernonefalsenone
»»» numGroupsImportednumbernonefalsenone
»»» numLoanRepaymentsImportednumbernonefalsenone
»»» numLoanTransactionsImportednumbernonefalsenone
»»» numLoansImportednumbernonefalsenone
»»» numSavingsImportednumbernonefalsenone
»»» statestringnonefalsenone
»»» typestringnonefalsenone
»» namestringnonefalsenone
»» stripTrailingZerosbooleannonefalsenone
»» typestringnonefalsenone
»» usagestringnonefalsenone
» notesstringnonefalsenone
» productKeystringnonefalsenone
» productTypestringnonefalsenone
» reversalEntryKeystringnonefalsenone
» transactionIDstringnonefalsenone
» typestringnonefalsenone
» userKeystringnonefalsenone

Enumerated Values

PropertyValue
currencySymbolPositionAFTER_NUMBER
currencySymbolPositionBEFORE_NUMBER
stateREVERTED
stateDRAFT
stateAPPROVED
typeIMPORT
typeEXPORT
typeINCOME
typeEXPENSE
typeLIABILITY
typeASSET
typeEQUITY
usageHEADER
usageDETAIL
productTypeLOAN
productTypeSAVINGS
typeCREDIT
typeDEBIT

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Get all GL Journal Entries

GET /gljournalentries

List GL Journal Entries

Retrieve a list of GL journal entries filtered by branch and within a given date range.

Parameters

NameTypeDescriptionInRequired
fromstring(date)Start date - The first booking date you want to retrieve journal entries from.querytrue
tostring(date)End date - The last booking date you want to retrieve journal entries from.querytrue
branchIDstringThe branch ID to filter accounts on.queryfalse

Example Responses

200 : OK
a list of GL Journal Entries

[
  {
    "encodedKey": "8a42711a4428c1f101442ab778ff0add",
    "entryID": 3021,
    "creationDate": "2014-02-13T10:07:51+0000",
    "entryDate": "2014-02-13T00:00:00+0000",
    "transactionID": "281BUM86WV376",
    "accountKey": "8a17d0d84dbd8a73014dbdd9b7cf0420​",
    "productKey": "8a6c37aa4c20087a014c224058580465​",
    "productType": "LOAN",
    "amount": "3",
    "glAccount": {
      "encodedKey": "8a33ae49441c4fe101441c7157630374",
      "creationDate": "2014-02-10T15:36:33+0000",
      "lastModifiedDate": "2014-02-10T15:36:33+0000",
      "glCode": "11700",
      "type": "ASSET",
      "usage": "DETAIL",
      "name": "Interest Receivable",
      "activated": true,
      "allowManualJournalEntries": true
    },
    "type": "DEBIT",
    "userKey": "8a42711a4428c1f101442a50ba9807e4"
  },
  {
    "encodedKey": "8a42711a4428c1f101442ab778fe0adc",
    "entryID": 3020,
    "creationDate": "2014-02-13T10:07:51+0000",
    "entryDate": "2014-02-13T00:00:00+0000",
    "transactionID": "281BUM86WV376",
    "amount": "3",
    "glAccount": {
      "encodedKey": "8a33ae49441c4fe101441c715743036a",
      "creationDate": "2014-02-10T15:36:33+0000",
      "lastModifiedDate": "2014-02-10T15:36:33+0000",
      "glCode": "11100",
      "type": "ASSET",
      "usage": "DETAIL",
      "name": "Cash on Hand",
      "activated": true,
      "allowManualJournalEntries": true
    },
    "type": "CREDIT",
    "userKey": "8a42711a4428c1f101442a50ba9807e4"
  },
  {
    "encodedKey": "8a42711a4428c1f101442ab6cb0e0ad9",
    "entryID": 3019,
    "creationDate": "2014-02-13T10:07:06+0000",
    "entryDate": "2014-02-13T00:00:00+0000",
    "transactionID": "912RCS00HU811",
    "amount": "3",
    "glAccount": {
      "encodedKey": "8a33ae49441c4fe101441c7157630374",
      "creationDate": "2014-02-10T15:36:33+0000",
      "lastModifiedDate": "2014-02-10T15:36:33+0000",
      "glCode": "11700",
      "type": "ASSET",
      "usage": "DETAIL",
      "name": "Interest Receivable",
      "activated": true,
      "allowManualJournalEntries": true
    },
    "type": "CREDIT",
    "userKey": "8a42711a4428c1f101442a50ba9807e4",
    "reversalEntryKey": "8a42711a4428c1f101442ab778ff0add"
  },
  {
    "encodedKey": "8a42711a4428c1f101442ab6cb0c0ad8",
    "entryID": 3018,
    "creationDate": "2014-02-13T10:07:06+0000",
    "entryDate": "2014-02-13T00:00:00+0000",
    "transactionID": "912RCS00HU811",
    "amount": "3",
    "glAccount": {
      "encodedKey": "8a33ae49441c4fe101441c715743036a",
      "creationDate": "2014-02-10T15:36:33+0000",
      "lastModifiedDate": "2014-02-10T15:36:33+0000",
      "glCode": "11100",
      "type": "ASSET",
      "usage": "DETAIL",
      "name": "Cash on Hand",
      "activated": true,
      "allowManualJournalEntries": true
    },
    "type": "DEBIT",
    "userKey": "8a42711a4428c1f101442a50ba9807e4",
    "reversalEntryKey": "8a42711a4428c1f101442ab778fe0adc"
  }
]

400 : Bad Request
bad branch ID

{
  "returnCode": "800",
  "returnStatus": "INVALID_BRANCH_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[glJournalEntry]nonefalsenone
» glJournalEntryglJournalEntrynonefalsenone
»» notesstringnonefalsenone
»» amountstringnonefalsenone
»» bookingDatestring(date-time)nonefalsenone
»» creationDatestring(date-time)nonefalsenone
»» encodedKeystringnonefalsenone
»» entryDatestring(date-time)nonefalsenone
»» entryIDintegernonefalsenone
»» glAccountglAccountMinimalnonefalsenone
»»» activatedbooleannonefalsenone
»»» allowManualJournalEntriesbooleannonefalsenone
»»» creationDatestring(date-time)nonefalsenone
»»» encodedKeystringnonefalsenone
»»» glCodestringnonefalsenone
»»» lastModifiedDatestring(date-time)nonefalsenone
»»» namestringnonefalsenone
»»» stripTrailingZeroesbooleannonefalsenone
»»» typestringnonefalsenone
»»» usagestringnonefalsenone
»» transactionIDstringnonefalsenone
»» typestringnonefalsenone
»» userKeystringnonefalsenone

Enumerated Values

PropertyValue
typeASSET
typeLIABILITY
typeEQUITY
typeINCOME
typeEXPENSE
usageDETAIL
usageHEADER
typeDEBIT
typeCREDIT

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Search for GL Journal Entries

POST /gljournalentries/search

Search for GL Journal Entries

Retrieve GL journal entries using dynamic custom filters.

Available filter values

Filter Selection ParameterData Type
PRODUCT_TYPEENUM
GL_ACCOUNT_KEYKEY
USER_KEYKEY
ENCODED_KEYSTRING
ENTRY_IDNUMBER
DATEDATE
CREATION_DATEDATE
TRANSACTION_IDSTRING
GL_ACCOUNT_IDSTRING
GL_ACCOUNT_TYPEENUM
SOURCEENUM
DEBITMONEY
CREDITMONEY

Available filter elements

Filter ElementNumber Of affected valuesAvailable for
EQUALSONE_VALUEBIG_DECIMAL,BOOLEAN,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY
MORE_THANONE_VALUEBIG_DECIMAL,NUMBER,MONEY
LESS_THANONE_VALUEBIG_DECIMAL,NUMBER,MONEY
BETWEENTWO_VALUESBIG_DECIMAL,NUMBER,MONEY,DATE,DATE_UTC
ONONE_VALUEDATE,DATE_UTC
AFTERONE_VALUEDATE,DATE_UTC
BEFOREONE_VALUEDATE,DATE_UTC
STARTS_WITHONE_VALUESTRING
INLISTENUM,KEY
TODAYNO_VALUEDATE,DATE_UTC
THIS_WEEKNO_VALUEDATE,DATE_UTC
THIS_MONTHNO_VALUEDATE,DATE_UTC
THIS_YEARNO_VALUEDATE,DATE_UTC
LAST_DAYSONE_VALUEDATE,DATE_UTC
EMPTYNO_VALUEBIG_DECIMAL,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY,DATE,DATE_UTC
NOT_EMPTYNO_VALUEBIG_DECIMAL,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY,DATE,DATE_UTC

Example requests

a search

{
  "filterConstraints": [
    {
      "dataFieldType": "string",
      "dataItemType": "string",
      "filterElement": "string",
      "filterSelection": "string",
      "secondValue": "string",
      "value": "string",
      "values": [
        "string"
      ]
    }
  ],
  "sortDetails": {
    "dataFieldType": "string",
    "dataItemType": "string",
    "sortingColumn": "string",
    "sortingOrder": "string"
  }
}

Parameters

NameTypeDescriptionInRequired
offsetintegernonequeryfalse
limitintegernonequeryfalse
bodyFilterApiV1nonebodyfalse

Example Responses

200 Response

[
  {
    "accountKey": "string",
    "amount": 0,
    "assignedBranchKey": "string",
    "bookingDate": "string",
    "creationDate": "string",
    "encodedKey": "string",
    "entryDate": "string",
    "entryID": 0,
    "glAccount": {
      "activated": true,
      "allowManualJournalEntries": true,
      "balance": 0,
      "creationDate": "string",
      "currency": {
        "code": "string",
        "creationDate": "string",
        "currencySymbolPosition": "AFTER_NUMBER",
        "digitsAfterDecimal": 0,
        "isBaseCurrency": true,
        "lastModifiedDate": "string",
        "name": "string",
        "symbol": "string"
      },
      "description": "string",
      "encodedKey": "string",
      "glCode": "string",
      "lastModifiedDate": "string",
      "migrationEvent": {
        "creationDate": "string",
        "encodedKey": "string",
        "numCentresImported": 0,
        "numClientsImported": 0,
        "numGLAccountsImported": 0,
        "numGroupsImported": 0,
        "numLoanRepaymentsImported": 0,
        "numLoanTransactionsImported": 0,
        "numLoansImported": 0,
        "numSavingsImported": 0,
        "state": "REVERTED",
        "type": "IMPORT"
      },
      "name": "string",
      "stripTrailingZeros": true,
      "type": "INCOME",
      "usage": "HEADER"
    },
    "notes": "string",
    "productKey": "string",
    "productType": "LOAN",
    "reversalEntryKey": "string",
    "transactionID": "string",
    "type": "CREDIT",
    "userKey": "string"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[GLJournalEntryApiV1]nonefalsenone
» accountKeystringnonefalsenone
» amountnumbernonefalsenone
» assignedBranchKeystringnonefalsenone
» bookingDatestringnonefalsenone
» creationDatestringnonefalsenone
» encodedKeystringnonefalsenone
» entryDatestringnonefalsenone
» entryIDnumbernonefalsenone
» glAccountGLAccountApiV1nonefalsenone
»» activatedbooleannonefalsenone
»» allowManualJournalEntriesbooleannonefalsenone
»» balancenumbernonefalsenone
»» creationDatestringnonefalsenone
»» currencyCurrencyApiV1nonefalsenone
»»» codestringnonefalsenone
»»» creationDatestringnonefalsenone
»»» currencySymbolPositionstringnonefalsenone
»»» digitsAfterDecimalnumbernonefalsenone
»»» isBaseCurrencybooleannonefalsenone
»»» lastModifiedDatestringnonefalsenone
»»» namestringnonefalsenone
»»» symbolstringnonefalsenone
»» descriptionstringnonefalsenone
»» encodedKeystringnonefalsenone
»» glCodestringnonefalsenone
»» lastModifiedDatestringnonefalsenone
»» migrationEventDataMigrationEventApiV1nonefalsenone
»»» creationDatestringnonefalsenone
»»» encodedKeystringnonefalsenone
»»» numCentresImportednumbernonefalsenone
»»» numClientsImportednumbernonefalsenone
»»» numGLAccountsImportednumbernonefalsenone
»»» numGroupsImportednumbernonefalsenone
»»» numLoanRepaymentsImportednumbernonefalsenone
»»» numLoanTransactionsImportednumbernonefalsenone
»»» numLoansImportednumbernonefalsenone
»»» numSavingsImportednumbernonefalsenone
»»» statestringnonefalsenone
»»» typestringnonefalsenone
»» namestringnonefalsenone
»» stripTrailingZerosbooleannonefalsenone
»» typestringnonefalsenone
»» usagestringnonefalsenone
» notesstringnonefalsenone
» productKeystringnonefalsenone
» productTypestringnonefalsenone
» reversalEntryKeystringnonefalsenone
» transactionIDstringnonefalsenone
» typestringnonefalsenone
» userKeystringnonefalsenone

Enumerated Values

PropertyValue
currencySymbolPositionAFTER_NUMBER
currencySymbolPositionBEFORE_NUMBER
stateREVERTED
stateDRAFT
stateAPPROVED
typeIMPORT
typeEXPORT
typeINCOME
typeEXPENSE
typeLIABILITY
typeASSET
typeEQUITY
usageHEADER
usageDETAIL
productTypeLOAN
productTypeSAVINGS
typeCREDIT
typeDEBIT

General Ledger Accounts

Allows you to retrieve GL (General Ledger) accounts by type or specific GL accounts along with their balance. Balance for the GL accounts can be taken from the current moment or from a date range.

Get all GL Accounts

GET /glaccounts

Get All GL Accounts

Retrieve a list of GL accounts.

Parameters

NameTypeDescriptionInRequired
typestringThe type of GL accounts to retrieve. Required if no account id is provided.querytrue
fromstringFrom (start) date to compute the account balance on.queryfalse
tostringTo (end) date to compute the account balance on.queryfalse
branchIDstringThe branch ID on which to calculate/filter the gl accounts balances.queryfalse

Enumerated Values

ParameterValue
typeASSET
typeLIABILITY
typeEQUITY
typeINCOME
typeEXPENSE

Example Responses

200 : OK
an array of GL Accounts

[
  {
    "encodedKey": "8a193c26722b51b701722d77cd9e26c0",
    "creationDate": "2020-05-19T15:05:26+0000",
    "lastModifiedDate": "2020-05-19T15:05:26+0000",
    "glCode": "11100",
    "type": "ASSET",
    "usage": "DETAIL",
    "name": "Cash on Hand",
    "activated": true,
    "allowManualJournalEntries": true,
    "stripTrailingZeros": true,
    "currency": {
      "code": "EUR",
      "name": "Euro",
      "symbol": "€",
      "digitsAfterDecimal": 2,
      "currencySymbolPosition": "BEFORE_NUMBER",
      "isBaseCurrency": true,
      "creationDate": "2020-05-18T08:53:31+0000",
      "lastModifiedDate": "2020-05-18T08:53:31+0000"
    },
    "balance": "39147.84"
  },
  {
    "encodedKey": "8a193c26722b51b701722d77cdc826d6",
    "creationDate": "2020-05-19T15:05:26+0000",
    "lastModifiedDate": "2020-05-19T15:05:26+0000",
    "glCode": "11400",
    "type": "ASSET",
    "usage": "DETAIL",
    "name": "Client Savings Bank Account",
    "activated": true,
    "allowManualJournalEntries": true,
    "stripTrailingZeros": true,
    "currency": {
      "code": "EUR",
      "name": "Euro",
      "symbol": "€",
      "digitsAfterDecimal": 2,
      "currencySymbolPosition": "BEFORE_NUMBER",
      "isBaseCurrency": true,
      "creationDate": "2020-05-18T08:53:31+0000",
      "lastModifiedDate": "2020-05-18T08:53:31+0000"
    },
    "balance": "4253.21"
  },
  {
    "encodedKey": "8a193c26722b51b701722d77cdb126ca",
    "creationDate": "2020-05-19T15:05:26+0000",
    "lastModifiedDate": "2020-05-19T15:05:26+0000",
    "glCode": "11700",
    "type": "ASSET",
    "usage": "DETAIL",
    "name": "Interest Receivable",
    "activated": true,
    "allowManualJournalEntries": true,
    "stripTrailingZeros": true,
    "currency": {
      "code": "EUR",
      "name": "Euro",
      "symbol": "€",
      "digitsAfterDecimal": 2,
      "currencySymbolPosition": "BEFORE_NUMBER",
      "isBaseCurrency": true,
      "creationDate": "2020-05-18T08:53:31+0000",
      "lastModifiedDate": "2020-05-18T08:53:31+0000"
    },
    "balance": "1305.32"
  }
]

400 : Bad Request
bad account ID

{
  "returnCode": 601,
  "returnStatus": "INVALID_GL_ACCOUNT_TYPE"
}

400 : Bad Request
bad dates

{
  "returnCode": 610,
  "returnStatus": "INVALID_ACCOUNTING_DATE_ORDER",
  "errorSource": "The from date is set after the to date"
}

400 : Bad Request
branch not found

{
  "returnCode": 800,
  "returnStatus": "INVALID_BRANCH_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[glAccount][A General Ledger Account]falsenone
» glAccountglAccountA General Ledger Accountfalsenone
»» activatedbooleannonefalsenone
»» allowManualJournalEntriesstringnonefalsenone
»» balancestringnonefalsenone
»» creationDatestring(date-time)nonefalsenone
»» currencyobjectnonefalsenone
»»» codestringnonefalsenone
»»» currencySymbolPositionstringnonefalsenone
»»» digitsAfterDecimalnumbernonefalsenone
»»» namestringnonefalsenone
»»» symbolstringnonefalsenone
»» descriptionstringnonefalsenone
»» encodedKeystringnonefalsenone
»» glCodestringnonefalsenone
»» lastModifiedDatestring(date-time)nonefalsenone
»» namestringnonefalsenone
»» stripTrailingZerosbooleannonefalsenone
»» typestringnonefalsenone
»» usagestringnonefalsenone

Enumerated Values

PropertyValue
typeASSET
typeLIABILITY
typeEQUITY
typeINCOME
typeEXPENSE
usageDETAIL
usageHEADER

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Get GL Account by ID

GET /glaccounts/{glAccountId}

Get single GL Account

Retrieve details on a specific General Ledger Account.

Parameters

NameTypeDescriptionInRequired
fromstringFrom (start) date to compute the account balance on.queryfalse
tostringTo (end) date to compute the account balance on.queryfalse
branchIDstringThe branch ID on which to calculate/filter the gl accounts balances.queryfalse
glAccountIdstringThe ID of the GL account.pathtrue

Example Responses

200 : OK
example-1

{
  "encodedKey": "8a193c26722b51b701722d77cd9e26c0",
  "creationDate": "2020-05-19T15:05:26+0000",
  "lastModifiedDate": "2020-05-19T15:05:26+0000",
  "glCode": "11100",
  "type": "ASSET",
  "usage": "DETAIL",
  "name": "Cash on Hand",
  "activated": true,
  "allowManualJournalEntries": true,
  "stripTrailingZeros": true,
  "currency": {
    "code": "EUR",
    "name": "Euro",
    "symbol": "€",
    "digitsAfterDecimal": 2,
    "currencySymbolPosition": "BEFORE_NUMBER",
    "isBaseCurrency": true,
    "creationDate": "2020-05-18T08:53:31+0000",
    "lastModifiedDate": "2020-05-18T08:53:31+0000"
  },
  "balance": "-1685.55"
}

400 : Bad Request
bad GL Account ID

{
  "returnCode": 600,
  "returnStatus": "INVALID_GL_ACCOUNT_ID"
}

400 : Bad Request
bad dates

{
  "returnCode": 610,
  "returnStatus": "INVALID_ACCOUNTING_DATE_ORDER",
  "errorSource": "The from date is set after the to date"
}

Responses

StatusMeaningDescriptionSchema
200OKOKglAccount
400Bad RequestBad RequestInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Get GL Journal Entries for a GL Account

GET /glaccounts/{glAccountId}/gljournalentries

Get GL Journal Entries for a GL Account

Get GL Journal Entries for a given GL Account.

Parameters

NameTypeDescriptionInRequired
fromstringStart date - The first booking date you want to retrieve journal entries from.querytrue
tostringEnd date - The last booking date you want to retrieve journal entries from.querytrue
glAccountIdstringThe ID of the GL account.pathtrue

Example Responses

200 : OK
An array of journal entries

[
  {
    "encodedKey": "8a19a207744d899f01744e8893a50800",
    "entryID": 95,
    "creationDate": "2020-09-02T11:50:10+0000",
    "entryDate": "2020-08-10T00:00:00+0000",
    "transactionID": "21",
    "accountKey": "8a19c32b72eac4420172efcb0f176bbd",
    "productKey": "8a193c26722b51b701722d77ca932614",
    "productType": "LOAN",
    "amount": "200",
    "glAccount": {
      "encodedKey": "8a193c26722b51b701722d77cd9e26c0",
      "creationDate": "2020-05-19T15:05:26+0000",
      "lastModifiedDate": "2020-05-19T15:05:26+0000",
      "glCode": "11100",
      "type": "ASSET",
      "usage": "DETAIL",
      "name": "Cash on Hand",
      "activated": true,
      "allowManualJournalEntries": true,
      "stripTrailingZeros": true
    },
    "type": "DEBIT",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "bookingDate": "2020-08-10T00:00:00+0000"
  },
  {
    "encodedKey": "8a19a207744d899f01744e83027507f6",
    "entryID": 92,
    "creationDate": "2020-09-02T11:16:48+0000",
    "entryDate": "2020-06-15T00:00:00+0000",
    "transactionID": "20",
    "accountKey": "8a19c32b72eac4420172efcb0f176bbd",
    "productKey": "8a193c26722b51b701722d77ca932614",
    "productType": "LOAN",
    "amount": "100",
    "glAccount": {
      "encodedKey": "8a193c26722b51b701722d77cd9e26c0",
      "creationDate": "2020-05-19T15:05:26+0000",
      "lastModifiedDate": "2020-05-19T15:05:26+0000",
      "glCode": "11100",
      "type": "ASSET",
      "usage": "DETAIL",
      "name": "Cash on Hand",
      "activated": true,
      "allowManualJournalEntries": true,
      "stripTrailingZeros": true
    },
    "type": "DEBIT",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "bookingDate": "2020-06-15T00:00:00+0000"
  }
]

400 : Bad Request
Bad GL Account ID

{
  "returnCode": 600,
  "returnStatus": "INVALID_GL_ACCOUNT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[glJournalEntry]nonefalsenone
» glJournalEntryglJournalEntrynonefalsenone
»» notesstringnonefalsenone
»» amountstringnonefalsenone
»» bookingDatestring(date-time)nonefalsenone
»» creationDatestring(date-time)nonefalsenone
»» encodedKeystringnonefalsenone
»» entryDatestring(date-time)nonefalsenone
»» entryIDintegernonefalsenone
»» glAccountglAccountMinimalnonefalsenone
»»» activatedbooleannonefalsenone
»»» allowManualJournalEntriesbooleannonefalsenone
»»» creationDatestring(date-time)nonefalsenone
»»» encodedKeystringnonefalsenone
»»» glCodestringnonefalsenone
»»» lastModifiedDatestring(date-time)nonefalsenone
»»» namestringnonefalsenone
»»» stripTrailingZeroesbooleannonefalsenone
»»» typestringnonefalsenone
»»» usagestringnonefalsenone
»» transactionIDstringnonefalsenone
»» typestringnonefalsenone
»» userKeystringnonefalsenone

Enumerated Values

PropertyValue
typeASSET
typeLIABILITY
typeEQUITY
typeINCOME
typeEXPENSE
usageDETAIL
usageHEADER
typeDEBIT
typeCREDIT

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Group Role Names

Get group role names configured for your organization.

Get Group Role Names

GET /grouprolenames

Get Group Role Names

Get group role names

Example Responses

200 : OK
a list of group roles

[
  {
    "encodedKey": "8a193c26722b51b701722d77c25e22e6",
    "name": "President"
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c3c922e7",
    "name": "Secretary"
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c3c922e8",
    "name": "Treasurer"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» encodedKeystringA unique key for this role.falsenone
» namestringThe name of this group role.falsenone

Groups

Allows you to retrieve groups. Groups may have associated information such as their custom fields. The custom field values for groups can be changed using patch or delete methods.

Get all Groups

GET /groups

List Groups

Allows retrieving group directly by a group ID or by looking up a client. When retrieving a group, all his associated information such as their custom fields and addresses may also be returned if requested. An empty list is returned if no groups are found.

Example Requests

Get all groups assigned to the branch with id DB

GET /api/groups/?branchId=DB

Get all groups assigned to the centre with id DB and provide full details

GET /api/groups/?centreId=DC&fullDetails=true

Parameters

NameTypeDescriptionInRequired
centreIDstringLooking up a group assigned to a centre using branch id/keyqueryfalse
branchIDstringLooking up a group assigned to a branch using branch id/keyqueryfalse
offsetintegerstart at index, for paginationqueryfalse
limitintegermax results to returnqueryfalse
creditOfficerUsernamestringLooking up by the username of a specific credit officer, required if the user making the call has the "Credit Officer" role and the option "Can access other credit officers clients" is not activated.queryfalse
fullDetailsbooleanWhether to load all the nested fields for the groups as well.queryfalse

Example Responses

200 : ok
array of groups, basic details

[
  {
    "encodedKey": "8a193c26722b51b701722d77c969260e",
    "id": "237716573",
    "creationDate": "2020-05-19T15:05:25+0000",
    "lastModifiedDate": "2020-09-07T16:22:43+0000",
    "groupName": "Portanica",
    "loanCycle": 0,
    "preferredLanguage": "SPANISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf7130069"
    }
  },
  {
    "encodedKey": "8a193c26722b51b701722d77ca932611",
    "id": "040693245",
    "creationDate": "2020-05-19T15:05:25+0000",
    "lastModifiedDate": "2020-05-19T15:05:25+0000",
    "groupName": "Apache",
    "loanCycle": 0,
    "preferredLanguage": "ENGLISH",
    "clientRole": {
      "encodedKey": "8a194075720ece2c017226fcf7130069"
    }
  }
]

200 : ok
array of groups, full details

[
  {
    "theGroup": {
      "encodedKey": "8a193c26722b51b701722d77c969260e",
      "id": "237716573",
      "creationDate": "2020-05-19T15:05:25+0000",
      "lastModifiedDate": "2020-09-07T16:22:43+0000",
      "groupName": "Portanica",
      "loanCycle": 0,
      "preferredLanguage": "SPANISH",
      "clientRole": {
        "encodedKey": "8a194075720ece2c017226fcf7130069"
      }
    },
    "addresses": [],
    "customInformation": [],
    "groupRoles": [
      {
        "encodedKey": "8a19b592746765a501746960758307e0",
        "groupKey": "8a193c26722b51b701722d77c969260e",
        "groupRoleNameKey": "8a193c26722b51b701722d77c3c922e7",
        "clientKey": "8a193c26722b51b701722d77c67d23d6",
        "roleName": "Secretary",
        "indexInList": 0
      }
    ],
    "groupMembers": [
      {
        "encodedKey": "8a19b592746765a501746960758307df",
        "groupKey": "8a193c26722b51b701722d77c969260e",
        "clientKey": "8a193c26722b51b701722d77c67d23d6",
        "creationDate": "2020-09-07T16:22:43+0000",
        "indexInList": 0
      }
    ]
  },
  {
    "theGroup": {
      "encodedKey": "8a193c26722b51b701722d77ca932611",
      "id": "040693245",
      "creationDate": "2020-05-19T15:05:25+0000",
      "lastModifiedDate": "2020-09-24T10:25:39+0000",
      "groupName": "Apache",
      "notes": "some <i>rich</i> notes about this <b>amazing</b> group",
      "assignedUserKey": "8a19dab474909bc8017490f2fb9006a8",
      "assignedBranchKey": "8a193c26722b51b701722d779e7122de",
      "loanCycle": 0,
      "assignedCentreKey": "8a193c26722b51b701722d779e7122e0",
      "emailAddress": "apachegroup@yougotma.il",
      "mobilePhone1": "+35131429818014",
      "homePhone": "+350305551155",
      "preferredLanguage": "ENGLISH",
      "clientRole": {
        "encodedKey": "8a194075720ece2c017226fcf7130069"
      }
    },
    "addresses": [
      {
        "encodedKey": "8a19a3cc74beb0eb0174bf3f6fe80312",
        "parentKey": "8a193c26722b51b701722d77ca932611",
        "line1": "5a Group Lane",
        "line2": "",
        "city": "Big Smoke",
        "region": "Big Sky County",
        "postcode": "126 GV4",
        "country": "Countrystan",
        "indexInList": 0
      }
    ],
    "customInformation": [
      {
        "encodedKey": "8a19a3cc74beb0eb0174bf3f6fe80313",
        "parentKey": "8a193c26722b51b701722d77ca932611",
        "customFieldKey": "8a193c26722b51b701722d77cd292664",
        "customField": {
          "encodedKey": "8a193c26722b51b701722d77cd292664",
          "id": "Central_Office_Groups",
          "name": "Central Office",
          "type": "GROUP_INFO",
          "dataType": "SELECTION",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "customFieldSet": {
            "encodedKey": "8a193c26722b51b701722d77ccaf2638",
            "id": "_Office_Groups",
            "name": "Office",
            "createdDate": "2020-05-19T15:05:25+0000",
            "lastModifiedDate": "2020-05-19T15:05:25+0000",
            "indexInList": 0,
            "type": "GROUP_INFO",
            "usage": "SINGLE"
          },
          "indexInList": -1,
          "state": "NORMAL",
          "customFieldSelectionOptions": [
            {
              "encodedKey": "8a193c26722b51b701722d77cd2d2668",
              "id": "620330172",
              "value": "Catamarca",
              "score": "0"
            },
            {
              "encodedKey": "8a193c26722b51b701722d77cd2d2669",
              "id": "433019118",
              "value": "Chaco",
              "score": "1"
            },
            {
              "encodedKey": "8a193c26722b51b701722d77cd2d266a",
              "id": "077431565",
              "value": "Jujuy",
              "score": "10"
            }
          ],
          "viewRights": {
            "encodedKey": "8a193c26722b51b701722d77cd292665",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a193c26722b51b701722d77cd2d2666",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "unique": false,
          "values": [
            "Catamarca",
            "Chaco",
            "Jujuy"
          ],
          "amounts": {
            "Catamarca": "0",
            "Chaco": "1",
            "Jujuy": "10"
          }
        },
        "value": "Chaco",
        "amount": "1",
        "indexInList": 0,
        "customFieldID": "Central_Office_Groups",
        "customFieldSetGroupIndex": -1
      },
      {
        "encodedKey": "8a19a3cc74beb0eb0174bf3f6fe80314",
        "parentKey": "8a193c26722b51b701722d77ca932611",
        "customFieldKey": "8a193c26722b51b701722d77cd32266f",
        "customField": {
          "encodedKey": "8a193c26722b51b701722d77cd32266f",
          "id": "Has_Many_Members_Groups",
          "name": "Has Many Members",
          "type": "GROUP_INFO",
          "dataType": "CHECKBOX",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "customFieldSet": {
            "encodedKey": "8a193c26722b51b701722d77ccd72639",
            "id": "_Members_Groups",
            "name": "Members",
            "createdDate": "2020-05-19T15:05:25+0000",
            "lastModifiedDate": "2020-05-19T15:05:25+0000",
            "indexInList": 1,
            "type": "GROUP_INFO",
            "usage": "SINGLE"
          },
          "indexInList": -1,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "8a193c26722b51b701722d77cd3a2670",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a193c26722b51b701722d77cd3a2671",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "TRUE",
        "indexInList": 1,
        "customFieldID": "Has_Many_Members_Groups",
        "customFieldSetGroupIndex": -1
      },
      {
        "encodedKey": "8a19a3cc74beb0eb0174bf3f6fe80315",
        "parentKey": "8a193c26722b51b701722d77ca932611",
        "customFieldKey": "8a193c26722b51b701722d77cd32266b",
        "customField": {
          "encodedKey": "8a193c26722b51b701722d77cd32266b",
          "id": "Group_Members_Groups",
          "name": "Group Members",
          "type": "GROUP_INFO",
          "dataType": "NUMBER",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "customFieldSet": {
            "encodedKey": "8a193c26722b51b701722d77ccd72639",
            "id": "_Members_Groups",
            "name": "Members",
            "createdDate": "2020-05-19T15:05:25+0000",
            "lastModifiedDate": "2020-05-19T15:05:25+0000",
            "indexInList": 1,
            "type": "GROUP_INFO",
            "usage": "SINGLE"
          },
          "indexInList": -1,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "8a193c26722b51b701722d77cd32266c",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "8a193c26722b51b701722d77cd32266d",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "17",
        "indexInList": 2,
        "customFieldID": "Group_Members_Groups",
        "customFieldSetGroupIndex": -1
      }
    ],
    "groupRoles": [
      {
        "encodedKey": "8a19a3cc74beb0eb0174bfa492ae04d3",
        "groupKey": "8a193c26722b51b701722d77ca932611",
        "groupRoleNameKey": "8a193c26722b51b701722d77c25e22e6",
        "clientKey": "8a193c26722b51b701722d77c66d23b9",
        "roleName": "President",
        "indexInList": 0
      },
      {
        "encodedKey": "8a19a3cc74beb0eb0174bfa492ae04d4",
        "groupKey": "8a193c26722b51b701722d77ca932611",
        "groupRoleNameKey": "8a193c26722b51b701722d77c3c922e7",
        "clientKey": "8a193c26722b51b701722d77c66d23bc",
        "roleName": "Secretary",
        "indexInList": 1
      }
    ],
    "groupMembers": [
      {
        "encodedKey": "8a193c26722b51b701722d77ca932612",
        "groupKey": "8a193c26722b51b701722d77ca932611",
        "clientKey": "8a193c26722b51b701722d77c66d23b9",
        "creationDate": "2020-05-19T15:05:25+0000",
        "indexInList": 0
      },
      {
        "encodedKey": "8a193c26722b51b701722d77ca932613",
        "groupKey": "8a193c26722b51b701722d77ca932611",
        "clientKey": "8a193c26722b51b701722d77c66d23bc",
        "creationDate": "2020-05-19T15:05:25+0000",
        "indexInList": 1
      }
    ]
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokGroupExpandedApiV1

Create new Group

POST /groups

Create a group

Allows the creation and update of groups programatically. This method allows creating a group with address information and custom fields.

This method can also be used for editing groups. In order to do so, the encodedKey of the group needs to be provided.

Example requests

A new group with an address and custom fields

{
  "group": {
    "id": "995577000",
    "creationDate": "2014-12-17T11:38:00+0000",
    "lastModifiedDate": "2014-12-17T15:55:00+0000",
    "groupName": "Secret Group",
    "notes": "This group will not be normally available",
    "assignedUserKey": "8904193be1b047f9a94202c8bec9b9ef",
    "assignedCentreKey": "2a9d604a381a4e10b2da8a4968aa6363",
    "assignedBranchKey": "7bd2a83f-b3844729b90ff531a59f3dc4",
    "clientRole": {
      "encodedKey": "8a34356cf78600abc2ef799123"
    }
  },
  "addresses": [
    {
      "line1": "The Tea Building",
      "line2": "56 Shoreditch High Street",
      "city": "London",
      "region": "England",
      "postcode": "E1 6JJ",
      "country": "United Kingdom",
      "indexInList": 0
    }
  ],
  "customInformation": [
    {
      "value": "60000",
      "customFieldID": "Income"
    },
    {
      "value": "TRUE",
      "customFieldID": "Newsletter"
    }
  ],
  "groupMembers": [
    {
      "clientKey": "0a57a959a9354e97a8df11c083efdece",
      "creationDate": "2014-12-17T11:38:00+0000"
    },
    {
      "clientKey": "5a3932bfecc84cc5a6c1e495bf4748ed",
      "creationDate": "2014-12-17T11:38:00+0000"
    }
  ],
  "groupRoles": [
    {
      "groupRoleNameKey": "e8927b8c01b24936ba806a91872e9652",
      "clientKey": "5d1d0328eaf14f718013d9ead2687984"
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
bodyJsonGroupApiV1nonebodyfalse

Example Responses

200 Response

{
  "addresses": [
    {
      "addressType": "string",
      "city": "string",
      "country": "string",
      "encodedKey": "string",
      "indexInList": 0,
      "latitude": 0,
      "line1": "string",
      "line2": "string",
      "longitude": 0,
      "parentKey": "string",
      "postcode": "string",
      "region": "string",
      "toBeDeleted": true
    }
  ],
  "customInformation": [
    {
      "amount": 0,
      "customField": {
        "amounts": {
          "property1": 0,
          "property2": 0
        },
        "builtInCustomFieldId": "MOBILE_PHONE",
        "creationDate": "string",
        "customFieldProductSettings": [
          {
            "customFieldEncodedKey": "string",
            "encodedKey": "string",
            "isDefault": true,
            "isRequired": true,
            "linkType": "CLIENT_ROLE",
            "productKey": "string"
          }
        ],
        "customFieldSelectionOptions": [
          {
            "constraint": {
              "customFieldKey": "string",
              "dataFieldType": "NATIVE",
              "dataFieldValue": "string",
              "dataItemType": "WRITTEN_OFF_LOANS",
              "dataType": "ENUM",
              "encodedKey": "string",
              "filterElement": "STARTS_WITH_CASE_SENSITIVE",
              "groupNumber": 0,
              "index": 0,
              "linkingOperator": "OR",
              "secondValue": "string",
              "value": "string"
            },
            "encodedKey": "string",
            "id": "string",
            "score": 0,
            "value": "string"
          }
        ],
        "customFieldSet": {
          "builtInType": "DETAILS",
          "createdDate": "string",
          "customFields": [
            {}
          ],
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "lastModifiedDate": "string",
          "name": "string",
          "notes": "string",
          "type": "USER_INFO",
          "usage": "SINGLE"
        },
        "dataType": "GROUP_LINK",
        "description": "string",
        "editRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        },
        "encodedKey": "string",
        "id": "string",
        "indexInList": 0,
        "isDefault": true,
        "isRequired": true,
        "lastModifiedDate": "string",
        "name": "string",
        "state": "DEACTIVATED",
        "type": "USER_INFO",
        "unique": true,
        "validationPattern": "string",
        "valueLength": "SHORT",
        "values": [
          "string"
        ],
        "viewRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        }
      },
      "customFieldID": "string",
      "customFieldKey": "string",
      "customFieldSetGroupIndex": 0,
      "encodedKey": "string",
      "indexInList": 0,
      "linkedEntityKeyValue": "string",
      "parentKey": "string",
      "selectionKey": "string",
      "value": "string"
    }
  ],
  "group": {
    "assignedBranchKey": "string",
    "assignedCentreKey": "string",
    "assignedUserKey": "string",
    "clientRole": {
      "encodedKey": "string"
    },
    "creationDate": "string",
    "emailAddress": "string",
    "encodedKey": "string",
    "groupName": "string",
    "homePhone": "string",
    "id": "string",
    "idPattern": "string",
    "lastModifiedDate": "string",
    "loanCycle": 0,
    "migrationEvent": {
      "creationDate": "string",
      "encodedKey": "string",
      "numCentresImported": 0,
      "numClientsImported": 0,
      "numGLAccountsImported": 0,
      "numGroupsImported": 0,
      "numLoanRepaymentsImported": 0,
      "numLoanTransactionsImported": 0,
      "numLoansImported": 0,
      "numSavingsImported": 0,
      "state": "REVERTED",
      "type": "IMPORT"
    },
    "mobilePhone1": "string",
    "notes": "string",
    "preferredLanguage": "PORTUGESE"
  },
  "groupMembers": [
    {
      "clientKey": "string",
      "creationDate": "string",
      "encodedKey": "string",
      "groupKey": "string",
      "indexInList": 0
    }
  ],
  "groupRoles": [
    {
      "clientKey": "string",
      "encodedKey": "string",
      "groupKey": "string",
      "groupRoleNameKey": "string",
      "indexInList": 0,
      "roleName": "string"
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKokJsonGroupApiV1

Search for Groups

POST /groups/search

Search for Groups

Allows to retrieve groups using dynamic custom filters.

Available group filter values

Filter Selection ParameterData Type
CLIENT_ROLE_KEYKEY
BRANCH_KEYKEY
CENTRE_KEYKEY
CREDIT_OFFICER_KEYKEY
ENCODED_KEYKEY
GROUP_NAMESTRING
CREATION_DATEDATE_UTC
LAST_MODIFIED_DATEDATE_UTC
IDSTRING
PREFERRED_LANGUAGEENUM
DEPOSITS_BALANCEMONEY
LOANS_BALANCEMONEY
TOTAL_BALANCEMONEY
NUMBER_OF_MEMBERSNUMBER
LOAN_CYCLENUMBER

Available filter elements

Filter ElementNumber Of affected valuesAvailable for
EQUALSONE_VALUEBIG_DECIMAL,BOOLEAN,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY
MORE_THANONE_VALUEBIG_DECIMAL,NUMBER,MONEY
LESS_THANONE_VALUEBIG_DECIMAL,NUMBER,MONEY
BETWEENTWO_VALUESBIG_DECIMAL,NUMBER,MONEY,DATE,DATE_UTC
ONONE_VALUEDATE,DATE_UTC
AFTERONE_VALUEDATE,DATE_UTC
BEFOREONE_VALUEDATE,DATE_UTC
STARTS_WITHONE_VALUESTRING
INLISTENUM,KEY
TODAYNO_VALUEDATE,DATE_UTC
THIS_WEEKNO_VALUEDATE,DATE_UTC
THIS_MONTHNO_VALUEDATE,DATE_UTC
THIS_YEARNO_VALUEDATE,DATE_UTC
LAST_DAYSONE_VALUEDATE,DATE_UTC
EMPTYNO_VALUEBIG_DECIMAL,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY,DATE,DATE_UTC
NOT_EMPTYNO_VALUEBIG_DECIMAL,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY,DATE,DATE_UTC

Example requests

a search

{
  "filterConstraints": [
    {
      "dataFieldType": "string",
      "dataItemType": "string",
      "filterElement": "string",
      "filterSelection": "string",
      "secondValue": "string",
      "value": "string",
      "values": [
        "string"
      ]
    }
  ],
  "sortDetails": {
    "dataFieldType": "string",
    "dataItemType": "string",
    "sortingColumn": "string",
    "sortingOrder": "string"
  }
}

Parameters

NameTypeDescriptionInRequired
offsetintegernonequeryfalse
limitintegernonequeryfalse
bodyFilterApiV1nonebodyfalse

Example Responses

200 Response

[
  {
    "assignedBranchKey": "string",
    "assignedCentreKey": "string",
    "assignedUserKey": "string",
    "clientRole": {
      "encodedKey": "string"
    },
    "creationDate": "string",
    "emailAddress": "string",
    "encodedKey": "string",
    "groupName": "string",
    "homePhone": "string",
    "id": "string",
    "idPattern": "string",
    "lastModifiedDate": "string",
    "loanCycle": 0,
    "migrationEvent": {
      "creationDate": "string",
      "encodedKey": "string",
      "numCentresImported": 0,
      "numClientsImported": 0,
      "numGLAccountsImported": 0,
      "numGroupsImported": 0,
      "numLoanRepaymentsImported": 0,
      "numLoanTransactionsImported": 0,
      "numLoansImported": 0,
      "numSavingsImported": 0,
      "state": "REVERTED",
      "type": "IMPORT"
    },
    "mobilePhone1": "string",
    "notes": "string",
    "preferredLanguage": "PORTUGESE"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[GroupApiV1]nonefalsenone
» assignedBranchKeystringnonefalsenone
» assignedCentreKeystringnonefalsenone
» assignedUserKeystringnonefalsenone
» clientRoleClientRoleBasicApiV1nonefalsenone
»» encodedKeystringnonefalsenone
» creationDatestringnonefalsenone
» emailAddressstringnonefalsenone
» encodedKeystringnonefalsenone
» groupNamestringnonefalsenone
» homePhonestringnonefalsenone
» idstringnonefalsenone
» idPatternstringnonefalsenone
» lastModifiedDatestringnonefalsenone
» loanCyclenumbernonefalsenone
» migrationEventDataMigrationEventApiV1nonefalsenone
»» creationDatestringnonefalsenone
»» encodedKeystringnonefalsenone
»» numCentresImportednumbernonefalsenone
»» numClientsImportednumbernonefalsenone
»» numGLAccountsImportednumbernonefalsenone
»» numGroupsImportednumbernonefalsenone
»» numLoanRepaymentsImportednumbernonefalsenone
»» numLoanTransactionsImportednumbernonefalsenone
»» numLoansImportednumbernonefalsenone
»» numSavingsImportednumbernonefalsenone
»» statestringnonefalsenone
»» typestringnonefalsenone
» mobilePhone1stringnonefalsenone
» notesstringnonefalsenone
» preferredLanguagestringnonefalsenone

Enumerated Values

PropertyValue
stateREVERTED
stateDRAFT
stateAPPROVED
typeIMPORT
typeEXPORT
preferredLanguagePORTUGESE
preferredLanguageRUSSIAN
preferredLanguageROMANIAN
preferredLanguageENGLISH
preferredLanguageSPANISH
preferredLanguageGEORGIAN
preferredLanguageBURMESE
preferredLanguagePHRASE
preferredLanguageCHINESE
preferredLanguageFRENCH
preferredLanguageINDONESIAN

Get Group by ID

GET /groups/{groupId}

Get Group by ID

Allows you to retrieve a group directly by its group ID.

Parameters

NameTypeDescriptionInRequired
fullDetailsbooleannonequeryfalse
groupIdstringnonepathtrue

Example Responses

200 : ok
a single group

{
  "encodedKey": "8a193c26722b51b701722d77ca932611",
  "id": "040693245",
  "creationDate": "2020-05-19T15:05:25+0000",
  "lastModifiedDate": "2020-09-24T10:25:39+0000",
  "groupName": "Apache",
  "assignedUserKey": "8a19dab474909bc8017490f2fb9006a8",
  "assignedBranchKey": "8a193c26722b51b701722d779e7122de",
  "loanCycle": 0,
  "assignedCentreKey": "8a193c26722b51b701722d779e7122e0",
  "emailAddress": "apachegroup@yougotma.il",
  "mobilePhone1": "+35131429818014",
  "homePhone": "+350305551155",
  "preferredLanguage": "ENGLISH",
  "clientRole": {
    "encodedKey": "8a194075720ece2c017226fcf7130069"
  }
}

Responses

StatusMeaningDescriptionSchema
200OKokGroupApiV1

Update Group info

PATCH /groups/{groupId}

Update Group Information

Information for a group can be added/edited using the PATCH method.

To remove all members and/or roles, provide an empty array for these fields.

Example requests

updated group information

{
  "group": {
    "id": "445076768",
    "groupName": "Village group update",
    "notes": "some_notes after update",
    "assignedUserKey": "40288a164c31ebec014c31ebf7200004",
    "assignedCentreKey": "40288a164c31eca9014c31ef7e510005",
    "assignedBranchKey": "40288a164c31eca9014c31ef7e4f0003"
  },
  "groupMembers": [
    {
      "clientKey": "40288a164c31eca9014c31ef817100d9"
    }
  ],
  "groupRoles": [
    {
      "groupRoleNameKey": "40288a164c31eca9014c31ef8006000b",
      "clientKey": "40288a164c31eca9014c31ef819200da"
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
groupobjectnonebodyfalse
» idstringID of the group. If not provided Mambu will generate one.bodyfalse
» groupNamestringA string with the name of the group.bodyfalse
» notesstringFree text with notes about the group.bodyfalse
» assignedUserKeystringEncoded key or ID of the assigned user.bodyfalse
» assignedCentreKeystringEncoded key or ID of the assigned centrebodyfalse
» assignedBranchKeystringEncoded key or ID of the assigned branch.bodyfalse
» emailAddressstringE-mail address associated with the group.bodyfalse
» mobilePhone1stringMobile phone associated with the group.bodyfalse
» homePhonestringPhone associated with the group.bodyfalse
groupMembers[object]an array of group membersbodyfalse
» clientKeystringA string with the encoded key or id of the client being assigned to the group.bodytrue
groupRoles[object]an array of group members and their associated rolesbodyfalse
» groupRoleNameKeystringThe encoded key of a group role.bodytrue
» clientKeystringA valid encoded key of a client available as a member of the group.bodytrue
groupIdstringnonepathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": "0",
  "returnStatus": "SUCCESS"
}

400 : Bad Request
bad client id

{
  "returnCode": 301,
  "returnStatus": "INVALID_CLIENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Group Comments

GET /groups/{groupId}/comments

Get all group comments

get all comments for a group

Parameters

NameTypeDescriptionInRequired
limitstringnonequeryfalse
offsetstringnonequeryfalse
groupIdstringthe ID of the grouppathtrue

Example Responses

200 : OK
an array of comments

[
  {
    "encodedKey": "8a19b7057471f4af017472dc0fd80470",
    "parentKey": "8a193c26722b51b701722d77c5e423b7",
    "userKey": "8a194075720ece2c017226fced6f005e",
    "creationDate": "2020-09-09T14:24:42+0000",
    "lastModifiedDate": "2020-09-09T14:24:42+0000",
    "text": "aanother afmaefomaef<div><br /></div><div>aefaefaf</div><div><br /></div><div>afaef</div>"
  },
  {
    "encodedKey": "8a193c26722b51b701722d77c8bf25ab",
    "parentKey": "8a193c26722b51b701722d77c5e423b7",
    "creationDate": "2020-05-19T15:05:24+0000",
    "lastModifiedDate": "2020-05-19T15:05:24+0000",
    "text": "Should suggest she apply for the agriculture loan given the nature of their business"
  }
]

400 : Bad Request
bad group ID

{
  "returnCode": 149,
  "returnStatus": "INVALID_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestExecutionStatusApiV1

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[CommentApiV1]nonefalsenone
» creationDatestring(date-time)the date and time at which this comment was addedfalsenone
» encodedKeystringa unique key for this commentfalsenone
» lastModifiedDatestring(date-time)the date and time at which this comment was last modifiedfalsenone
» parentKeystringthe unique key of the parent object for this comment, for example, the client or loan account to which it relatesfalsenone
» textstringthe text of the comment as a string, must be properly JSON escpaped if it contains special charactersfalsenone
» userKeystringthe unique key of the user who created the commentfalsenone

Create new Group Comment

POST /groups/{groupId}/comments

Create a group Comment

create new comment for a group

Example requests

a comment

{
  "comment": {
    "text": "this is a comment with \" \" all kinds of : \\ / \"non compliant\" stuff & = which has been JSON escaped"
  }
}

Parameters

NameTypeDescriptionInRequired
commentobjectan object contining the commentbodyfalse
» textstringtext of the comment to be added. if adding complex content make sure it is properly JSON encoded before making your requestbodyfalse
groupIdstringthe ID of the grouppathtrue

Example Responses

200 : OK
a comment

{
  "encodedKey": "8a19c34574720f9e0174734a039f06e2",
  "parentKey": "8a193c26722b51b701722d77c5e423b7",
  "userKey": "8a194075720ece2c017226fced6f005e",
  "creationDate": "2020-09-09T14:39:36+0000",
  "lastModifiedDate": "2020-09-09T14:39:36+0000",
  "text": "this is a comment with \" \" all kinds of : \\ / non compliant stuff & = which has been JSON escaped"
}

400 : Bad Request
extra parameters in the request

{
  "returnCode": 27,
  "returnStatus": "PARAMETER_NOT_ALLOWED"
}

Responses

StatusMeaningDescriptionSchema
200OKOKCommentApiV1
400Bad RequestBad RequestInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Update Group Custom Field Values

PATCH /groups/{groupId}/custominformation

Update custom field values

Update custom field values

Example Requests

Update a single custom field

{
  "customInformation": [
    {
      "customFieldID": "custom_field_2",
      "value": "3"
    }
  ]
}

Update a field in a group

{
  "customInformation": [
    {
      "customFieldID": "cf_grouped_field",
      "value": "new value",
      "customFieldSetGroupIndex": "0"
    }
  ]
}

update multiple custom fields

{
  "customInformation": [
    {
      "customFieldID": "cf_grouped_field_2",
      "value": "3",
      "customFieldSetGroupIndex": "0"
    },
    {
      "customFieldID": "field_3",
      "value": "divorced"
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
customInformation[object]nonebodyfalse
» customFieldIDstringnonebodytrue
» valuestringnonebodytrue
» customFieldSetGroupIndexstringRequired if field to update is part of a group, if the Field Set Group Index is not set, a new group will be created with the value provided.bodyfalse
groupIdstringThe ID of the grouppathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Group Custom Info

GET /groups/{groupId}/custominformation/{customFieldId}

Get a custom field for a group

Allows retrieving a custom field value for a given group directly by the ID/key of the group and the ID/key of the custom field.

Parameters

NameTypeDescriptionInRequired
groupIdstringThe ID of the group.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
A custom field

[
  {
    "encodedKey": "8a19cd6f74674df9017467f25aab02c6",
    "parentKey": "8a193c26722b51b701722d779e7122de",
    "customFieldKey": "8a19cd6f74674df9017467ef8e6802af",
    "customField": {
      "encodedKey": "8a19cd6f74674df9017467ef8e6802af",
      "id": "cf_group",
      "creationDate": "2020-09-07T09:42:33+0000",
      "lastModifiedDate": "2020-09-07T09:42:33+0000",
      "name": "Example Custom Field",
      "type": "BRANCH_INFO",
      "dataType": "CHECKBOX",
      "valueLength": "SHORT",
      "isDefault": false,
      "isRequired": false,
      "description": "an example custom field of the checkbox type",
      "customFieldSet": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802ae",
        "id": "_example_group_custom_field_set",
        "name": "example group custom field set",
        "notes": "example custom field set",
        "createdDate": "2020-09-07T09:41:50+0000",
        "lastModifiedDate": "2020-09-07T09:41:50+0000",
        "indexInList": 2,
        "type": "BRANCH_INFO",
        "usage": "SINGLE"
      },
      "indexInList": 0,
      "state": "NORMAL",
      "customFieldSelectionOptions": [],
      "viewRights": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802b0",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "editRights": {
        "encodedKey": "8a19cd6f74674df9017467ef8e6802b1",
        "isAccessibleByAllUsers": false,
        "roles": []
      },
      "unique": false,
      "values": [],
      "amounts": {}
    },
    "value": "TRUE",
    "indexInList": -1,
    "customFieldID": "cf_group",
    "customFieldSetGroupIndex": -1
  }
]

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKCustomFieldApiV1
404Not FoundNot FoundInline

Response Schema

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Update Group Custom Field

PATCH /groups/{groupId}/custominformation/{customFieldId}

Update a custom field for a group

Update a custom field value for a group custom field

Example requests

Providing a value for a custom field

{
  "value": "new value for custom field"
}

Parameters

NameTypeDescriptionInRequired
valuestringnonebodyfalse
groupIdstringThe ID of the group.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
example-1

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
field is part of a group

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Delete Group Custom Field

DELETE /groups/{groupId}/custominformation/{customFieldId}

Delete Group Custom Field

Delete a single custom field

Parameters

NameTypeDescriptionInRequired
groupIdstringThe ID of the group.pathtrue
customFieldIdstringThe ID of the custom field.pathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
field is part of a group

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Update Group Custom Field (grouped)

PATCH /groups/{groupId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}

Update grouped custom field

Update custom field which is part of a group

Example requests

a new value for a custom field

{
  "value": "new value for custom field"
}

Parameters

NameTypeDescriptionInRequired
valuestringnonebodyfalse
groupIdstringThe ID of the grouppathtrue
customFieldIdstringThe ID of the custom fieldpathtrue
customFieldGroupSetIndexstringnonepathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
wrong group index provided

{
  "returnCode": 916,
  "returnStatus": "INVALID_CUSTOM_FIELD_GROUP_INDEX",
  "errorSource": "cf_group_field_2"
}

404 : Not Found
field not found

{
  "returnCode": 903,
  "returnStatus": "INVALID_CUSTOM_FIELD_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad RequestInline
404Not FoundNot FoundInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone
» errorSourcestringnonefalsenone

Status Code 404

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Delete Group Custom Field (grouped)

DELETE /groups/{groupId}/custominformation/{customFieldId}/{customFieldGroupSetIndex}

Delete grouped custom field

Delete a custom field which is part of a group

Parameters

NameTypeDescriptionInRequired
groupIdstringThe ID of the grouppathtrue
customFieldIdstringThe ID of the custom fieldpathtrue
customFieldGroupSetIndexstringnonepathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Get Documents for a Group

GET /groups/{groupId}/documents

Get documents for group

Get all documents for a given group

Parameters

NameTypeDescriptionInRequired
offsetintegeroffset results. use with limit parameter to achieve pagingqueryfalse
limitintegermax number of records to returnqueryfalse
groupIdstringThe ID of the grouppathtrue

Example Responses

200 : ok
an array of documents

[
  {
    "encodedKey": "8a19c035747bf5b901747c5bfb04014b",
    "id": 51,
    "creationDate": "2020-09-11T08:52:48+0000",
    "lastModifiedDate": "2020-09-11T08:52:48+0000",
    "documentHolderKey": "8a193c26722b51b701722d779e7122df",
    "documentHolderType": "GROUP",
    "name": "covid rules",
    "type": "png",
    "fileSize": 8258,
    "originalFilename": "Screenshot_2020-04-22_at_14.31.29.png",
    "location": "BRSIDSLFBOGAYZKUUKCOGGQEDOSEOD",
    "description": "some guidelines regarding covid",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "big chief"
  },
  {
    "encodedKey": "8a19a3337476f2d00174775b6a3001ae",
    "id": 43,
    "creationDate": "2020-09-10T09:31:54+0000",
    "lastModifiedDate": "2020-09-10T09:31:54+0000",
    "documentHolderKey": "8a193c26722b51b701722d779e7122df",
    "documentHolderType": "GROUP",
    "name": "group doc",
    "type": "png",
    "fileSize": 32109,
    "originalFilename": "clients_duplicate_id.png",
    "location": "JRTBQGGVXFQRQRBDGBRWQCTXJNRWXP",
    "description": "group doc desc",
    "createdByUserKey": "8a194075720ece2c017226fced6f005e",
    "userName": "big chief"
  }
]

400 : Bad Request
bad group ID

{
  "returnCode": 4,
  "returnStatus": "INVALID_PARAMETERS",
  "errorSource": "wrong owner id"
}

Responses

StatusMeaningDescriptionSchema
200OKokInline
400Bad RequestBad RequestExecutionStatusApiV1

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
anonymous[DocumentApiV1]nonefalsenone
» createdByUserKeystringnonefalsenone
» creationDatestringnonefalsenone
» descriptionstringnonefalsenone
» documentHolderKeystringnonefalsenone
» documentHolderTypestringnonefalsenone
» encodedKeystringnonefalsenone
» fileSizenumbernonefalsenone
» idnumbernonefalsenone
» lastModifiedDatestringnonefalsenone
» locationstringnonefalsenone
» namestringnonefalsenone
» originalFilenamestringnonefalsenone
» typestringnonefalsenone
» userNamestringnonefalsenone

Enumerated Values

PropertyValue
documentHolderTypeBRANCH
documentHolderTypeLOAN_ACCOUNT
documentHolderTypeGROUP
documentHolderTypeDEPOSIT_ACCOUNT
documentHolderTypeLINE_OF_CREDIT
documentHolderTypeLOAN_PRODUCT
documentHolderTypeGL_JOURNAL_ENTRY
documentHolderTypeSAVINGS_PRODUCT
documentHolderTypeUSER
documentHolderTypeCLIENT
documentHolderTypeCENTRE
documentHolderTypeID_DOCUMENT

Attach Document for a Group

POST /groups/{groupId}/documents

Attach new Document to a group

Attach a new document to a group

Example requests

a document to uplaod

{
  "document": {
    "documentHolderKey": "8a193c26722b51b701722d779e7122df",
    "documentHolderType": "GROUP",
    "name": "some image",
    "type": "PNG",
    "description": "this is an image file"
  },
  "documentContent": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAF0CAYAAACudHRvAAABQGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASS=="
}

Parameters

NameTypeDescriptionInRequired
bodyCreateDocumentApiV1a new document to be attached to an entitybodyfalse
groupIdstringThe ID of the grouppathtrue

Example Responses

201 : Created
uploaded document details

{
  "encodedKey": "8a19c035747bf5b901747c5bfb04014d",
  "id": 52,
  "creationDate": "2020-09-11T08:54:53+0000",
  "lastModifiedDate": "2020-09-11T08:54:53+0000",
  "documentHolderKey": "8a193c26722b51b701722d779e7122df",
  "documentHolderType": "GROUP",
  "name": "some image",
  "type": "png",
  "fileSize": 32109,
  "originalFilename": "some_image.png",
  "location": "RCPOUIUHJFBYDRURQNNHMOGBEFIOQF",
  "description": "this is an image file",
  "createdByUserKey": "8a194075720ece2c017226fced6f005e"
}

400 : Bad Request
provided file type does not match actual file uploaded

{
  "returnCode": 973,
  "returnStatus": "INCONSISTENT_EXTENSION_WITH_FILE_CONTENT",
  "errorSource": "Invalid extension with file content"
}

Responses

StatusMeaningDescriptionSchema
201CreatedCreatedDocumentApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Get Group Document

GET /groups/{groupId}/documents/{documentId}

Get a group Document

Get a specific document attached to a group

Parameters

NameTypeDescriptionInRequired
groupIdstringthe ID of the grouppathtrue
documentIdstringthe ID of the documentpathtrue

Example Responses

200 : OK
base64 encoded document

"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA9CAYAAAAd1W/BAAAMY2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdck0cbv3dkkrACEZAR9hJFZgAZIawIAjIFUQlJIGHEmBBE3NRSBesWUZxoVUTRagWkDkSssyhu6yiKqFRqsYoLle8yoNZ+4/c9v9+993+fe+7/jNzlvQNAr5Mvk+Wj+gAUSAvlCZGhrElp6SzSI4ABU0ADtsCTL1DIOPHxMQDKUP93eX0DIKr+qpuK65/j/1UMhSKFAAAkA=="

400 : Bad Request
bad Document ID

{
  "returnCode": 970,
  "returnStatus": "INVALID_DOCUMENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKstring
400Bad RequestBad RequestExecutionStatusApiV1

Delete Group Document

DELETE /groups/{groupId}/documents/{documentId}

Delete a group Document

Delete a document attached to a group

Parameters

NameTypeDescriptionInRequired
groupIdstringthe ID of the grouppathtrue
documentIdstringthe ID of the documentpathtrue

Example Responses

200 : OK
Success Response

{
  "returnCode": 0,
  "returnStatus": "SUCCESS"
}

400 : Bad Request
bad Document ID

{
  "returnCode": 970,
  "returnStatus": "INVALID_DOCUMENT_ID"
}

Responses

StatusMeaningDescriptionSchema
200OKOKExecutionStatusApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Get Lines of Credit for a Group

GET /groups/{groupId}/linesofcredit

Get Lines of Credit for a Group

Get lines of credit for a client in a group

Parameters

NameTypeDescriptionInRequired
fullDetailsbooleannonequeryfalse
groupIdstringnonepathtrue

Example Responses

200 : ok
a line of credit for a group, basic details

[
  {
    "encodedKey": "8a19a3cc74beb0eb0174bfa5562b04dc",
    "id": "ZCS816",
    "groupKey": "8a193c26722b51b701722d77ca932611",
    "startDate": "2020-09-01T00:00:00+0000",
    "expireDate": "2021-09-30T00:00:00+0000",
    "creationDate": "2020-09-24T10:35:16+0000",
    "approvedDate": "2020-09-24T12:35:16+0000",
    "lastModifiedDate": "2020-09-24T10:35:16+0000",
    "state": "APPROVED",
    "amount": "15000",
    "exposureLimitType": "APPROVED_AMOUNT",
    "notes": "a line of credit for the apache group",
    "availableCreditAmount": "15000"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokLineOfCreditFullApiV1

Images

Allows you to retrieve images of client profiles/signatures and any other images via api calls.

Get Image by ID

GET /images/{imageId}

Get Image by ID

Allows retrieving images of client profiles/signatures or any other images via api calls. The iamge ID can be found by, for example, making a GET request for the client.

Images will be returned as a base64 encoded string.

Parameters

NameTypeDescriptionInRequired
sizestringImage size to be returned.queryfalse
imageIdstringnonepathtrue

Enumerated Values

ParameterValue
sizeLARGE
sizeMEDIUM
sizeSMALL_THUMB
sizeTINY_THUMB

Example Responses

200 : OK
base 64 encoded string

"bW92ZSBvbiwgbm90aGluZyB0byBzZWUgaGVyZSAuLi4="

400 : Bad Request
Missing Image ID

{
  "errorSource": "picture key is required",
  "returnCode": 4,
  "returnStatus": "INVALID_PARAMETERS"
}

Responses

StatusMeaningDescriptionSchema
200OKOKstring
400Bad RequestBad RequestInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» errorSourcestringnonefalsenone
» returnCodeintegernonefalsenone
» returnStatusstringnonefalsenone

Index Rates

Update index rates on the system. For example EURIBOR is updated monthly and this can be automated using this endpoint.

Create or update Index Rates

POST /indexratesources/{indexRateSourceId}/indexrates

Update an Index Rate Source

Updates an index rate source. A valid index source ID is required.

Example requests

an index rate

{
  "indexRate": {
    "startDate": "2020-04-16",
    "rate": "-0.03256",
    "notes": "Euribor Apr 2020"
  }
}

Parameters

NameTypeDescriptionInRequired
indexRateobjectnonebodyfalse
» notesstringOptional notes about the ratebodyfalse
» ratestringA number with the interest ratebodytrue
» startDatestring(date)Date of the start of the new interest ratebodytrue
indexRateSourceIdstringnonepathtrue

Example Responses

200 Response

{
  "encodedKey": "string",
  "rate": "string",
  "reateSource": {
    "encodedKey": "string",
    "name": "string",
    "notes": "string",
    "type": "INTEREST_RATE"
  },
  "startDate": "2019-08-24T14:15:22Z",
  "userkey": "string"
}

200 : OK
response

400 : Bad Request
bad start date

{
  "returnCode": 1302,
  "returnStatus": "INVALID_INDEX_RATE_START_DATE"
}

Responses

StatusMeaningDescriptionSchema
200OKOKindexInterestRate.v1
400Bad RequestBad RequestInline

Response Schema

Status Code 400

NameTypeDescriptionRequiredRestrictions
» returnCodestringnonefalsenone
» returnStatusstringnonefalsenone

Indicators

Retrieve various performance indicators for the organization. Performance indicator descriptions can be found in our user guide.

Possible indicators to use include:

Clients

NUM_CLIENTS
NUM_ACTIVE_CLIENTS
NUM_INACTIVE_CLIENTS
NUM_OPEN_CLIENTS
NUM_CLOSED_CLIENTS
NUM_EXITED_CLIENTS
NUM_PENDING_APPROVAL_CLIENTS

Active Pure Groups

NUM_GROUPS_BORROWING
AVERAGE_GROUP_SIZE
NUM_GROUP_BORROWERS
NUM_INDIVIDUAL_BORROWERS
PERCENTAGE_OF_FEMALE_BORROWERS
NUM_GROUPS_SAVING
NUM_INDIVIDUAL_SAVERS
NUM_GROUP_SAVERS
NUM_GROUPS
NUM_HYBRID_GROUPS_BORROWING
NUM_HYBRID_GROUP_BORROWERS

Deposits

NUM_ACTIVE_SAVINGS_ACCOUNTS
TOTAL_DEPOSITS
INTEREST_PAYABLE

Loan Portfolio

NUM_LOANS_OUTSTANDING
NUM_LOANS_PENDING_DISBURSAL
NUM_LOANS_IN_ARREARS
NUM_LOANS_AWAITING_APPROVAL
PORTFOLIO_PENDING_DISBURSAL
GROSS_LOAN_PORTFOLIO
AVERAGE_LOAN_BALANCE
TOTAL_DISBURSED_ACTIVE_LOANS
PROJECTED_LOAN_INTEREST_EARNINGS

Loan Transaction

TOTAL_LOANS_DISBURSED

Risk and Aging

PORTFOLIO_PERCENT_AT_RISK
PORTFOLIO_VALUE_AT_RISK
PAR_7_DAYS
PAR_15_DAYS
PAR_30_DAYS
PAR_90_DAYS
PAR_7_30_DAYS
PAR_30_90_DAYS
PAR_90_180_DAYS
PAR_180_360_DAYS
VAR_7_DAYS
VAR_15_DAYS
VAR_30_DAYS
VAR_90_DAYS
INTEREST_IN_SUSPENSE

Organization Indicators

NUM_BRANCHES
NUM_CREDIT_OFFICERS
NUM_LOANS_PER_BRANCH
NUM_LOANS_PER_CREDIT_OFFICER
NUM_LOAN_ACCOUNTS
NUM_USERS

Get KPIs

GET /indicators/{INDICATOR}

Get Indicator

Retrieves the result of computing an indicator by it's unique name. Response is a map of the indicator name to its value which may be an integer or a decimal depending on the indicator. These indicators could be used to power a dashboard or feed data to a report.

Parameters

NameTypeDescriptionInRequired
INDICATORstringnonepathtrue

Enumerated Values

ParameterValue
INDICATORNUM_CLIENTS
INDICATORNUM_ACTIVE_CLIENTS
INDICATORNUM_INACTIVE_CLIENTS
INDICATORNUM_OPEN_CLIENTS
INDICATORNUM_CLOSED_CLIENTS
INDICATORNUM_EXITED_CLIENTS
INDICATORNUM_PENDING_APPROVAL_CLIENTS
INDICATORNUM_GROUPS_BORROWING
INDICATORAVERAGE_GROUP_SIZE
INDICATORNUM_GROUP_BORROWERS
INDICATORNUM_INDIVIDUAL_BORROWERS
INDICATORPERCENTAGE_OF_FEMALE_BORROWERS
INDICATORNUM_GROUPS_SAVING
INDICATORNUM_INDIVIDUAL_SAVERS
INDICATORNUM_GROUP_SAVERS
INDICATORNUM_GROUPS
INDICATORNUM_HYBRID_GROUPS_BORROWING
INDICATORNUM_HYBRID_GROUP_BORROWERS
INDICATORNUM_ACTIVE_SAVINGS_ACCOUNTS
INDICATORTOTAL_DEPOSITS
INDICATORINTEREST_PAYABLE
INDICATORNUM_LOANS_OUTSTANDING
INDICATORNUM_LOANS_PENDING_DISBURSAL
INDICATORNUM_LOANS_IN_ARREARS
INDICATORNUM_LOANS_AWAITING_APPROVAL
INDICATORPORTFOLIO_PENDING_DISBURSAL
INDICATORGROSS_LOAN_PORTFOLIO
INDICATORAVERAGE_LOAN_BALANCE
INDICATORTOTAL_DISBURSED_ACTIVE_LOANS
INDICATORPROJECTED_LOAN_INTEREST_EARNINGS
INDICATORTOTAL_LOANS_DISBURSED
INDICATORPORTFOLIO_PERCENT_AT_RISK
INDICATORPORTFOLIO_VALUE_AT_RISK
INDICATORPAR_7_DAYS
INDICATORPAR_15_DAYS
INDICATORPAR_30_DAYS
INDICATORPAR_90_DAYS
INDICATORPAR_7_30_DAYS
INDICATORPAR_30_90_DAYS
INDICATORPAR_90_180_DAYS
INDICATORPAR_180_360_DAYS
INDICATORVAR_7_DAYS
INDICATORVAR_15_DAYS
INDICATORVAR_30_DAYS
INDICATORVAR_90_DAYS
INDICATORINTEREST_IN_SUSPENSE
INDICATORNUM_BRANCHES
INDICATORNUM_CREDIT_OFFICERS
INDICATORNUM_LOANS_PER_BRANCH
INDICATORNUM_LOANS_PER_CREDIT_OFFICER
INDICATORNUM_LOAN_ACCOUNTS
INDICATORNUM_USERS

Example Responses

200 : OK
number of total clients

{
  "NUM_CLIENTS": "10200"
}

200 : OK
response

Responses

StatusMeaningDescriptionSchema
200OKOKInline

Response Schema

Status Code 200

NameTypeDescriptionRequiredRestrictions
» {indicator_name}stringnonefalsenone

Lines of Credit

Allows you to retrieve the lines of credit by a specific client or group, add and remove accounts from lines of credit.

Get all Lines of Credit

GET /linesofcredit

Get all lines of credit

Get all lines of credit

Parameters

NameTypeDescriptionInRequired
fullDetailsbooleanwhether to include custom fieldsqueryfalse

Example Responses

200 : ok
array of lines of credit with basic details

[
  {
    "encodedKey": "8a8080c84c2d590b014c2d59e9e80001",
    "id": "WTF118",
    "groupKey": "8a8080c84c085ddf014c085e27a7032f",
    "startDate": "2016-03-18T00:00:00+0000",
    "expireDate": "2017-03-22T00:00:00+0000",
    "creationDate": "2015-03-18T14:46:49+0000",
    "lastModifiedDate": "2015-03-18T14:46:49+0000",
    "amount": "11111",
    "availableCreditAmount": "5000",
    "notes": ""
  },
  {
    "encodedKey": "40288a7d4c2d441f014c2d45d2e70003",
    "id": "CAO277",
    "clientKey": "8a8080c84c085ddf014c085e1ecb00dd",
    "startDate": "2015-03-31T00:00:00+0000",
    "expireDate": "2015-04-02T00:00:00+0000",
    "creationDate": "2015-03-18T14:24:52+0000",
    "lastModifiedDate": "2015-03-18T14:24:52+0000",
    "amount": "1111",
    "availableCreditAmount": "200",
    "notes": ""
  },
  {
    "encodedKey": "40288a7d4c2d441f014c2d4581fe0001",
    "id": "EPG351",
    "clientKey": "8a8080c84c085ddf014c085e1e9200d7",
    "startDate": "2015-03-23T00:00:00+0000",
    "expireDate": "2015-03-30T00:00:00+0000",
    "creationDate": "2015-03-18T14:24:32+0000",
    "lastModifiedDate": "2015-03-18T14:24:32+0000",
    "amount": "1111",
    "availableCreditAmount": "400",
    "notes": ""
  }
]

200 : ok
array of lines of credit with full details

[
  {
    "encodedKey": "402880b858d95c8e0158d95f0379048a",
    "id": "QCE677",
    "clientKey": "402880b858d95c8e0158d95ce07b00f3",
    "startDate": "2016-12-01T00:00:00+0000",
    "expireDate": "2016-12-30T00:00:00+0000",
    "creationDate": "2016-12-07T13:01:36+0000",
    "lastModifiedDate": "2016-12-07T13:01:36+0000",
    "state": "ACTIVE",
    "amount": "1000",
    "notes": "",
    "availableCreditAmount": "1000",
    "customInformation": [
      {
        "encodedKey": "402880b858d95c8e0158d95f0379048b",
        "parentKey": "402880b858d95c8e0158d95f0379048a",
        "customFieldKey": "402880b858d95c8e0158d95dd4a40484",
        "customField": {
          "encodedKey": "402880b858d95c8e0158d95dd4a40484",
          "id": "loccf2",
          "creationDate": "2016-12-07T13:00:01+0000",
          "lastModifiedDate": "2016-12-07T13:00:01+0000",
          "name": "LoC CF Req",
          "type": "LINE_OF_CREDIT",
          "dataType": "STRING",
          "valueLength": "SHORT",
          "isDefault": true,
          "isRequired": true,
          "description": "",
          "customFieldSet": {
            "encodedKey": "402880b858d95c8e0158d95cfe4b0480",
            "name": "LoC CF Set",
            "notes": "",
            "createdDate": "2016-12-07T12:58:39+0000",
            "indexInList": 0,
            "type": "LINE_OF_CREDIT",
            "usage": "SINGLE"
          },
          "indexInList": 1,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "402880b858d95c8e0158d95dd4a40485",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "editRights": {
            "encodedKey": "402880b858d95c8e0158d95dd4a40486",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "asd",
        "indexInList": -1,
        "customFieldID": "loccf2",
        "customFieldSetGroupIndex": -1
      },
      {
        "encodedKey": "402880b858d95c8e0158d95f0379048c",
        "parentKey": "402880b858d95c8e0158d95f0379048a",
        "customFieldKey": "402880b858d95c8e0158d95cfe4b0481",
        "customField": {
          "encodedKey": "402880b858d95c8e0158d95cfe4b0481",
          "id": "loccf1",
          "creationDate": "2016-12-07T12:59:15+0000",
          "lastModifiedDate": "2016-12-07T14:48:17+0000",
          "name": "LoC CF",
          "type": "LINE_OF_CREDIT",
          "dataType": "STRING",
          "valueLength": "SHORT",
          "isDefault": false,
          "isRequired": false,
          "description": "",
          "customFieldSet": {
            "encodedKey": "402880b858d95c8e0158d95cfe4b0480",
            "name": "LoC CF Set",
            "notes": "",
            "createdDate": "2016-12-07T12:58:39+0000",
            "indexInList": 0,
            "type": "LINE_OF_CREDIT",
            "usage": "SINGLE"
          },
          "indexInList": 0,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "402880b858d95c8e0158d95cfe4b0482",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "402880b858d95c8e0158d95dd4a40483",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "123",
        "indexInList": -1,
        "customFieldID": "loccf1",
        "customFieldSetGroupIndex": -1
      },
      {
        "encodedKey": "402880b858d95c8e0158d95ffb37048d",
        "parentKey": "402880b858d95c8e0158d95f0379048a",
        "customFieldKey": "402880b858d95c8e0158d95dd4a40487",
        "customField": {
          "encodedKey": "402880b858d95c8e0158d95dd4a40487",
          "id": "loccf3",
          "creationDate": "2016-12-07T13:00:33+0000",
          "lastModifiedDate": "2016-12-07T14:50:51+0000",
          "name": "LoC CF Role View",
          "type": "LINE_OF_CREDIT",
          "dataType": "STRING",
          "valueLength": "SHORT",
          "isDefault": true,
          "isRequired": false,
          "description": "",
          "customFieldSet": {
            "encodedKey": "402880b858d95c8e0158d95cfe4b0480",
            "name": "LoC CF Set",
            "notes": "",
            "createdDate": "2016-12-07T12:58:39+0000",
            "indexInList": 0,
            "type": "LINE_OF_CREDIT",
            "usage": "SINGLE"
          },
          "indexInList": 2,
          "state": "NORMAL",
          "customFieldSelectionOptions": [],
          "viewRights": {
            "encodedKey": "402880b858d95c8e0158d95f03790488",
            "isAccessibleByAllUsers": true,
            "roles": []
          },
          "editRights": {
            "encodedKey": "402880b858d95c8e0158d95f03790489",
            "isAccessibleByAllUsers": false,
            "roles": []
          },
          "unique": false,
          "values": [],
          "amounts": {}
        },
        "value": "role",
        "indexInList": -1,
        "customFieldID": "loccf3",
        "customFieldSetGroupIndex": -1
      }
    ]
  }
]

Responses

StatusMeaningDescriptionSchema
200OKokLineOfCreditExpandedApiV1

Create Line of Credit

POST /linesofcredit

Create a line of credit

Create a new line of credit for a client or group

Example requests

a line of credit for a client with custom information

{
  "lineOfCredit": {
    "id": "FEP015",
    "clientKey": "4028808a58d348710158d3490d0500f1",
    "startDate": "2016-06-01T00:00:00+0000",
    "expireDate": "2016-06-30T00:00:00+0000",
    "amount": "10000",
    "exposureLimitType": "APPROVED_AMOUNT",
    "notes": "some fascinating line of credit notes",
    "customInformation": [
      {
        "value": "Pending",
        "customFieldID": "cf1"
      },
      {
        "value": "3",
        "customFieldID": "cf2"
      }
    ]
  }
}

Parameters

NameTypeDescriptionInRequired
bodyCreateLineOfCreditApiV1nonebodyfalse

Example Responses

200 Response

{
  "amount": 0,
  "approvedDate": "string",
  "availableCreditAmount": 0,
  "clientKey": "string",
  "closedDate": "string",
  "creationDate": "string",
  "customInformation": [
    {
      "amount": 0,
      "customField": {
        "amounts": {
          "property1": 0,
          "property2": 0
        },
        "builtInCustomFieldId": "MOBILE_PHONE",
        "creationDate": "string",
        "customFieldProductSettings": [
          {
            "customFieldEncodedKey": "string",
            "encodedKey": "string",
            "isDefault": true,
            "isRequired": true,
            "linkType": "CLIENT_ROLE",
            "productKey": "string"
          }
        ],
        "customFieldSelectionOptions": [
          {
            "constraint": {
              "customFieldKey": "string",
              "dataFieldType": "NATIVE",
              "dataFieldValue": "string",
              "dataItemType": "WRITTEN_OFF_LOANS",
              "dataType": "ENUM",
              "encodedKey": "string",
              "filterElement": "STARTS_WITH_CASE_SENSITIVE",
              "groupNumber": 0,
              "index": 0,
              "linkingOperator": "OR",
              "secondValue": "string",
              "value": "string"
            },
            "encodedKey": "string",
            "id": "string",
            "score": 0,
            "value": "string"
          }
        ],
        "customFieldSet": {
          "builtInType": "DETAILS",
          "createdDate": "string",
          "customFields": [
            {}
          ],
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "lastModifiedDate": "string",
          "name": "string",
          "notes": "string",
          "type": "USER_INFO",
          "usage": "SINGLE"
        },
        "dataType": "GROUP_LINK",
        "description": "string",
        "editRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        },
        "encodedKey": "string",
        "id": "string",
        "indexInList": 0,
        "isDefault": true,
        "isRequired": true,
        "lastModifiedDate": "string",
        "name": "string",
        "state": "DEACTIVATED",
        "type": "USER_INFO",
        "unique": true,
        "validationPattern": "string",
        "valueLength": "SHORT",
        "values": [
          "string"
        ],
        "viewRights": {
          "encodedKey": "string",
          "isAccessibleByAllUsers": true,
          "roles": [
            "string"
          ]
        }
      },
      "customFieldID": "string",
      "customFieldKey": "string",
      "customFieldSetGroupIndex": 0,
      "encodedKey": "string",
      "indexInList": 0,
      "linkedEntityKeyValue": "string",
      "parentKey": "string",
      "selectionKey": "string",
      "value": "string"
    }
  ],
  "encodedKey": "string",
  "expireDate": "string",
  "exposureLimitType": "APPROVED_AMOUNT",
  "groupKey": "string",
  "id": "string",
  "idPattern": "string",
  "lastModifiedDate": "string",
  "notes": "string",
  "startDate": "string",
  "state": "WITHDRAWN",
  "subState": "WITHDRAWN"
}

400 : Bad Request
malformatted JSON/missing required field

{
  "returnCode": 30,
  "returnStatus": "MISSING_ENTITY_JSON"
}

Responses

StatusMeaningDescriptionSchema
200OKokLineOfCreditFullApiV1
400Bad RequestBad RequestExecutionStatusApiV1

Search for Lines of Credit

POST /linesofcredit/search

Search Lines of Credit

Search for lines of credit based on some given criteria

Example requests

Get all lines of credit approved this month

{
  "filterConstraints": [
    {
      "filterSelection": "APPROVAL_DATE",
      "filterElement": "THIS_MONTH"
    }
  ]
}

Get all lines of credit that are in a specific substate

{
  "filterConstraints": [
    {
      "filterSelection": "SUBSTATE",
      "filterElement": "IN",
      "values": [
        "WITHDRAWN",
        "REJECTED"
      ]
    }
  ]
}

Parameters

NameTypeDescriptionInRequired
bodyFilterApiV1nonebodyfalse

Example Responses

200 Response

[
  {
    "amount": 0,
    "approvedDate": "string",
    "availableCreditAmount": 0,
    "clientKey": "string",
    "closedDate": "string",
    "creationDate": "string",
    "customInformation": [
      {
        "amount": 0,
        "customField": {
          "amounts": {
            "property1": 0,
            "property2": 0
          },
          "builtInCustomFieldId": "MOBILE_PHONE",
          "creationDate": "string",
          "customFieldProductSettings": [
            {
              "customFieldEncodedKey": "string",
              "encodedKey": "string",
              "isDefault": true,
              "isRequired": true,
              "linkType": "CLIENT_ROLE",
              "productKey": "string"
            }
          ],
          "customFieldSelectionOptions": [
            {
              "constraint": {
                "customFieldKey": "string",
                "dataFieldType": "NATIVE",
                "dataFieldValue": "string",
                "dataItemType": "WRITTEN_OFF_LOANS",
                "dataType": "ENUM",
                "encodedKey": "string",
                "filterElement": "STARTS_WITH_CASE_SENSITIVE",
                "groupNumber": 0,
                "index": 0,
                "linkingOperator": "OR",
                "secondValue": "string",
                "value": "string"
              },
              "encodedKey": "string",
              "id": "string",
              "score": 0,
              "value": "string"
            }
          ],
          "customFieldSet": {
            "builtInType": "DETAILS",
            "createdDate": "string",
            "customFields": [
              {}
            ],
            "encodedKey": "string",
            "id": "string",
            "indexInList": 0,
            "lastModifiedDate": "string",
            "name": "string",
            "notes": "string",
            "type": "USER_INFO",
            "usage": "SINGLE"
          },
          "dataType": "GROUP_LINK",
          "description": "string",
          "editRights": {
            "encodedKey": "string",
            "isAccessibleByAllUsers": true,
            "roles": [
              "string"
            ]
          },
          "encodedKey": "string",
          "id": "string",
          "indexInList": 0,
          "isDefault": true,
          "isRequired": true,
          "lastModifiedDate": "string",
          "name": "string",
          "state": "DEACTIVATED",
          "type": "USER_INFO",
          "unique": true