NAV Navbar
cURL HTTP JavaScript Node.js Ruby Python Java Go

Welcome

Scroll down for code samples, example requests, and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

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

We have language bindings in cURL, HTTP, JavaScript, Node.js, Ruby, Python, Java, and Go! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the blue tabs at the top right.

About Mambu API 2.0

HTTP Verbs

In Mambu API 2.0, standard HTTP verbs are used to indicate the intent and method of an API request.

Verb Function
GET To retrieve a resource or a collection of resources
POST To create a resources
PATCH To modify an existing resources
PUT To replace an existing resource
DELETE To delete a resource

Base URL

The base URL for requests to the API is found below:

Authentication

Mambu requires Basic Authentication for authorizing all API calls. A username and password 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.

Versioning

Code samples

# You can also use wget
curl -X {HTTP Verb} https://localhost:8889/api/{Insert resource URI here} \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/Insert-Resource-URI-here HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

NOTE: Replace 'GET' above with the required HTTP verb.
Placing a {token} at the beginning of this code sample breaks the highlighting,
making it nearly impossible to read.
var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/{Insert resource URI here}',
  method: '{HTTP Verb}',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/{Insert resource URI here}',
{
  method: '{HTTP Verb}',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.{HTTP Verb} 'https://localhost:8889/api/{Insert resource URI here}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.{HTTP Verb}('https://localhost:8889/api/{Insert resource URI here}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/{Insert resource URI here}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestProperty(Accept, application/vnd.mambu.v2+json);
con.setRequestMethod("{HTTP Verb}");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("{HTTP Verb}", "https://localhost:8889/api/{Insert resource URI here}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Mambu API 2.0 features a new versioning system to assist with backwards compatibility. Contract changes will result in a new version of each affected resource becoming available without the old version immediately becoming obsolete.

Versioning is supported in API requests via the Accept: header.

Template: application/vnd.mambu.{version}+json

To retrieve a specific version of an entity, fill a value into the template above. The highest currently supported version is v2.

Idempotency

Code samples

# You can also use wget
curl -X POST https://localhost:8889/api/deposits/{depositAccountId}/transactions \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json' \
  -H 'Idempotency-Key: oMHMjEZWF6NWvU'

POST https://localhost:8889/api/deposits/{depositAccountId}/transactions HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
Idempotency-Key: oMHMjEZWF6NWvU

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'oMHMjEZWF6NWvU'

};

$.ajax({
  url: 'https://localhost:8889/api/deposits/{depositAccountId}/transactions',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "migrationEventKey": "string",
  "transactionDetails": {
    "encodedKey": "string",
    "transactionChannelKey": "string",
    "transactionChannelId": "string"
  },
  "notes": "string",
  "affectedAmounts": {
    "feesAmount": 0,
    "overdraftInterestAmount": 0,
    "overdraftFeesAmount": 0,
    "fractionAmount": 0,
    "overdraftAmount": 0,
    "interestAmount": 0,
    "fundsAmount": 0
  },
  "cardTransaction": {
    "externalReferenceId": "string",
    "advice": false,
    "externalAuthorizationReferenceId": "string",
    "cardAcceptor": {
      "zip": "string",
      "country": "string",
      "city": "string",
      "name": "string",
      "state": "string",
      "mcc": 0
    },
    "userTransactionTime": "string",
    "currencyCode": "string",
    "transactionChannelId": "string"
  },
  "taxes": {
    "taxRate": 0
  },
  "tillKey": "string",
  "type": "IMPORT",
  "balances": {
    "totalBalance": 0
  },
  "terms": {
    "interestSettings": {
      "interestRate": 0
    },
    "overdraftSettings": {
      "overdraftLimit": 0
    },
    "overdraftInterestSettings": {
      "interestRate": 0,
      "indexInterestRate": 0
    }
  },
  "reversalTransactionKey": "string",
  "id": "string",
  "originalTransactionKey": "string",
  "amount": 0,
  "linkedDepositTransactionKey": "string",
  "entryDate": "2016-09-06T13:37:50+03:00",
  "externalId": "string",
  "userKey": "string",
  "parentAccountKey": "string",
  "linkedLoanTransactionKey": "string",
  "productTypeKey": "string",
  "currencyCode": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'oMHMjEZWF6NWvU'

};

fetch('https://localhost:8889/api/deposits/{depositAccountId}/transactions',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json',
  'Idempotency-Key' => 'oMHMjEZWF6NWvU'
}

result = RestClient.post 'https://localhost:8889/api/deposits/{depositAccountId}/transactions',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json',
  'Idempotency-Key': 'oMHMjEZWF6NWvU'
}

r = requests.post('https://localhost:8889/api/deposits/{depositAccountId}/transactions', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/deposits/{depositAccountId}/transactions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
String idempotentKey = UUID.randomUUID().toString();
con.setRequestProperty(Idempotency-Key, idempotentKey);
con.setRequestProperty(Accept, application/vnd.mambu.v2+json);
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},
        "Idempotency-Key": []string{"oMHMjEZWF6NWvU"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://localhost:8889/api/deposits/{depositAccountId}/transactions", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Following RESTful design principles, our API is designed to be robust in the event of failure. When working with financial transactions, it is especially important that interruptions in communication do not result in accidental data loss or duplication. If a user sends a request but never receives a response, they should be able to safely retry the request without fear of accidentally performing the action twice. In other words, the system should be designed so that a request will perform the desired action "exactly once", no matter how often it is repeated. This concept is called Idempotence.

Example Situations

Client Responsibilities

Support for idempotent requests is an integral part of our API and does not require any further set-up. Clients can choose on a request by request basis, however, whether to use Mambu in an idempotent manner or not. When doing so, clients should keep the following requirements in mind.

Idempotency keys must

Retry mechanisms must

Pagination

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/{Insert resource URI here}?offset=10&limit=10&paginationDetails=ON \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/Insert-Resource-URI-here?offset=10&limit=10&paginationDetails=ON HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

NOTE: Replace 'GET' above with the required HTTP verb.
Placing a {token} at the beginning of this code sample breaks the highlighting,
making it nearly impossible to read.
var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/{Insert resource URI here}?offset=10&limit=10&paginationDetails=ON',
  method: '{HTTP Verb}',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/{Insert resource URI here}'?offset=10&limit=10&paginationDetails=ON,
{
  method: '{HTTP Verb}',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.{HTTP Verb} 'https://localhost:8889/api/{Insert resource URI here}?offset=10&limit=10&paginationDetails=ON',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.{HTTP Verb}('https://localhost:8889/api/{Insert resource URI here}?offset=10&limit=10&paginationDetails=ON', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/{Insert resource URI here}?offset=10&limit=10&paginationDetails=ON");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestProperty(Accept, application/vnd.mambu.v2+json);
con.setRequestMethod("{HTTP Verb}");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("{HTTP Verb}", "https://localhost:8889/api/{Insert resource URI here}?offset=10&limit=10&paginationDetails=ON", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Response headers

(...) content-type: application/vnd.mambu.v2+json  date: Mon, 03 Sep 2018 10:56:15 GMT  items-limit: 10  items-offset: 10  items-total: 35  (...)

Mambu API 2.0 has customizable pagination capabilities, however this functionality is deactivated by default and must be specified in each request.

In order to view pagination details, append ?paginationDetails=ON to the end of the resource URI in your request. The pagination details (including total number of records) will be returned as headers in the response.

To further 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

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/{Insert resource URI here}?detailsLevel=FULL \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/Insert-Resource-URI-here?detailsLevel=FULL HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

NOTE: Replace 'GET' above with the required HTTP verb.
Placing a {token} at the beginning of this code sample breaks the highlighting,
making it nearly impossible to read.
var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/{Insert resource URI here}?detailsLevel=FULL',
  method: '{HTTP Verb}',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/{Insert resource URI here}?detailsLevel=FULL',
{
  method: '{HTTP Verb}',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.{HTTP Verb} 'https://localhost:8889/api/{Insert resource URI here}?detailsLevel=FULL',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.{HTTP Verb}('https://localhost:8889/api/{Insert resource URI here}?detailsLevel=FULL', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/{Insert resource URI here}?detailsLevel=FULL");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestProperty(Accept, application/vnd.mambu.v2+json);
con.setRequestMethod("{HTTP Verb}");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("{HTTP Verb}", "https://localhost:8889/api/{Insert resource URI here}?detailsLevel=FULL", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Mambu API 2.0 supports two detail levels for responses:

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

Using the API

Requests

Code samples

# You can also use wget
curl -X {HTTP Verb} https://localhost:8889/api/{Insert resource URI here} \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/Insert-Resource-URI-here HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

NOTE: Replace 'GET' above with the required HTTP verb.
Placing a {token} at the beginning of this code sample breaks the highlighting,
making it nearly impossible to read.
var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/{Insert resource URI here}',
  method: '{HTTP Verb}',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/{Insert resource URI here}',
{
  method: '{HTTP Verb}',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.{HTTP Verb} 'https://localhost:8889/api/{Insert resource URI here}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.{HTTP Verb}('https://localhost:8889/api/{Insert resource URI here}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/{Insert resource URI here}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestProperty(Accept, application/vnd.mambu.v2+json);
con.setRequestMethod("{HTTP Verb}");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("{HTTP Verb}", "https://localhost:8889/api/{Insert resource URI here}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

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:

Field Type Availability Content
errorCode number Always present A unique error code. For a full list, please see Mambu Response Codes.
errorSource string Sometimes present A human-readable message capturing unsatisfied constraints.
errorReason string Always present A human-readable message stating the general category of the failure.

or

Generate an SDK

You can also generate a SDK Client for each resource in 50+ programming languages. To do so:

  1. Visit our Swagger documentation page.

  2. Choose a resource from the drop-down menu in the upper right-hand corner.

  3. Scroll down to the "SDK Client" section at the bottom of the page.

  4. Choose from the available programming languages via the drop-down menu at the left.

  5. Click Generate SDK.


Branches

Allows you to retrieve branches which are being used by an organization.

getAll

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/branches \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/branches HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/branches',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/branches',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.get 'https://localhost:8889/api/branches',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.get('https://localhost:8889/api/branches', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/branches");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://localhost:8889/api/branches", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /branches

Allows retrieval of branches using various query parameters

Parameters

Parameter In Type Required Description
offset query integer(int32) false Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results
limit query integer(int32) false Pagination, the number of elements to retrieve, used in combination with offset to paginate results
paginationDetails query string false Flag specifying whether the pagination should be enabled or not. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object

Enumerated Values

Parameter Value
paginationDetails ON
paginationDetails OFF
detailsLevel BASIC
detailsLevel FULL

Example responses

200 Response

[
  {
    "emailAddress": "string",
    "addresses": [
      {
        "country": "string",
        "parentKey": "string",
        "city": "string",
        "latitude": 0,
        "postcode": "string",
        "indexInList": 0,
        "encodedKey": "string",
        "region": "string",
        "line2": "string",
        "line1": "string",
        "longitude": 0
      }
    ],
    "phoneNumber": "string",
    "notes": "string",
    "lastModifiedDate": "2016-09-06T13:37:50+03:00",
    "name": "string",
    "encodedKey": "string",
    "id": "string",
    "state": "ACTIVE",
    "creationDate": "2016-09-06T13:37:50+03:00",
    "branchHolidays": [
      {
        "name": "string",
        "date": "1987-04-26",
        "encodedKey": "string",
        "isAnnuallyRecurring": false,
        "creationDate": "2016-09-06T13:37:50+03:00"
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Branches list retrieved Inline
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Branch] false none none
» emailAddress string false none branch email address
» addresses [Address] false none list of branch addresses
»» country string false none The country
»» parentKey string false read-only Address parent key, the object owning this address, client, centre, branch
»» city string false none The city for this address
»» latitude number false none The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90
»» postcode string false none The post code
»» indexInList integer(int32) false none Index of this address in the list of addresses
»» encodedKey string false read-only Address encoded key, unique, generated
»» region string false none The region that is part of the address
»» line2 string false none The second line for the address, in case the first one doesn't fit the information, this is completely optional
»» line1 string false none The first line of the address
»» longitude number false none The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180
» phoneNumber string false none branch phone number, as a string
» notes string false none notes about this branch
» lastModifiedDate string(date-time) false none last date when the branch was modified
» name string false none branch name
» encodedKey string false read-only The encoded key of the entity, generated by JDO, globally unique
» id string false none branch ID, unique
» state string false none branch state
» creationDate string(date-time) false none creation date of the branch
» branchHolidays [Holiday] false none list of branch holidays
»» name string false none holiday name
»» date string(date) false none holiday date
»» encodedKey string false read-only The encoded key of the entity, generated by JDO, globally unique
»» isAnnuallyRecurring boolean false none if is annually recurring
»» creationDate string(date-time) false none holiday creation date

Enumerated Values

Property Value
state ACTIVE
state INACTIVE

Response Headers

Status Header Type Format Description
200 Items-Offset integer int32 Pagination details, the index of the first returned item
200 Items-Limit integer int32 Pagination details, the requested page size
200 Items-Total integer int32 Pagination details, the total available items

getById

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/branches/{branchId} \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/branches/{branchId} HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/branches/{branchId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/branches/{branchId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.get 'https://localhost:8889/api/branches/{branchId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.get('https://localhost:8889/api/branches/{branchId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/branches/{branchId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://localhost:8889/api/branches/{branchId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /branches/{branchId}

Allows retrieval of a single the branch via id or encoded key

Parameters

Parameter In Type Required Description
branchId path string true The id or or encoded key of a branch
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object

Enumerated Values

Parameter Value
detailsLevel BASIC
detailsLevel FULL

Example responses

200 Response

{
  "emailAddress": "string",
  "addresses": [
    {
      "country": "string",
      "parentKey": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "encodedKey": "string",
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "phoneNumber": "string",
  "notes": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "name": "string",
  "encodedKey": "string",
  "id": "string",
  "state": "ACTIVE",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "branchHolidays": [
    {
      "name": "string",
      "date": "1987-04-26",
      "encodedKey": "string",
      "isAnnuallyRecurring": false,
      "creationDate": "2016-09-06T13:37:50+03:00"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Branch retrieved Branch
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Branch not found ErrorResponse

- - - Schemas - - -

Below you can find more detailed information regarding the individual properties of JSON response types relevant to the API resources described above.

Address

{
  "country": "string",
  "parentKey": "string",
  "city": "string",
  "latitude": 0,
  "postcode": "string",
  "indexInList": 0,
  "encodedKey": "string",
  "region": "string",
  "line2": "string",
  "line1": "string",
  "longitude": 0
}

Address Data Transfer Object

Properties

Name Type Required Restrictions Description
country string false none The country
parentKey string false read-only Address parent key, the object owning this address, client, centre, branch
city string false none The city for this address
latitude number false none The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90
postcode string false none The post code
indexInList integer(int32) false none Index of this address in the list of addresses
encodedKey string false read-only Address encoded key, unique, generated
region string false none The region that is part of the address
line2 string false none The second line for the address, in case the first one doesn't fit the information, this is completely optional
line1 string false none The first line of the address
longitude number false none The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180

Holiday

{
  "name": "string",
  "date": "1987-04-26",
  "encodedKey": "string",
  "isAnnuallyRecurring": false,
  "creationDate": "2016-09-06T13:37:50+03:00"
}

Holiday Date Transfer Object

Properties

Name Type Required Restrictions Description
name string false none holiday name
date string(date) false none holiday date
encodedKey string false read-only The encoded key of the entity, generated by JDO, globally unique
isAnnuallyRecurring boolean false none if is annually recurring
creationDate string(date-time) false none holiday creation date

Branch

{
  "emailAddress": "string",
  "addresses": [
    {
      "country": "string",
      "parentKey": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "encodedKey": "string",
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "phoneNumber": "string",
  "notes": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "name": "string",
  "encodedKey": "string",
  "id": "string",
  "state": "ACTIVE",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "branchHolidays": [
    {
      "name": "string",
      "date": "1987-04-26",
      "encodedKey": "string",
      "isAnnuallyRecurring": false,
      "creationDate": "2016-09-06T13:37:50+03:00"
    }
  ]
}

Branch Date Transfer Object

Properties

Name Type Required Restrictions Description
emailAddress string false none branch email address
addresses [Address] false none list of branch addresses
phoneNumber string false none branch phone number, as a string
notes string false none notes about this branch
lastModifiedDate string(date-time) false none last date when the branch was modified
name string false none branch name
encodedKey string false read-only The encoded key of the entity, generated by JDO, globally unique
id string false none branch ID, unique
state string false none branch state
creationDate string(date-time) false none creation date of the branch
branchHolidays [Holiday] false none list of branch holidays

Enumerated Values

Property Value
state ACTIVE
state INACTIVE

RestError

{
  "errorCode": 0,
  "errorSource": "string",
  "errorReason": "SUCCESS"
}

Properties

Name Type Required Restrictions Description
errorCode integer(int32) false none none
errorSource string false none none
errorReason string false none none

Enumerated Values

Property Value
errorReason SUCCESS
errorReason INVALID_BASIC_AUTHORIZATION
errorReason INVALID_CREDENTIALS
errorReason INVALID_API_OPERATION
errorReason INVALID_PARAMETERS
errorReason METHOD_NOT_IMPLEMENTED
errorReason INTERNAL_ERROR
errorReason API_NOT_AUTHORIZED
errorReason USER_TRANSACTION_LIMIT_EXCEEDED
errorReason API_CONFIGURATION_ERROR
errorReason INVALID_TENANT_ID
errorReason INVALID_PAGINATION_OFFSET_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_OFFSET_VALUE
errorReason INVALID_PAGINATION_LIMIT_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_LIMIT_VALUE
errorReason INVALID_PERMISSIONS
errorReason INVALID_IP_ADDRESS
errorReason INACTIVE_USER
errorReason NO_API_ACCESS
errorReason FEATURE_DISABLED
errorReason MAX_FILE_SIZE_EXCEEDED
errorReason MAX_FILENAME_LENGTH_EXCEEDED
errorReason UNSUPPORTED_CHARACTER_ENCODING
errorReason INVALID_API_PROTOCOL
errorReason EXCESSIVE_INVALID_REQUESTS
errorReason INCONSISTENT_IDENTIFIER_WITH_JSON
errorReason INVALID_JSON_SYNTAX
errorReason PARAMETER_NOT_ALLOWED
errorReason START_DATE_AFTER_END_DATE
errorReason OBJECT_NOT_FOUND
errorReason MISSING_ENTITY_JSON
errorReason MISSING_REQUIRED_PARAMETER
errorReason BLOCKING_OPERATION_IN_PROGRESS
errorReason NON_REVERSIBLE_WRITE_OFF
errorReason NON_WEEKLY_LOAN_REPAYMENTS
errorReason INCONSISTENT_LINKED_ACCOUNT
errorReason INVALID_LOAN_ACCOUNT_ID
errorReason INVALID_AMOUNT
errorReason INVALID_DATE
errorReason INVALID_NOTES
errorReason INVALID_TRANSACTION_TYPE_ID
errorReason INVALID_ACCOUNT_STATE
errorReason INVALID_FEE
errorReason LOAN_PRODUCT_MISMATCH
errorReason INVALID_FIELD_FOR_TRANSACTION_TYPE
errorReason INACTIVE_TRANSACTION_TYPE
errorReason EXCESS_REPAYMENT_ERROR
errorReason TRANSACTION_LOGGED_AFTER_NOT_DISBURSED_TRANCHE
errorReason UNDEFINED_ACCOUNT_FOR_FINANCIAL_RESOURCE_ERROR
errorReason INVALID_ACCOUNT_FOR_JOURNAL_ENTRY_ERROR
errorReason MISSING_LOAN_ID
errorReason MAXIMUM_EXPOSURE_EXCEEDED
errorReason INVALID_STATE_TRANSITION
errorReason NUMBER_OF_LOANS_EXCEEDED
errorReason INVALID_FIRST_REPAYMENT_DUE_DATE
errorReason INVALID_REPAYMENT_DUE_DAY
errorReason INVALID_INTEREST_RATE
errorReason INVALID_INSTALLMENTS
errorReason MISSING_LINKED_ACCOUNT
errorReason PREPAYMENT_NOT_ALLOWED_ERROR
errorReason REPAYMENT_DATE_IN_THE_FUTURE_ERROR
errorReason INVALID_DISBURSEMENT_DATE
errorReason ILLEGAL_LOAN_PARAMETERS_MODIFICATION
errorReason ORIGINAL_ACCOUNT_HAS_FUNDS
errorReason INVALID_ACCOUNT_STATE_FOR_REPAYMENTS
errorReason DISBURSEMENT_FEES_EXCEED_LOAN_AMOUNT
errorReason INTEREST_CANNOT_BE_APPLIED
errorReason ENTRY_DATE_BEFORE_OTHER_TRANSACTION
errorReason INCONSISTENT_SCHEDULE_PRINCIPAL_DUE_WITH_LOAN_AMOUNT
errorReason ACCOUNT_HAS_NO_ACCRUED_INTEREST
errorReason INTEREST_ALREADY_APPLIED_ON_DISBURSEMENT_ACCOUNT
errorReason INCONSISTENT_WITH_FIXED_DAYS_OF_MONTH
errorReason NEGATIVE_PRINCIPAL_FOR_INSTALLMENT
errorReason INVALID_TAX_RATE
errorReason INSUFFICIENT_GUARANTEES
errorReason MISSING_REPAYMENT_PERIOD_COUNT
errorReason MISSING_REPAYMENT_INTERVAL
errorReason FUTURE_PAYMENT_NOT_ALLOWED_ERROR
errorReason DISBURSEMENT_WITH_ZERO_LOAN_AMOUNT_NOT_ALLOWED
errorReason MINIMUM_ARREARS_DAYS_NOT_REACHED
errorReason ACCOUNT_ALREADY_UNLOCKED
errorReason LOAN_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING
errorReason RESCHEDULED_LOAN
errorReason REFINANCED_LOAN
errorReason INVALID_PRODUCT_WITH_FUNDING_SOURCE_DISABLED
errorReason INVALID_ID
errorReason FAILED_TO_GENERATE_IDENTIFIER
errorReason INCONSISTENT_ACCOUNT_ID_WITH_ACCOUNT_HOLDER_TYPE
errorReason INVALID_ASSET_NAME
errorReason GUARANTOR_KEY_NOT_ALLOWED
errorReason GUARANTOR_SAVINGS_KEY_NOT_ALLOWED
errorReason INVALID_GUARANTOR_KEY
errorReason INVALID_SAVINGS_ACCOUNT_KEY
errorReason INVALID_GUARANTOR_STATE
errorReason DUPLICATED_GUARANTOR_WITHOUT_SAVINGS_ACCOUNT
errorReason DUPLICATED_SAVINGS_ACCOUNT
errorReason INSUFFICIENT_SAVINGS_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_STATE
errorReason DUPLICATED_ASSET
errorReason GUARANTOR_ASSET_NAME_NOT_ALLOWED
errorReason TRANSACTION_NOT_FOUND
errorReason INVALID_TRANSACTION_TYPE
errorReason UNREVERSED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE
errorReason INVALID_GUARANTOR_PERMISSION
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_ACCOUNTS
errorReason MISSING_PENALTY_RATE
errorReason INVALID_REPAYMENT_NUMBER
errorReason MISSING_REPAYMENT_NUMBER
errorReason INVALID_REPAYMENT_STATE
errorReason CENTRE_MEETING_DAY_IN_NON_WORKING_DAY
errorReason ARBITRARY_FEE_NOT_ALLOWED
errorReason INVALID_REPAYMENT_ID
errorReason ACCOUNT_BALANCE_OUTSIDE_CONSTRAINTS
errorReason EDITING_DATE_NOT_IN_CENTER_MEETING_DAY
errorReason CUSTOM_MADE_INSTALLMENT_ADDED_BEFORE_PAID_INSTALLMENT
errorReason EDITING_REPAYMENTS_NOT_ALLOWED
errorReason INTEREST_BALANCE_CANT_BE_EDITED_AT_SPECIFIED_DATE
errorReason INVALID_DUE_DATE
errorReason NEGATIVE_BALANCE
errorReason NON_POSITIVE_TOTAL_BALANCE
errorReason PARAMS_INCONSISTENT_WITH_PRODUCT_RULES
errorReason INVALID_GRACE_PERIOD
errorReason INVALID_ANTICIPATED_DISBURSEMENT
errorReason INVALID_REPAYMENT_FREQUENCY
errorReason INVALID_PRINCIPAL_REPAYMENT_INVERVAL
errorReason INVALID_PRODUCT_STATE
errorReason BALLOON_PAYMENTS_NOT_ALLOWED_BY_PRODUCT
errorReason MANDATORY_PERIODIC_PAYMENT
errorReason PERIODIC_PAYMENT_GREATER_THAN_LOAN_AMOUNT
errorReason MISSING_INTEREST_RATE_SPREAD_ON_PRODUCT
errorReason FIRST_REPAYMENT_DATE_BEFORE_EXPECTED_DISBURSEMENT_DATE
errorReason INVALID_PENALTY_RATE
errorReason CANNOT_EDIT_SOLIDARITY_LOANS
errorReason INVALID_INTEREST_SPREAD
errorReason INVALID_PERIODIC_PAYMENT
errorReason UNKNOWN_LOAN_ACCOUNT_ERROR
errorReason MISSING_GROUP_ID
errorReason INVALID_GROUP_ID
errorReason INVALID_FULL_DETAILS
errorReason INVALID_INDICATORS
errorReason GROUP_NOT_FOUND
errorReason INVALID_PARAMATERS_FOR_PRODUCT
errorReason INVALID_USER_WHO_APPROVED_THE_LOAN_CANNOT_DISBURSE_IT
errorReason INVALID_GROUP_SIZE
errorReason MULTIPLE_GROUP_MEMBERSHIP
errorReason INVALID_GROUP_ROLE_NAME_KEY
errorReason GROUP_ROLE_CLIENT_NOT_GROUP_MEMBER
errorReason TRANSACTION_ALREADY_REVERSED
errorReason INVALID_TRANSACTION_ID
errorReason TRANSACTION_ID_AND_ACCOUNT_MISMATCH
errorReason TRANSACTION_LOGGED_FOR_CLOSED_TILL
errorReason TILL_BALANCE_ABOVE_MAX
errorReason TILL_BALANCE_UNDER_MIN
errorReason TRANSACTION_MADE_FROM_A_TRANSFER
errorReason TRANSACTION_MADE_FROM_A_DISBURSEMENT
errorReason DEPOSIT_ACCOUNT_HAS_MATURITY_DATE_SET
errorReason BALANCE_IS_NULL
errorReason GUARANTOR_NOT_ALLOWED_BY_PRODUCT
errorReason COLLATERAL_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_CHANGE_TILL_BALANCE
errorReason DEDUCTED_FEES_TOTAL_MORE_THAN_LOAN_AMOUNT
errorReason NO_CAPITALIZED_DISBURSEMENT_FESS_WHEN_ZERO_LOAN_AMOUNT
errorReason DISBURSE_TO_SAVINGS_NOT_AVALAIBLE_WITH_INVESTOR_FUNDS
errorReason TRANSACTION_CHANNEL_IS_MANDATORY
errorReason TRANSACTION_CHANNEL_NOT_AVAILABLE_WHEN_DISBURSE_TO_SAVINGS
errorReason GUARANTOR_CANNOT_BE_DELETED
errorReason CUSTOM_AMOUNT_IS_MANDATORY
errorReason INVALID_TRANSACTION_CHANNEL
errorReason MISSING_FEE
errorReason INCONSISTENT_ACCOUNT_FEE_WITH_PRODUCT_FEE
errorReason FULL_TERM_FEE_CANNOT_BE_AMORTIZED_DUE_TO_APPLICATION_DATE
errorReason CANNOT_USE_EFFECTIVE_INTEREST_RATE_FEE_WITHOUT_POSITIVE_INTEREST_RATE_VALUE
errorReason TRANSACTION_DETAILS_NOT_AVAILABLE_FOR_PRODUCT
errorReason FEES_NOT_AVAILABLE_FOR_PRODUCT
errorReason EXPECTED_DISBURSEMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason FIRST_REPAYMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason LOAN_PRODUCT_PREPAYMENT_OPTIONS_MISMATCH
errorReason INVALID_LAST_REPAYMENT_DUE_DATE_CHANGE_BECAUSE_ACCOUNT_HAS_FULL_TERM_FEE_APPLIED
errorReason LOAN_ACCOUNT_PREPAYMENT_RECALCULATION_CONVERSION_ERROR
errorReason REDRAW_DISABLED
errorReason MISSING_FEE_KEY
errorReason INVALID_FEE_KEY
errorReason INCONSISTENT_FEE_AMOUNT_WITH_PRODUCT_FEE
errorReason FEE_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason REQUIRED_FEE_MISSING
errorReason FEE_NOT_ACTIVE
errorReason FEE_NOT_ALLOWED
errorReason INCONSISTENT_FIRST_REPAYMENT_DATE_WITH_PRODUCT_OFFSET
errorReason MISSING_ORIGINAL_TRANSACTION_ID
errorReason REPAYMENT_WAS_FULLY_PAID
errorReason REPAYMENT_HAS_INTEREST_APPLIED
errorReason DUE_DATE_BEFORE_ACCOUNTING_CLOSURE
errorReason DUE_DATE_BEFORE_LOGGED_TRANSACTION
errorReason INVALID_PARENT_ACCOUNT_KEY
errorReason AUTOMATICALLY_ADDED_INSTALLEMENTS_ARE_NOT_EDITABLE
errorReason PURE_GRACE_INSTALLMENT_ARE_NOT_EDITABLE
errorReason CUSTOM_PAYMENT_NOT_ALLOWED_BY_PRODUCT
errorReason SAME_CUSTOM_PAYMENT_AMOUNT_TYPE_USED_MULTIPLE_TIMES
errorReason CUSTOM_PAYMENT_AMOUNT_DIFFERENT_THAN_TOTAL_PAYMENT_AMOUNT
errorReason CUSTOM_PAYMENT_PRINCIPAL_NOT_ALLOWED_BY_PRODUCT
errorReason ARREARS_TOLERANCE_PERIOD_OUTSIDE_CONSTRAINTS
errorReason NEGATIVE_ARREARS_TOLERANCE_PERIOD
errorReason REQUIRED_ARREARS_TOLERANCE_PERIOD_MISSING
errorReason DUE_DATE_BEFORE_FEE_AMORTIZATION
errorReason MAX_CLIENT_LIMIT_REACHED
errorReason PENALTY_METHOD_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_REVERSE_TECHNICAL_OVERDRAFT
errorReason INSUFFICIENT_BALANCE
errorReason UNKNOWN_GROUP_ERROR
errorReason MISSING_CLIENT_ID
errorReason INVALID_CLIENT_ID
errorReason INVALID_CLIENT_KEY
errorReason INVALID_PICTURE_KEY
errorReason INVALID_SIGNATURE_KEY
errorReason INVALID_CLIENT_STATE
errorReason INVALID_CLIENT_ROLE_KEY
errorReason INCONSISTENT_CLIENT_ROLE_WITH_CLIENT_TYPE
errorReason INVALID_DEPENDENT_CUSTOM_FIELD_VALUE
errorReason INVALID_BIRTH_DATE
errorReason DUPLICATE_CLIENT
errorReason INVALID_CLIENT_STATE_TYPE
errorReason INVALID_CLIENT_STATE_TRANSITION
errorReason CLIENT_IS_MEMBER_OF_A_GROUP
errorReason CLIENT_IS_GUARANTOR
errorReason CLIENT_HAS_ACCOUNTS
errorReason CLIENT_ID_ALREADY_IN_USE
errorReason GROUP_ID_ALREADY_IN_USE
errorReason GROUP_HAS_ACCOUNTS
errorReason UNKNOWN_CLIENT_ERROR
errorReason INVALID_SAVINGS_ACCOUNT_ID
errorReason BALANCE_BELOW_ZERO
errorReason MISSING_SAVINGS_ID
errorReason BACKDATE_BEFORE_ACTIVATION
errorReason BACKDATE_BEFORE_OTHER_OPERATION
errorReason BACKDATE_SET_IN_THE_FUTURE
errorReason INVALID_DEPOSIT_AMOUNT
errorReason INVALID_DEPOSIT_ACCOUNT_STATE
errorReason LOCKED_SAVINGS_AMOUNT
errorReason SAVINGS_PRODUCT_MISMATCH
errorReason SAVINGS_ACCOUNT_INVALID
errorReason ACCOUNT_ID_ALREADY_IN_USE
errorReason PRODUCT_DOESNT_ALLOW_WITHHOLDING_TAXES
errorReason INVALID_WITHHOLDING_TAX_SOURCE_TYPE
errorReason INVALID_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason INVALID_SAVINGS_ACCOUNT_STATE_TRANSITION
errorReason MAXIMUM_WITHDRAWAL_AMOUNT_EXCEEDED
errorReason MAXIMUM_OVERDRAFT_LIMIT_EXCEEDED
errorReason OVERDRAFT_NOT_ALLOWED
errorReason MISSING_INTEREST_RATE_FROM_SAVINGS_PRODUCT
errorReason POSITIVE_SECURED_AMOUNT
errorReason MINIMUM_OPENING_BALANCE_ACHIEVED
errorReason ACCOUNT_HAS_TRANSACTIONS
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason RECOMMENDED_DEPOSIT_AMOUNT_INVALID
errorReason MISSING_TYPE_PARAMETER
errorReason INVALID_DEPOSIT_ACCOUNT_ID
errorReason PRODUCT_SPECIFIES_OVERDRAFT_ALLOWED
errorReason PRODUCT_SPECIFIES_OVERDRAFT_NOT_ALLOWED
errorReason CURRENT_ACCOUNT_PRODUCT_DISABLED
errorReason FIXED_DEPOSIT_PRODUCT_DISABLED
errorReason COLLATERAL_FEATURE_DISABLED
errorReason CREDIT_OFFICER_DISABLED
errorReason DATA_EXPORT_DISABLED
errorReason MAX_WITHDRAWAL_CANNOT_BE_NEGATIVE
errorReason MAX_WITHDRAWAL_CANNOT_BE_ZERO
errorReason WITHHOLDING_TAXES_DISABLED
errorReason FUNDING_SOURCE_DISABLED
errorReason RESET_DATA_DISABLED
errorReason SOLIDARITY_GROUP_DISABLED
errorReason SAVINGS_PLAN_DISABLED
errorReason SAVINGS_ACCOUNT_DISABLED
errorReason REVOLVING_CREDIT_DISABLED
errorReason INDICATORS_DISABLED
errorReason FIXED_TERM_LOAN_DISABLED
errorReason FLAT_INTEREST_DISABLED
errorReason EFFECTIVE_INTEREST_RATE_DISABLED
errorReason RISK_REPORTING_DISABLED
errorReason UNKNOWN_SAVINGS_ACCOUNT_ERROR
errorReason TRANSFER_CANT_BE_MADE
errorReason CANNOT_MAKE_TRANSFER_TO_SOURCE_ACCOUNT
errorReason INVALID_TARGET_ACCOUNTING_STATE
errorReason TRANSFER_AMOUNT_IS_NOT_POSITIVE
errorReason INVALID_PRODUCT_ID
errorReason TRANSFER_AS_POSTDATED_PAYMENT
errorReason UNDEFINED_EXCHANGE_RATE_FOR_CURRENCY
errorReason INVALID_PRODUCT_KEY
errorReason CANNOT_MAKE_TRANSFER_TO_FUNDED_ACCOUNTS_WITH_ACCOUNTING_ENABLED
errorReason LINKED_ACCOUNT_DELETION_ERROR
errorReason ACCOUNT_HAS_REMAINING_BALANCE
errorReason CANNOT_DISBURSE_LOCKED_ACCOUNTS
errorReason DISBURSEMENT_DATE_AFTER_LAST_REPAYMENT_DUE_DATE
errorReason INTEREST_RATE_NOT_AVAILABLE_FOR_INDEXED_RATES
errorReason INTEREST_SPREAD_NOT_AVAILABLE_FOR_FIXED_RATES
errorReason TRANCHES_EXPECTED_DISBURSMENT_DATES_NOT_ORDERED
errorReason TRANCHES_NOT_ALLOWED
errorReason TRANCHES_NOT_DEFINED
errorReason MORE_TRANCHES_THAN_ALLOWED
errorReason TOTAL_TRANCHES_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason TOTAL_AMOUNT_NOT_EQUAL_WITH_LOAN_AMOUNT
errorReason TRANCHE_AMOUNT_SHOULD_BE_STRICT_POSITIVE
errorReason INVALID_TRANCHE_KEY
errorReason CANNOT_MODIFY_DISBURSED_TRANCHE
errorReason DISBURSEMENT_DATE_BEFORE_NOT_REVERSED_TRANSACTION
errorReason CANNOT_MODIFY_TRANCHES_ON_RESCHEDULED_REFINANCED_ACCOUNTS
errorReason ALL_TRANCHES_ALREADY_DISBURSED
errorReason TRANCHES_CANNOT_BE_EDITED
errorReason INTEREST_RATE_SHOULD_BE_ZERO_OR_EMPTY
errorReason INTEREST_SPREAD_SHOULD_BE_ZERO_OR_EMPTY
errorReason INCONSISTENT_DATE_WITH_NEXT_TRANCHE
errorReason INTEREST_RATE_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INTEREST_SPREAD_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INVALID_INTEREST_RATE_TIERS
errorReason INVALID_OVERDRAFT_INTEREST_RATE_TIERS
errorReason INVALID_GL_ACCOUNT_ID
errorReason INVALID_GL_ACCOUNT_TYPE
errorReason JOURNAL_ENTRY_BEFORE_CLOSURE
errorReason DEBITS_DO_NOT_MATCH_CREDITS
errorReason JOURNAL_ENTRY_DATE_NOT_DEFINED
errorReason GL_ACCOUNT_IS_HEADER
errorReason GL_ACCOUNT_DOES_NOT_SUPPORT_MANUALLY_ENTRIES
errorReason NO_INTER_BRANCH_GL_ACCOUNT
errorReason INVALID_JOURNAL_TRANSACTION_ID
errorReason DUPLICATE_JOURNAL_TRANSACTION_ID
errorReason INVALID_ACCOUNTING_DATE_ORDER
errorReason INVALID_ACCOUNTING_DATE_RANGE
errorReason JOURNAL_ENTRY_DATE_IN_THE_FUTURE
errorReason JOURNAL_ENTRY_DATE_IN_THE_PAST_BEFORE_THE_ALLOWED_LIMIT
errorReason INVALID_CURRENCY_CODE
errorReason CURRENCY_NOT_MATCHING
errorReason ACCOUNT_CURRENCY_NOT_MATCH
errorReason MISSING_CURRENCY
errorReason INVALID_EXCHANGE_RATE_VALUE
errorReason INCONSISTENT_START_DATE_WITH_TRANSACTIONS
errorReason BUY_RATE_GREATER_THAN_SELL_RATE
errorReason RATE_NOT_SET
errorReason RATE_TO_SAME_CURRENCY
errorReason DATE_BEFORE_LAST_RATE_DATE
errorReason START_DATE_IN_FUTURE
errorReason DATE_ON_LAST_RATE_DATE
errorReason INVALID_USER_NAME
errorReason INVALID_USER_ID
errorReason INVALID_CREDIT_OFFICER_KEY
errorReason INCONSISTENT_CREDIT_OFFICER_WITH_BRANCH
errorReason MISSING_CREDIT_OFFICER_KEY
errorReason MISSING_BRANCH_KEY
errorReason MISSING_CENTRE_KEY
errorReason INVALID_USER_ROLE_KEY
errorReason USER_IS_LOCKED
errorReason INVALID_PASSWORD
errorReason EMAIL_ADDRESS_ALREADY_REGISTERED_WITH_ANOTHER_USER
errorReason EMAIL_ADDRESS_FORMAT_IS_INVALID
errorReason USERNAME_ALREADY_EXISTS
errorReason MAX_USER_LIMIT_REACHED
errorReason CANNOT_MANAGE_USER_BRANCH
errorReason NOT_ENOUGH_PRIVILDGES_FOR_CHANGING_USER_SETTINGS
errorReason ONLY_ONE_ROLE_ALLOWED
errorReason INVALID_TRANSACTION_LIMIT_TYPE
errorReason NOT_ENOUGH_PRIVILEDGES_TO_CREATE_ADMIN_USER
errorReason CANNOT_HAVE_NEGATIVE_TRANSACTION_LIMITS
errorReason INVALID_VALUE_FOR_MANAGED_BRANCHES
errorReason CANNOT_HAVE_ADMIN_WITHOUT_FULL_BRANCHES_ACCESS
errorReason CANNOT_HAVE_OFFICER_ADMIN_WITHOUT_MANAGE_OTHER_ENTITIES_ACCESS
errorReason INCONSISTENT_CAN_MANAGE_BRANCHES_WITH_CAN_MANAGE_ENTITIES
errorReason MISSING_EMAIL_ADDRESS
errorReason MISSING_MOBILE_PHONE
errorReason INVALID_BRANCH_ID
errorReason INVALID_BRANCH_KEY
errorReason INVALID_MANAGED_BRANCH_ID
errorReason BRANCH_IS_NOT_ACTIVE
errorReason INVALID_CENTRE_KEY
errorReason INVALID_CENTRE_ID
errorReason INCONSISTENT_CENTRE_WITH_BRANCH
errorReason CENTRE_IS_NOT_ACTIVE
errorReason INCONSISTENT_VALUE_WITH_CUSTOM_FIELD_TYPE
errorReason REQUIRED_CUSTOM_FIELD_MISSING
errorReason INVALID_CUSTOM_FIELD_ID
errorReason MAX_CUSTOM_FIELD_VALUE_LENGTH_EXCEEDED
errorReason INVALID_CUSTOM_FIELD_ENTITY_KEY
errorReason VIEW_TYPE_NOT_MATCHING_RESOURCE
errorReason VIEW_NOT_ACCESSIBLE_FOR_USER
errorReason CUSTOM_FIELD_DEACTIVATED
errorReason CUSTOM_FIELD_REQUIRED
errorReason CUSTOM_FIELD_NOT_AVAILABLE_FOR_ENTITY
errorReason INVALID_CUSTOM_FIELD_LINKED_ENTITY_KEY
errorReason DEPENDENT_CUSTOM_FIELD_VALUE_REQUIRED
errorReason INCONSISTENT_VALUE_WITH_SET_TYPE
errorReason GROUPED_INDEXES_NOT_CONSECUTIVE
errorReason TO_MANY_VALUES_FOR_SAME_GROUPED_CUSTOM_FIELD
errorReason INVALID_CUSTOM_FIELD_GROUP_INDEX
errorReason INCONSISTENT_CUSTOM_FIELD_VALUE_WITH_PATTERN
errorReason DUPLICATE_CUSTOM_FIELD_VALUES
errorReason CUSTOM_FIELD_SET_CHANGE_NOT_ALLOWED
errorReason CUSTOM_FIELD_SET_NULL
errorReason CUSTOM_FIELD_USAGE_CHANGE_NOT_ALLOWED
errorReason DATATYPE_OR_TYPE_CHANGED
errorReason CUSTOM_FIELD_NAME_NOT_UNIQUE
errorReason ENCODED_KEY_MUST_BE_EMPTY_ON_CREATE
errorReason CUSTOM_FIELDS_NEED_CHANNEL_PROVIDED
errorReason DUPLICATE_UNIQUE_VALUE
errorReason REFERRED_IN_CUSTOM_FIELD
errorReason TRANSACTION_TYPE_NOT_ACCEPTING_CUSTOM_FIELDS
errorReason INVALID_CUSTOM_FIELD_KEY
errorReason BUILT_IN_CUSTOM_FIELD_CHANGE_NOT_ALLOWED
errorReason INVALID_ID_DOCUMENT
errorReason REQUIRED_ID_DOCUMENT_MISSING
errorReason ADDING_OTHER_ID_DOCUMENTS_IS_DISABLED
errorReason INVALID_ID_DOCUMENT_TEMPLATE_KEY
errorReason INVALID_DOCUMENT_ID
errorReason INVALID_FILE_EXTENSION
errorReason FILE_EXTENSION_NOT_ALLOWED
errorReason INCONSISTENT_EXTENSION_WITH_FILE_CONTENT
errorReason MALWARE_CONTENT_DETECTED
errorReason INVALID_FILENAME
errorReason NO_PROFILE_PICTURE_SET
errorReason NO_PROFILE_SIGNATURE_SET
errorReason HAS_DOCUMENT_ATTACHED
errorReason INVALID_TASK_ID
errorReason INVALID_TASK_STATE_AND_COMPLETION_DATE
errorReason INVALID_TASK_FIELD_CHANGE
errorReason INVALID_TASK_STATUS
errorReason INVALID_TASK_TITLE_LENGTH
errorReason HAS_TASK_ATTACHED
errorReason EDITING_VIEW_TYPE_NOT_ALLOWED
errorReason INVALID_CUSTOM_FIELD_SET_ID
errorReason MISSING_FROM_DATE
errorReason MISSING_TO_DATE
errorReason MAXIMUM_ONE_FILTER_ALLOWED
errorReason TILL_BALANCE_OUTSIDE_CONSTRAINTS
errorReason TRANSACTION_IS_NOT_WITHIN_CHANNEL_CONSTRAINTS
errorReason INVALID_ADDRESS
errorReason CLIENT_ROLE_DOES_NOT_ALLOW_ADDRESS
errorReason ADDRESS_CHANGE_NOT_ALLOWED
errorReason DATA_IMPORT_IN_PROGRESS
errorReason DATABASE_BACKUP_IN_PROGRESS
errorReason DATABASE_BACKUP_NOT_FOUND
errorReason CLIENT_IN_MIGRATION
errorReason INVALID_ASSIGNMENT
errorReason INVALID_INDEX_RATE_SOURCE_ID
errorReason START_DATE_BEFORE_LAST_INDEX_REVIEWD_DATE
errorReason INVALID_INDEX_RATE_START_DATE
errorReason NO_INDEX_RATE_AVAILABLE
errorReason NO_TAX_RATE_AVAILABLE
errorReason INCONSISTENT_GROUP_MEMBER_PARENT_KEY
errorReason INCONSISTENT_GROUP_MEMBER_ENCODED_KEY
errorReason INCONSISTENT_GROUP_ROLE_PARENT_KEY
errorReason INCONSISTENT_GROUP_ROLE_ENCODED_KEY
errorReason PRODUCT_LINE_OF_CREDIT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason DISBURSEMENT_DATE_BEFORE_LINE_OF_CREDIT_START_DATE
errorReason MATURITY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason LINE_OF_CREDIT_AMOUNT_EXCEEDED
errorReason LINE_OF_CREDIT_REQUIRED_EXCEPTION
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason CANNOT_CREATE_ACCOUNT_WITH_LINE_OF_CREDIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_EXPIRY_DATE
errorReason INVALID_LINE_OF_CREDIT_ID
errorReason ACCOUNT_ALREADY_ON_LINE_OF_CREDIT
errorReason INCONSISTENT_LINE_OF_CREDIT_CLIENT_WITH_ACCOUNT_OWNER
errorReason ACCOUNT_IS_NOT_PART_OF_LINE_OF_CREDIT
errorReason INVALID_LINE_OF_CREDIT_STATE
errorReason HAS_LINES_OF_CREDIT
errorReason LINE_OF_CREDIT_ID_ALREADY_IN_USE
errorReason EXPIRE_DATE_BEFORE_START_DATE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_LINES_OF_CREDIT
errorReason MISSING_LINE_OF_CREDIT_START_DATE
errorReason MISSING_LINE_OF_CREDIT_EXPIRE_DATE
errorReason MISSING_LINE_OF_CREDIT_AMOUNT
errorReason LINE_OF_CREDIT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason MISSING_ACCOUNT_HOLDER_KEY
errorReason MISSING_ACCOUNT_HOLDER_TYPE
errorReason ACCOUNT_HOLDER_NOT_FOUND
errorReason INVALID_ACCOUNT_HOLDER_STATE
errorReason NO_ORGANIZATION_ICON
errorReason NO_ORGANIZATION_LOGO
errorReason MISSING_TEXT
errorReason MAX_TEXT_LENGTH_EXCEEDED
errorReason NUM_INSTALLMENTS_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason PRINCIPAL_PAYMENT_INCONSISTENT_WITH_PRODUCT
errorReason SCHEDULE_PREVIEW_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason AMOUNT_MORE_THAN_CURRENT_AVAILABLE_AMOUNT
errorReason INCONSISTENT_WITH_CENTRE_MEETING_DAY
errorReason FIELD_IS_NOT_EDITABLE
errorReason RESCHEDULED_REPAYMENT_BEFORE_DISBURSEMENT_DATE
errorReason FIELD_NOT_ALLOWED
errorReason OPERATION_NOT_ALLOWED_ON_FIELD
errorReason INVALID_FILTER_VALUES
errorReason INVALID_FILTER_SELECTION
errorReason INVALID_FILTER_ELEMENT
errorReason INVALID_FILTER_VALUE
errorReason INVALID_FILTER_SECOND_VALUE
errorReason TOO_MANY_FILTERS_PROVIDED
errorReason INVALID_FILTER_DATA_ITEM_TYPE
errorReason INSUFFICIENT_FUNDS_ACCOUNT_BALANCE
errorReason INSUFFICIENT_FUNDS_TOTAL_AMOUNT
errorReason FUNDS_NOT_ALLOWED
errorReason FUNDING_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason FUNDER_INTEREST_COMMISSION_CONSTRAINTS_VALIDATION
errorReason MISSING_FUNDER_INTEREST_COMMISSION
errorReason INVALID_FUND_ENCODED_KEY
errorReason INVESTORS_TOTAL_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason INVALID_FUND_ID
errorReason INACTIVE_FUND_ID
errorReason INVALID_FUNDED_ACCOUNT_STATE
errorReason FUND_SELL_WITH_NO_PURCHASES
errorReason FUND_OVERSELL
errorReason INVALID_SELLER_FUND_AMOUNT
errorReason INVALID_SELLER_FUND_STATE
errorReason INVALID_SELLER_FUNDING_ACCOUNT
errorReason INVALID_INVESTMENT_PERCENTAGES_FOR_AMOUNTS
errorReason FUND_SELF_SELL
errorReason INVALID_BUYER_FUNDING_ACCOUNT
errorReason DUPLICATE_BUYER_FUNDING_ACCOUNT
errorReason INVALID_BUYER_FUND_AMOUNT
errorReason INVALID_FUND_PURCHASE_PRICE
errorReason INSUFFICIENT_BUYER_FUNDING_ACCOUNT_FUNDS
errorReason LOAN_ACCOUNT_NOT_FUNDED_BY_SAVINGS_ACCOUNT
errorReason INVALID_INTEREST_RATE_AGAINST_INTEREST_COMMISSION
errorReason INVALID_SAVINGS_ACCOUNT_TYPE_FOR_FUNDING
errorReason DUPLICATED_SAVINGS_ACCOUNT_FOR_FUNDING
errorReason INVALID_FIXED_DAYS_OF_MONTH
errorReason INVALID_SORTING_COLUMN
errorReason COLUMN_NOT_SORTABLE
errorReason INVALID_SORTING_ORDER
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_FIELD
errorReason INVALID_GUARANTY_ENCODED_KEY
errorReason INVALID_GUARANTY_TYPE
errorReason INVALID_GUARANTOR_TYPE
errorReason GUARANTY_KEY_TYPE_MISMATCH
errorReason INVALID_TEMPLATE_ID
errorReason INVALID_TEMPLATE_TYPE
errorReason MISSING_FIXED_DAYS_OF_MONTH
errorReason FIXED_DAYS_OF_MONTH_NOT_ALLOWED
errorReason REPAYMENT_FREQUENCY_NOT_ALLOWED
errorReason REPAYMENT_PERIOD_COUNT_NOT_ALLOWED
errorReason APPLIED_INTEREST_BALANCE_CANNOT_BE_REALLOCATED
errorReason INVALID_NEW_TOTAL_LOAN_AMOUNT
errorReason NEGATIVE_WRITE_OFF_AMOUNT
errorReason CAPITALIZED_AMOUNTS_NOT_ALLOWED_DUE_TO_DIFFERENT_ACCOUNTING
errorReason TOP_UP_AMOUNT_IS_MANDATORY
errorReason RESTRUCTURE_DETAILS_ARE_MANDATORY
errorReason NEGATIVE_TOP_UP_AMOUNT
errorReason WRITE_OFF_AMOUNT_MORE_THAN_BALANCE_AMOUNT
errorReason CANNOT_REFINANCE_REVOLVING_CREDIT_LOAN
errorReason POSITIVE_CAPITALIZED_AMOUNTS_FOR_LOAN_FUNDED_NOT_ALLOWED
errorReason WRITE_OFF_AMOUNT_FOR_LOAN_FUNDED_DIFFERENT_BY_BALANCE_AMOUNT
errorReason CURRENCY_NOT_AVAILABLE_FOR_PRODUCT
errorReason CURRENCY_NOT_EDITABLE
errorReason TELLER_CANNOT_POST_TRANSACTION_IN_MULTI_CURRENCY
errorReason SETTINGS_ONLY_AVAILABLE_FOR_REVOLVING_CREDIT_ACCOUNTS
errorReason INCONSISTENT_FLAT_AMOUNT_WITH_PRODUCT_CONSTRAINTS
errorReason INCONSISTENT_PERCENTANGE_WITH_PRODUCT_CONSTRAINTS
errorReason AMOUNT_REQUIRED_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_REQUIRED_FOR_PRINCIPAL_PAYMENT_PERCENTAGE_METHOD
errorReason AMOUNT_ONLY_AVAILABLE_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_ONLY_AVAILABLE_FOR_OUTSTANDING_PRINCIPAL_PERCENTAGE_METHOD
errorReason INVALID_PRINCIPAL_PAYMENT_FLAT_AMOUNT_WITH_DECIMALS
errorReason INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_VALUE
errorReason CANT_EDIT_LOCKED_OPERATIONS_IN_LOCKED_CAPPING_STATE
errorReason CANT_UNLOCK_WHEN_INCOME_BALANCE_IS_OVER_PRINCIPAL_CAPPING_CONSTRAINTS
errorReason CANNOT_BULK_REVERSE_INTERNAL_TRANSFER_REPAYMENT
errorReason CANNOT_BULK_REAPPLY_TRANSACTION_BECAUSE_LOCKED_TRANSACTIONS_LOGGED_AFTER_IT
errorReason CANNOT_BULK_REAPPLY_POSTDATED_REPAYMENTS
errorReason CANNOT_BULK_REVERSE_ACTIVATION_TRANSACTION
errorReason CLOSURE_DATE_AFTER_MAX_ALLOWED_UNDO_CLOSURE_PERIOD
errorReason CLOSURE_DATE_BEFORE_GL_ACCOUNT_CLOSURE
errorReason MISSING_ORGANIZATION_INTEREST_COMMISSION
errorReason INSUFFICIENT_TRANSACTION_AMOUNT
errorReason CANNOT_REVERSE_INTEREST_ON_DISBURSEMENT
errorReason TRANSACTION_TYPE_IS_IRREVERSIBLE
errorReason INTEREST_APPLIED_WITH_NULL_AMOUNT
errorReason CANNOT_REVERSE_OFFSET_DEPOSIT_TRANSACTION
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_ID
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_STATE_FOR_LOCK
errorReason INCOME_BALANCE_CONSTRAINTS_EXCEEDED
errorReason CANNOT_BULK_REVERSE_LOAN_FRACTION_SOLD
errorReason LATE_FEE_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT
errorReason FEE_CANNOT_BE_POSTED_ON_RECOMPUTED_SCHEDULE
errorReason INVALID_ORGANIZATION_INTEREST_COMMISSION
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_LOAN_PRODUCT_TYPE
errorReason INSTALLMENT_WITH_INTEREST_APPLIED_CANNOT_BE_EDITED
errorReason UNABLE_TO_DETERMINE_DELETED_REPAYMENTS
errorReason PAID_OR_PURE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason NON_CUSTOM_MADE_INTALLMENT_CANNOT_BE_DELETED_FOR_REVOLVING_CREDIT_ACCOUNT
errorReason INVALID_NUMBER_OF_INSTALLMENTS
errorReason INVALID_PRINCIPAL_AMOUNT_WITH_DECIMALS
errorReason INCONSISTENT_WITH_LINE_OF_CREDIT_VALID_UNTIL_DATE
errorReason DUE_DATES_NOT_UNIQUE
errorReason NON_ZERO_PRINCIPAL_REPAYMENT_CANNOT_BE_DELETED
errorReason NON_DYNAMIC_ACCOUNT_REPAYMENT_DELETION_NOT_ALLOWED
errorReason INVALID_LOAN_ACCOUNT_STATE_FOR_FUNDS_EDIT
errorReason ENTRY_DATE_AFTER_MATURITY_DATE_WITH_LATE_FEES_AND_BULK_REVERSAL
errorReason DIFFERENT_ACCOUNTING_STATE_BETWEEN_INVOLVED_PRODUCTS
errorReason ACCOUNT_ALREADY_LINKED
errorReason PRODUCT_DOES_NOT_ALLOW_LINKING
errorReason UNLINKABLE_SAVINGS_PRODUCT
errorReason INVALID_SAVINGS_ACCOUNT_HOLDER
errorReason LINK_BETWEEN_ACCOUNTS_DOES_NOT_EXIST
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_EDITED
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason INSUFFICIENT_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_TYPE
errorReason MATURITY_PERIOD_ALREADY_STARTED
errorReason LOAN_PRODUCT_PRINCIPAL_PAID_INSTALLMENT_STATUS_MISMATCH
errorReason CANNOT_DELETE_LINK_FOR_ACTIVATED_OFFSET_LOAN
errorReason INVALID_LANGUAGE
errorReason INVALID_LINKED_SETTLEMENT_ACCOUNT_KEYS
errorReason SAVINGS_ACCOUNT_ALREADY_LINKED
errorReason RESEND_FAILED_NOTIFICATION_FAILED
errorReason INVALID_NOTIFICATION_MESSAGE_STATE
errorReason DUPLICATED_NOTIFICATION_ENCODED_KEY
errorReason MAXIMUM_NUMBER_OF_NOTIFICATIONS_TO_RESEND_EXCEEDED
errorReason DUE_DATES_NOT_IN_ASCENDING_ORDER
errorReason ACCOUNT_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason CLIENT_HAS_ACTIVE_ACCOUNTS_WITH_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason PRODUCT_HAS_ASSOCIATED_ACCOUNTS
errorReason MAX_NUMBER_OF_FILTERS_REACHED
errorReason MAX_NUMBER_OF_COLUMNS_REACHED
errorReason USAGE_RIGHTS_ROLE_NOT_AVAILABLE
errorReason CURRENCY_NOT_DEFINED
errorReason BASE_CURRENCY_CANNOT_BE_REMOVED
errorReason CURRENCY_IN_USE_CANNOT_BE_REMOVED
errorReason CURRENCY_DOES_NOT_EXIST
errorReason INVALID_COMMUNICATION_MESSAGE_ENCODED_KEY
errorReason INVALID_EMAIL_SUBJECT
errorReason INVALID_CREDIT_ARRANGEMENT_ID
errorReason INVALID_CREDIT_ARRANGEMENT_STATE
errorReason CREDIT_ARRANGEMENT_ID_ALREADY_IN_USE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_CREDIT_ARRANGEMENTS
errorReason CREDIT_ARRANGEMENT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason PRODUCT_CREDIT_ARRANGEMENT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason ACCOUNT_ALREADY_ON_CREDIT_ARRANGEMENT
errorReason INCONSISTENT_CREDIT_ARRANGEMENT_CLIENT_WITH_ACCOUNT_OWNER
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_EXPIRE_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason CREDIT_ARRANGEMENT_AMOUNT_EXCEEDED
errorReason MATURITY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason DISBURSEMENT_DATE_BEFORE_CREDIT_ARRANGEMENT_START_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRED_EXCEPTION
errorReason ACCOUNT_IS_NOT_PART_OF_CREDIT_ARRANGEMENT
errorReason CREDIT_ARRANGEMENT_ILLEGAL_PARAMETER_MODIFICATION
errorReason CREDIT_ARRANGEMENT_HAS_NON_CLOSED_ACCOUNTS
errorReason BASE_CURRENCY_NOT_UNIQUE
errorReason CURRENCY_SYMBOL_LENGTH_OUTSIDE_CONSTRAINTS
errorReason INEXISTING_CURRENCY_SYMBOL
errorReason INVALID_TO_INSTALLMENT_POSITION
errorReason INVALID_PMT_VALUE
errorReason PAYMENT_PLAN_NOT_AVAILABLE
errorReason AT_LEAST_ONE_PERIODIC_PAYMENT_PLAN_MANDATORY
errorReason SUM_OF_PERIODIC_PAYMENTS_LESS_OR_EQUAL_WITH_LOAN_AMOUNT
errorReason PAYMENT_PLAN_ENTRIES_NOT_ORDERED
errorReason INTEREST_RATE_COMPUTATION_ERROR
errorReason INVALID_PERIODIC_PAYMENT_ENCODED_KEY
errorReason DUPLICATED_PERIODIC_PAYMENT_ENCODED_KEY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_METHOD_MUST_BE_NULL
errorReason INVALID_DAYS_IN_YEARS_METHOD_MUST_BE_NULL
errorReason PRODUCT_ID_ALREADY_IN_USE
errorReason INVALID_ROUNDING_REPAYMENT_CURRENCY_FOR_PRODUCT
errorReason SDK_CLIENT_COULD_NOT_BE_GENERATED
errorReason SDK_CLIENT_LANGUAGES_COULD_NOT_BE_OBTAINED
errorReason MAXIMUM_NUMBER_OF_COMMUNICATION_MESSAGES_TO_RESEND_EXCEEDED
errorReason RESEND_FAILED_COMMUNICATON_FAILED
errorReason DUPLICATE_ENCODED_KEY
errorReason MESSAGE_STATE_MUST_BE_FAILED
errorReason NO_MESSAGE_FOUND
errorReason MESSAGE_NOT_FOUND
errorReason MISSING_ENCODED_KEY
errorReason URL_CONTAINS_QUOTES
errorReason MISSING_RECIPIENT
errorReason RECIPIENT_NOT_ALLOWED
errorReason INVALID_CLIENT_RECIPIENT
errorReason INVALID_CREDIT_OFFICER_RECIPIENT
errorReason INVALID_GROUP_ROLE_RECIPIENT
errorReason INVALID_CUSTOM_FIELD_RECIPIENT
errorReason INVALID_EVENT
errorReason INVALID_TARGET
errorReason INVALID_PLACEHOLDER
errorReason INVALID_FIELD_LENGTH
errorReason INVALID_WEBHOOK_REQUEST_TYPE
errorReason URL_CONTAINS_INVALID_PLACEHOLDERS
errorReason CARD_REFERENCE_TOKEN_FORMAT_INVALID
errorReason CARD_REFERENCE_TOKEN_ALREADY_IN_USE
errorReason CARD_REFERENCE_HAS_ASSOCIATED_HOLDS_OR_TRANSACTIONS
errorReason CARD_REFERENCE_NOT_FOUND
errorReason DUPLICATE_AUTHORIZATION_HOLD
errorReason DUPLICATE_CARD_TRANSACTION
errorReason AVAILABLE_BALANCE_BELOW_ZERO
errorReason AUTHORIZATION_HOLD_NOT_FOUND
errorReason PRODUCT_MUST_BE_ACTIVE
errorReason TARGET_AMOUNT_IS_NEGATIVE
errorReason MAX_WITHDRAWAL_AMOUNT_OUTSIDE_CONSTRAINTS
errorReason ACCOUNT_HOLDER_KEY_INVALID
errorReason ACCOUNT_HOLDER_TYPE_INVALID
errorReason INVALID_WITHHOLDING_TAX_SOURCE_KEY
errorReason INTEREST_RATE_OUTSIDE_CONSTRAINTS
errorReason INVALID_INTEREST_PAYMENT_POINT
errorReason INVALID_INTEREST_PAYMENT_DATES
errorReason REQUIRED_OVERDRAFT_INTEREST_RATE
errorReason REQUIRED_OVERDRAFT_EXPIRY_DATE
errorReason REQUIRED_OVERDRAFT_LIMIT
errorReason DEPOSIT_ACCOUNT_FIELD_NOT_EDITABLE
errorReason DEPOSIT_PRODUCT_MISMATCH
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_RECOMMENDED_DEPOSIT_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_MAX_WITHDRAWAL_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_TARGET_AMOUNT
errorReason REQUIRED_INTEREST_RATE
errorReason INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_SPREAD_SHOULD_BE_NULL
errorReason INVALID_ACCOUNT_TYPE
errorReason INVALID_ACCOUNT_KEY
errorReason UNABLE_TO_RECALCULATE_SCHEDULE
errorReason UNABLE_TO_APPRAISE_LOAN_ACCOUNT
errorReason TRANSACTION_MADE_BY_A_DISBURSEMENT_FEE
errorReason INVALID_TARGET_ACCOUNT_TYPE
errorReason NEGATIVE_TARGET_ACCOUNT_BALANCE
errorReason ZERO_DISBURSE_AMOUNT
errorReason INVESTOR_FUNDED_LOAN_ACCOUNT
errorReason INVALID_TARGET_ACCOUNT_HOLDER_KEY
errorReason TRANSFER_NOTES_LENGTH_EXCEEDS_MAXIMUM_SIZE
errorReason CANNOT_MAKE_TRANSFER_FOR_FOREIGN_CURRENCY_IF_ACCOUNTING_ENABLED
errorReason INVALID_ENVIRONMENT
errorReason INVALID_AMORTIZATION_PROFILE
errorReason AMORTIZATION_PROFILE_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT
errorReason INVALID_AMORTIZATION_SETTINGS
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT
errorReason AMORTIZATION_SETTINGS_NOT_ALLOWED
errorReason INVALID_INTEREST_RATE_TERMS
errorReason TRANSACTION_DISBURSEMENT_DATE_DOES_NOT_MATCH_WITH_TRANCH_EXPECTED_DATE
errorReason DUPLICATE_TRANSACTION_CHANNEL_NAME
errorReason DUPLICATE_TRANSACTION_CHANNEL_ID
errorReason TRANSACTION_CHANNEL_ID_CONTAINS_SPACES
errorReason INVALID_TRANSACTION_CHANNEL_LOAN_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_SAVINGS_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_ACCOUNT_USAGE
errorReason CANNOT_DELETE_DEFAULT_TRANSACTION_CHANNEL
errorReason TRANSACTION_CHANNEL_IN_USE
errorReason TRANSACTION_CHANNEL_CANNOT_BE_DEACTIVATED
errorReason INCONSISTENT_TRANSACTION_USER_KEY_WITH_ACCOUNT_USER
errorReason INCONSISTENCY_BETWEEN_CHANNEL_KEY_AND_ID
errorReason INCONSISTENT_TRANSACTION_PRODUCT_KEY_WITH_ACCOUNT_PRODUCT
errorReason DUPLICATE_ID
errorReason DUPLICATE_NAME
errorReason ID_CONTAINS_SPACES
errorReason INVALID_EXTERNAL_ID
errorReason EXTERNAL_ID_ALREADY_EXISTS
errorReason INVALID_ASSIGNMENT_FROM_NO_MEETING_DAY
errorReason CLIENT_HAS_ACCOUNTS_IN_DIFFERENT_BRANCH_WITH_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason ACCOUNT_ALREADY_DISBURSED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_TYPE_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_INTERVAL_TYPE
errorReason INVALID_AMORTIZATION_FREQUENCY_PREDEFINED_INTERVALS_UNIT
errorReason NON_POSITIVE_DEFAULT_INTEREST_RATE
errorReason NON_POSITIVE_MIN_INTEREST_RATE
errorReason NON_POSITIVE_MAX_INTEREST_RATE
errorReason INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE
errorReason DEFAULT_MIN_MAX_NOT_AVAILABLE
errorReason INTEREST_RATE_TERMS_ARE_READONLY
errorReason INTEREST_CALCULATION_BALANCE_METHOD_READONLY
errorReason INTERNAL_TRANSFER_CANNOT_USE_CUSTOM_FIELDS
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_INCLUDE_FEE_IN_FLOOR_AMOUNT_OPTION_ENABLED
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INCONSISTENT_LATE_REPAYMENT_FEE_TRIGGER_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INACTIVE_ACCOUNT_BRANCH
errorReason INCONSISTENT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason INVALID_ACCOUNT_BRANCH_ASSIGNMENT_DUE_CENTRE_MEETING_DAY_MISMATCH
errorReason CANNOT_CHANGE_LOAN_GROUP_BRANCH_FOR_A_SOLIDARITY_GROUP
errorReason CANNOT_CREATE_NEW_USER_IN_FEDERATED_CONTEXT
errorReason EMPTY_CUSTOM_FIELD_ID
errorReason ACCOUNT_ALREADY_CLOSED
errorReason INVALID_GUARANTEE_TYPE
errorReason ORIGINAL_ACCOUNT_NOT_FOUND
errorReason INVALID_ORIGINAL_ACCOUNT_STATE
errorReason CANNOT_APPLY_REPAYMENT_ON_ZERO_BALANCE_ACCOUNT
errorReason DATA_IMPORT_EVENT_NOT_FOUND
errorReason INVALID_SETTLEMENT_ACCOUNT_KEY
errorReason INVALID_SETTLEMENT_ACCOUNT_STATE
errorReason DEPOSIT_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason SAVINGS_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason INVALID_DEPOSIT_ACCOUNT_HOLDER
errorReason UNLINKABLE_DEPOSIT_PRODUCT

PatchOperation

{
  "op": "ADD",
  "path": "string",
  "from": "string",
  "value": {}
}

A single change that needs to be made to a resource

Properties

Name Type Required Restrictions Description
op string true none The change to perform
path string true none The field to perform the operation on
from string false none The field from where a value should be moved, when using move
value object false none The value of the field, can be null

Enumerated Values

Property Value
op ADD
op REPLACE
op REMOVE
op MOVE

PatchOperationsList

[
  {
    "op": "ADD",
    "path": "string",
    "from": "string",
    "value": {}
  }
]

Properties

Name Type Required Restrictions Description
anonymous [PatchOperation] false none none

ErrorResponse

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Properties

Name Type Required Restrictions Description
errors [RestError] false none none

Cards

Allows CRUD operations on card references and their associated items.

createAuthorizationHold

Code samples

# You can also use wget
curl -X POST https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json' \
  -H 'Idempotency-Key: string'

POST https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

$.ajax({
  url: 'https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "externalReferenceId": "string",
  "advice": false,
  "cardAcceptor": {
    "zip": "string",
    "country": "string",
    "city": "string",
    "name": "string",
    "state": "string",
    "mcc": 0
  },
  "userTransactionTime": "string",
  "currencyCode": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

fetch('https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json',
  'Idempotency-Key': 'string'
}

r = requests.post('https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},
        "Idempotency-Key": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /cards/{cardReferenceToken}/authorizationholds

Creates an authorization hold corresponding to a given card.

Body parameter

{
  "externalReferenceId": "string",
  "advice": false,
  "cardAcceptor": {
    "zip": "string",
    "country": "string",
    "city": "string",
    "name": "string",
    "state": "string",
    "mcc": 0
  },
  "userTransactionTime": "string",
  "currencyCode": "string"
}

Parameters

Parameter In Type Required Description
Idempotency-Key header string false Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.
cardReferenceToken path string true The token used to externally identify the card.
body body AuthorizationHold true The authorization hold to be created.

Example responses

201 Response

{
  "externalReferenceId": "string",
  "amount": 0,
  "advice": false,
  "cardAcceptor": {
    "zip": "string",
    "country": "string",
    "city": "string",
    "name": "string",
    "encodedKey": "string",
    "state": "string",
    "mcc": 0
  },
  "encodedKey": "string",
  "userTransactionTime": "string",
  "currencyCode": "string",
  "cardToken": "string",
  "status": "PENDING"
}

Responses

Status Meaning Description Schema
102 Processing Your idempotent request was already submitted and is currently being processed, try again later. None
201 Created The authorization hold was successfully created. AuthorizationHold
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Card not found. ErrorResponse

reverseAuthorizationHold

Code samples

# You can also use wget
curl -X DELETE https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId} \
  -H 'Accept: application/vnd.mambu.v2+json' \
  -H 'Idempotency-Key: string'

DELETE https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId} HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json
Idempotency-Key: string

var headers = {
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

$.ajax({
  url: 'https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}',
  method: 'delete',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

fetch('https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json',
  'Idempotency-Key' => 'string'
}

result = RestClient.delete 'https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json',
  'Idempotency-Key': 'string'
}

r = requests.delete('https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},
        "Idempotency-Key": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}

Reverses an authorization hold.

Parameters

Parameter In Type Required Description
Idempotency-Key header string false Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.
cardReferenceToken path string true The token used to externally identify the card.
authorizationHoldExternalReferenceId path string true The ID used to reference the authorization hold.

Example responses

400 Response

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Responses

Status Meaning Description Schema
102 Processing Your idempotent request was already submitted and is currently being processed, try again later. None
204 No Content The authorization hold was successfully reversed. None
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Card or authorization hold not found. ErrorResponse

decreaseAuthorizationHold

Code samples

# You can also use wget
curl -X POST https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json' \
  -H 'Idempotency-Key: string'

POST https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

$.ajax({
  url: 'https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "externalReferenceId": "string",
  "amount": 0,
  "currencyCode": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

fetch('https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json',
  'Idempotency-Key': 'string'
}

r = requests.post('https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},
        "Idempotency-Key": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://localhost:8889/api/cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /cards/{cardReferenceToken}/authorizationholds/{authorizationHoldExternalReferenceId}:decrease

Decreases the amount of an authorization hold. If the amount is greater or equal to the authorization hold amount, then the authorization hold is reversed.

Body parameter

{
  "externalReferenceId": "string",
  "amount": 0,
  "currencyCode": "string"
}

Parameters

Parameter In Type Required Description
Idempotency-Key header string false Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.
cardReferenceToken path string true The token used to externally identify the card.
authorizationHoldExternalReferenceId path string true The ID used to reference the authorization hold.
body body AuthorizationHoldAmountDecreaseRequest true The request containing the necessary fields to decrease the amount of an authorization hold.

Example responses

400 Response

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Responses

Status Meaning Description Schema
102 Processing Your idempotent request was already submitted and is currently being processed, try again later. None
204 No Content The authorization hold was successfully reversed. None
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Card or authorization hold not found. ErrorResponse

createCardTransaction

Code samples

# You can also use wget
curl -X POST https://localhost:8889/api/cards/{cardReferenceToken}/financialtransactions \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json' \
  -H 'Idempotency-Key: string'

POST https://localhost:8889/api/cards/{cardReferenceToken}/financialtransactions HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

$.ajax({
  url: 'https://localhost:8889/api/cards/{cardReferenceToken}/financialtransactions',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "externalReferenceId": "string",
  "advice": false,
  "externalAuthorizationReferenceId": "string",
  "cardAcceptor": {
    "zip": "string",
    "country": "string",
    "city": "string",
    "name": "string",
    "state": "string",
    "mcc": 0
  },
  "userTransactionTime": "string",
  "currencyCode": "string",
  "transactionChannelId": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

fetch('https://localhost:8889/api/cards/{cardReferenceToken}/financialtransactions',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://localhost:8889/api/cards/{cardReferenceToken}/financialtransactions',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json',
  'Idempotency-Key': 'string'
}

r = requests.post('https://localhost:8889/api/cards/{cardReferenceToken}/financialtransactions', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/cards/{cardReferenceToken}/financialtransactions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},
        "Idempotency-Key": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://localhost:8889/api/cards/{cardReferenceToken}/financialtransactions", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /cards/{cardReferenceToken}/financialtransactions

Creates a financial transaction corresponding to a given card.

Body parameter

{
  "externalReferenceId": "string",
  "advice": false,
  "externalAuthorizationReferenceId": "string",
  "cardAcceptor": {
    "zip": "string",
    "country": "string",
    "city": "string",
    "name": "string",
    "state": "string",
    "mcc": 0
  },
  "userTransactionTime": "string",
  "currencyCode": "string",
  "transactionChannelId": "string"
}

Parameters

Parameter In Type Required Description
Idempotency-Key header string false Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.
cardReferenceToken path string true The token used to externally identify the card.
body body CardTransaction true The financial transaction to be created.

Example responses

201 Response

{
  "externalReferenceId": "string",
  "amount": 0,
  "advice": false,
  "externalAuthorizationReferenceId": "string",
  "cardAcceptor": {
    "zip": "string",
    "country": "string",
    "city": "string",
    "name": "string",
    "encodedKey": "string",
    "state": "string",
    "mcc": 0
  },
  "encodedKey": "string",
  "userTransactionTime": "string",
  "currencyCode": "string",
  "transactionChannelId": "string",
  "cardToken": "string"
}

Responses

Status Meaning Description Schema
102 Processing Your idempotent request was already submitted and is currently being processed, try again later. None
201 Created The financial transaction was successfully created. CardTransaction
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Card not found. ErrorResponse

- - - Schemas - - -

Below you can find more detailed information regarding the individual properties of JSON response types relevant to the API resources described above.

CardTransaction

{
  "externalReferenceId": "string",
  "amount": 0,
  "advice": false,
  "externalAuthorizationReferenceId": "string",
  "cardAcceptor": {
    "zip": "string",
    "country": "string",
    "city": "string",
    "name": "string",
    "encodedKey": "string",
    "state": "string",
    "mcc": 0
  },
  "encodedKey": "string",
  "userTransactionTime": "string",
  "currencyCode": "string",
  "transactionChannelId": "string",
  "cardToken": "string"
}

A card transaction entry which will have a corresponding a financial transaction performed.

Properties

Name Type Required Restrictions Description
externalReferenceId string true none The external reference ID to be used to reference the card transaction in subsequent requests.
amount number true read-only The amount of money to be withdrawn in the financial transaction.
advice boolean true none Whether the given request should be accepted without balance validations.
externalAuthorizationReferenceId string false none The external authorization hold reference ID, which relates this card transaction to a previous authorization hold.
cardAcceptor CardAcceptor false none none
encodedKey string false read-only The internal ID of the card transaction, auto generated, unique.
userTransactionTime string false none The formatted time at which the user made this card transaction.
currencyCode string false none The ISO currency code in which the withdrawal transaction was posted. The amounts are stored in the base currency, but the user could have enter it in a foreign currency.
transactionChannelId string true none The ID of the channel through which the payment is done.
cardToken string false read-only The reference token of the card.

AuthorizationHold

{
  "externalReferenceId": "string",
  "amount": 0,
  "advice": false,
  "cardAcceptor": {
    "zip": "string",
    "country": "string",
    "city": "string",
    "name": "string",
    "encodedKey": "string",
    "state": "string",
    "mcc": 0
  },
  "encodedKey": "string",
  "userTransactionTime": "string",
  "currencyCode": "string",
  "cardToken": "string",
  "status": "PENDING"
}

An authorization hold entry as a result of a hold action performed by a card acceptor.

Properties

Name Type Required Restrictions Description
externalReferenceId string true none The external reference ID to be used to reference the account hold in subsequent requests.
amount number true read-only The amount of money to be held as a result of the authorization hold request.
advice boolean true none Whether the given request should be accepted without balance validations.
cardAcceptor CardAcceptor false none none
encodedKey string false read-only The internal ID of the authorization hold, auto generated, unique.
userTransactionTime string false none The formatted time at which the user made this authorization hold.
currencyCode string false none The ISO currency code in which the hold was created. The amounts are stored in the base currency, but the user could have enter it in a foreign currency.
cardToken string false read-only The reference token of the card.
status string false read-only The authorization hold status.

Enumerated Values

Property Value
status PENDING
status REVERSED
status SETTLED
status EXPIRED

CardAcceptor

{
  "zip": "string",
  "country": "string",
  "city": "string",
  "name": "string",
  "encodedKey": "string",
  "state": "string",
  "mcc": 0
}

The details of the card acceptor (merchant) in a transaction hold.

Properties

Name Type Required Restrictions Description
zip string false none The ZIP code of the location in which the card acceptor has the business.
country string false none The country in which the card acceptor has the business.
city string false none The city in which the card acceptor has the business.
name string false none The name of the card acceptor.
encodedKey string false read-only The internal ID of the card acceptor, auto generated, unique.
state string false none The state in which the card acceptor has the business.
mcc integer(int32) false none The Merchant Category Code of the card acceptor.

RestError

{
  "errorCode": 0,
  "errorSource": "string",
  "errorReason": "SUCCESS"
}

Properties

Name Type Required Restrictions Description
errorCode integer(int32) false none none
errorSource string false none none
errorReason string false none none

Enumerated Values

Property Value
errorReason SUCCESS
errorReason INVALID_BASIC_AUTHORIZATION
errorReason INVALID_CREDENTIALS
errorReason INVALID_API_OPERATION
errorReason INVALID_PARAMETERS
errorReason METHOD_NOT_IMPLEMENTED
errorReason INTERNAL_ERROR
errorReason API_NOT_AUTHORIZED
errorReason USER_TRANSACTION_LIMIT_EXCEEDED
errorReason API_CONFIGURATION_ERROR
errorReason INVALID_TENANT_ID
errorReason INVALID_PAGINATION_OFFSET_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_OFFSET_VALUE
errorReason INVALID_PAGINATION_LIMIT_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_LIMIT_VALUE
errorReason INVALID_PERMISSIONS
errorReason INVALID_IP_ADDRESS
errorReason INACTIVE_USER
errorReason NO_API_ACCESS
errorReason FEATURE_DISABLED
errorReason MAX_FILE_SIZE_EXCEEDED
errorReason MAX_FILENAME_LENGTH_EXCEEDED
errorReason UNSUPPORTED_CHARACTER_ENCODING
errorReason INVALID_API_PROTOCOL
errorReason EXCESSIVE_INVALID_REQUESTS
errorReason INCONSISTENT_IDENTIFIER_WITH_JSON
errorReason INVALID_JSON_SYNTAX
errorReason PARAMETER_NOT_ALLOWED
errorReason START_DATE_AFTER_END_DATE
errorReason OBJECT_NOT_FOUND
errorReason MISSING_ENTITY_JSON
errorReason MISSING_REQUIRED_PARAMETER
errorReason BLOCKING_OPERATION_IN_PROGRESS
errorReason NON_REVERSIBLE_WRITE_OFF
errorReason NON_WEEKLY_LOAN_REPAYMENTS
errorReason INCONSISTENT_LINKED_ACCOUNT
errorReason INVALID_LOAN_ACCOUNT_ID
errorReason INVALID_AMOUNT
errorReason INVALID_DATE
errorReason INVALID_NOTES
errorReason INVALID_TRANSACTION_TYPE_ID
errorReason INVALID_ACCOUNT_STATE
errorReason INVALID_FEE
errorReason LOAN_PRODUCT_MISMATCH
errorReason INVALID_FIELD_FOR_TRANSACTION_TYPE
errorReason INACTIVE_TRANSACTION_TYPE
errorReason EXCESS_REPAYMENT_ERROR
errorReason TRANSACTION_LOGGED_AFTER_NOT_DISBURSED_TRANCHE
errorReason UNDEFINED_ACCOUNT_FOR_FINANCIAL_RESOURCE_ERROR
errorReason INVALID_ACCOUNT_FOR_JOURNAL_ENTRY_ERROR
errorReason MISSING_LOAN_ID
errorReason MAXIMUM_EXPOSURE_EXCEEDED
errorReason INVALID_STATE_TRANSITION
errorReason NUMBER_OF_LOANS_EXCEEDED
errorReason INVALID_FIRST_REPAYMENT_DUE_DATE
errorReason INVALID_REPAYMENT_DUE_DAY
errorReason INVALID_INTEREST_RATE
errorReason INVALID_INSTALLMENTS
errorReason MISSING_LINKED_ACCOUNT
errorReason PREPAYMENT_NOT_ALLOWED_ERROR
errorReason REPAYMENT_DATE_IN_THE_FUTURE_ERROR
errorReason INVALID_DISBURSEMENT_DATE
errorReason ILLEGAL_LOAN_PARAMETERS_MODIFICATION
errorReason ORIGINAL_ACCOUNT_HAS_FUNDS
errorReason INVALID_ACCOUNT_STATE_FOR_REPAYMENTS
errorReason DISBURSEMENT_FEES_EXCEED_LOAN_AMOUNT
errorReason INTEREST_CANNOT_BE_APPLIED
errorReason ENTRY_DATE_BEFORE_OTHER_TRANSACTION
errorReason INCONSISTENT_SCHEDULE_PRINCIPAL_DUE_WITH_LOAN_AMOUNT
errorReason ACCOUNT_HAS_NO_ACCRUED_INTEREST
errorReason INTEREST_ALREADY_APPLIED_ON_DISBURSEMENT_ACCOUNT
errorReason INCONSISTENT_WITH_FIXED_DAYS_OF_MONTH
errorReason NEGATIVE_PRINCIPAL_FOR_INSTALLMENT
errorReason INVALID_TAX_RATE
errorReason INSUFFICIENT_GUARANTEES
errorReason MISSING_REPAYMENT_PERIOD_COUNT
errorReason MISSING_REPAYMENT_INTERVAL
errorReason FUTURE_PAYMENT_NOT_ALLOWED_ERROR
errorReason DISBURSEMENT_WITH_ZERO_LOAN_AMOUNT_NOT_ALLOWED
errorReason MINIMUM_ARREARS_DAYS_NOT_REACHED
errorReason ACCOUNT_ALREADY_UNLOCKED
errorReason LOAN_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING
errorReason RESCHEDULED_LOAN
errorReason REFINANCED_LOAN
errorReason INVALID_PRODUCT_WITH_FUNDING_SOURCE_DISABLED
errorReason INVALID_ID
errorReason FAILED_TO_GENERATE_IDENTIFIER
errorReason INCONSISTENT_ACCOUNT_ID_WITH_ACCOUNT_HOLDER_TYPE
errorReason INVALID_ASSET_NAME
errorReason GUARANTOR_KEY_NOT_ALLOWED
errorReason GUARANTOR_SAVINGS_KEY_NOT_ALLOWED
errorReason INVALID_GUARANTOR_KEY
errorReason INVALID_SAVINGS_ACCOUNT_KEY
errorReason INVALID_GUARANTOR_STATE
errorReason DUPLICATED_GUARANTOR_WITHOUT_SAVINGS_ACCOUNT
errorReason DUPLICATED_SAVINGS_ACCOUNT
errorReason INSUFFICIENT_SAVINGS_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_STATE
errorReason DUPLICATED_ASSET
errorReason GUARANTOR_ASSET_NAME_NOT_ALLOWED
errorReason TRANSACTION_NOT_FOUND
errorReason INVALID_TRANSACTION_TYPE
errorReason UNREVERSED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE
errorReason INVALID_GUARANTOR_PERMISSION
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_ACCOUNTS
errorReason MISSING_PENALTY_RATE
errorReason INVALID_REPAYMENT_NUMBER
errorReason MISSING_REPAYMENT_NUMBER
errorReason INVALID_REPAYMENT_STATE
errorReason CENTRE_MEETING_DAY_IN_NON_WORKING_DAY
errorReason ARBITRARY_FEE_NOT_ALLOWED
errorReason INVALID_REPAYMENT_ID
errorReason ACCOUNT_BALANCE_OUTSIDE_CONSTRAINTS
errorReason EDITING_DATE_NOT_IN_CENTER_MEETING_DAY
errorReason CUSTOM_MADE_INSTALLMENT_ADDED_BEFORE_PAID_INSTALLMENT
errorReason EDITING_REPAYMENTS_NOT_ALLOWED
errorReason INTEREST_BALANCE_CANT_BE_EDITED_AT_SPECIFIED_DATE
errorReason INVALID_DUE_DATE
errorReason NEGATIVE_BALANCE
errorReason NON_POSITIVE_TOTAL_BALANCE
errorReason PARAMS_INCONSISTENT_WITH_PRODUCT_RULES
errorReason INVALID_GRACE_PERIOD
errorReason INVALID_ANTICIPATED_DISBURSEMENT
errorReason INVALID_REPAYMENT_FREQUENCY
errorReason INVALID_PRINCIPAL_REPAYMENT_INVERVAL
errorReason INVALID_PRODUCT_STATE
errorReason BALLOON_PAYMENTS_NOT_ALLOWED_BY_PRODUCT
errorReason MANDATORY_PERIODIC_PAYMENT
errorReason PERIODIC_PAYMENT_GREATER_THAN_LOAN_AMOUNT
errorReason MISSING_INTEREST_RATE_SPREAD_ON_PRODUCT
errorReason FIRST_REPAYMENT_DATE_BEFORE_EXPECTED_DISBURSEMENT_DATE
errorReason INVALID_PENALTY_RATE
errorReason CANNOT_EDIT_SOLIDARITY_LOANS
errorReason INVALID_INTEREST_SPREAD
errorReason INVALID_PERIODIC_PAYMENT
errorReason UNKNOWN_LOAN_ACCOUNT_ERROR
errorReason MISSING_GROUP_ID
errorReason INVALID_GROUP_ID
errorReason INVALID_FULL_DETAILS
errorReason INVALID_INDICATORS
errorReason GROUP_NOT_FOUND
errorReason INVALID_PARAMATERS_FOR_PRODUCT
errorReason INVALID_USER_WHO_APPROVED_THE_LOAN_CANNOT_DISBURSE_IT
errorReason INVALID_GROUP_SIZE
errorReason MULTIPLE_GROUP_MEMBERSHIP
errorReason INVALID_GROUP_ROLE_NAME_KEY
errorReason GROUP_ROLE_CLIENT_NOT_GROUP_MEMBER
errorReason TRANSACTION_ALREADY_REVERSED
errorReason INVALID_TRANSACTION_ID
errorReason TRANSACTION_ID_AND_ACCOUNT_MISMATCH
errorReason TRANSACTION_LOGGED_FOR_CLOSED_TILL
errorReason TILL_BALANCE_ABOVE_MAX
errorReason TILL_BALANCE_UNDER_MIN
errorReason TRANSACTION_MADE_FROM_A_TRANSFER
errorReason TRANSACTION_MADE_FROM_A_DISBURSEMENT
errorReason DEPOSIT_ACCOUNT_HAS_MATURITY_DATE_SET
errorReason BALANCE_IS_NULL
errorReason GUARANTOR_NOT_ALLOWED_BY_PRODUCT
errorReason COLLATERAL_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_CHANGE_TILL_BALANCE
errorReason DEDUCTED_FEES_TOTAL_MORE_THAN_LOAN_AMOUNT
errorReason NO_CAPITALIZED_DISBURSEMENT_FESS_WHEN_ZERO_LOAN_AMOUNT
errorReason DISBURSE_TO_SAVINGS_NOT_AVALAIBLE_WITH_INVESTOR_FUNDS
errorReason TRANSACTION_CHANNEL_IS_MANDATORY
errorReason TRANSACTION_CHANNEL_NOT_AVAILABLE_WHEN_DISBURSE_TO_SAVINGS
errorReason GUARANTOR_CANNOT_BE_DELETED
errorReason CUSTOM_AMOUNT_IS_MANDATORY
errorReason INVALID_TRANSACTION_CHANNEL
errorReason MISSING_FEE
errorReason INCONSISTENT_ACCOUNT_FEE_WITH_PRODUCT_FEE
errorReason FULL_TERM_FEE_CANNOT_BE_AMORTIZED_DUE_TO_APPLICATION_DATE
errorReason CANNOT_USE_EFFECTIVE_INTEREST_RATE_FEE_WITHOUT_POSITIVE_INTEREST_RATE_VALUE
errorReason TRANSACTION_DETAILS_NOT_AVAILABLE_FOR_PRODUCT
errorReason FEES_NOT_AVAILABLE_FOR_PRODUCT
errorReason EXPECTED_DISBURSEMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason FIRST_REPAYMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason LOAN_PRODUCT_PREPAYMENT_OPTIONS_MISMATCH
errorReason INVALID_LAST_REPAYMENT_DUE_DATE_CHANGE_BECAUSE_ACCOUNT_HAS_FULL_TERM_FEE_APPLIED
errorReason LOAN_ACCOUNT_PREPAYMENT_RECALCULATION_CONVERSION_ERROR
errorReason REDRAW_DISABLED
errorReason MISSING_FEE_KEY
errorReason INVALID_FEE_KEY
errorReason INCONSISTENT_FEE_AMOUNT_WITH_PRODUCT_FEE
errorReason FEE_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason REQUIRED_FEE_MISSING
errorReason FEE_NOT_ACTIVE
errorReason FEE_NOT_ALLOWED
errorReason INCONSISTENT_FIRST_REPAYMENT_DATE_WITH_PRODUCT_OFFSET
errorReason MISSING_ORIGINAL_TRANSACTION_ID
errorReason REPAYMENT_WAS_FULLY_PAID
errorReason REPAYMENT_HAS_INTEREST_APPLIED
errorReason DUE_DATE_BEFORE_ACCOUNTING_CLOSURE
errorReason DUE_DATE_BEFORE_LOGGED_TRANSACTION
errorReason INVALID_PARENT_ACCOUNT_KEY
errorReason AUTOMATICALLY_ADDED_INSTALLEMENTS_ARE_NOT_EDITABLE
errorReason PURE_GRACE_INSTALLMENT_ARE_NOT_EDITABLE
errorReason CUSTOM_PAYMENT_NOT_ALLOWED_BY_PRODUCT
errorReason SAME_CUSTOM_PAYMENT_AMOUNT_TYPE_USED_MULTIPLE_TIMES
errorReason CUSTOM_PAYMENT_AMOUNT_DIFFERENT_THAN_TOTAL_PAYMENT_AMOUNT
errorReason CUSTOM_PAYMENT_PRINCIPAL_NOT_ALLOWED_BY_PRODUCT
errorReason ARREARS_TOLERANCE_PERIOD_OUTSIDE_CONSTRAINTS
errorReason NEGATIVE_ARREARS_TOLERANCE_PERIOD
errorReason REQUIRED_ARREARS_TOLERANCE_PERIOD_MISSING
errorReason DUE_DATE_BEFORE_FEE_AMORTIZATION
errorReason MAX_CLIENT_LIMIT_REACHED
errorReason PENALTY_METHOD_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_REVERSE_TECHNICAL_OVERDRAFT
errorReason INSUFFICIENT_BALANCE
errorReason UNKNOWN_GROUP_ERROR
errorReason MISSING_CLIENT_ID
errorReason INVALID_CLIENT_ID
errorReason INVALID_CLIENT_KEY
errorReason INVALID_PICTURE_KEY
errorReason INVALID_SIGNATURE_KEY
errorReason INVALID_CLIENT_STATE
errorReason INVALID_CLIENT_ROLE_KEY
errorReason INCONSISTENT_CLIENT_ROLE_WITH_CLIENT_TYPE
errorReason INVALID_DEPENDENT_CUSTOM_FIELD_VALUE
errorReason INVALID_BIRTH_DATE
errorReason DUPLICATE_CLIENT
errorReason INVALID_CLIENT_STATE_TYPE
errorReason INVALID_CLIENT_STATE_TRANSITION
errorReason CLIENT_IS_MEMBER_OF_A_GROUP
errorReason CLIENT_IS_GUARANTOR
errorReason CLIENT_HAS_ACCOUNTS
errorReason CLIENT_ID_ALREADY_IN_USE
errorReason GROUP_ID_ALREADY_IN_USE
errorReason GROUP_HAS_ACCOUNTS
errorReason UNKNOWN_CLIENT_ERROR
errorReason INVALID_SAVINGS_ACCOUNT_ID
errorReason BALANCE_BELOW_ZERO
errorReason MISSING_SAVINGS_ID
errorReason BACKDATE_BEFORE_ACTIVATION
errorReason BACKDATE_BEFORE_OTHER_OPERATION
errorReason BACKDATE_SET_IN_THE_FUTURE
errorReason INVALID_DEPOSIT_AMOUNT
errorReason INVALID_DEPOSIT_ACCOUNT_STATE
errorReason LOCKED_SAVINGS_AMOUNT
errorReason SAVINGS_PRODUCT_MISMATCH
errorReason SAVINGS_ACCOUNT_INVALID
errorReason ACCOUNT_ID_ALREADY_IN_USE
errorReason PRODUCT_DOESNT_ALLOW_WITHHOLDING_TAXES
errorReason INVALID_WITHHOLDING_TAX_SOURCE_TYPE
errorReason INVALID_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason INVALID_SAVINGS_ACCOUNT_STATE_TRANSITION
errorReason MAXIMUM_WITHDRAWAL_AMOUNT_EXCEEDED
errorReason MAXIMUM_OVERDRAFT_LIMIT_EXCEEDED
errorReason OVERDRAFT_NOT_ALLOWED
errorReason MISSING_INTEREST_RATE_FROM_SAVINGS_PRODUCT
errorReason POSITIVE_SECURED_AMOUNT
errorReason MINIMUM_OPENING_BALANCE_ACHIEVED
errorReason ACCOUNT_HAS_TRANSACTIONS
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason RECOMMENDED_DEPOSIT_AMOUNT_INVALID
errorReason MISSING_TYPE_PARAMETER
errorReason INVALID_DEPOSIT_ACCOUNT_ID
errorReason PRODUCT_SPECIFIES_OVERDRAFT_ALLOWED
errorReason PRODUCT_SPECIFIES_OVERDRAFT_NOT_ALLOWED
errorReason CURRENT_ACCOUNT_PRODUCT_DISABLED
errorReason FIXED_DEPOSIT_PRODUCT_DISABLED
errorReason COLLATERAL_FEATURE_DISABLED
errorReason CREDIT_OFFICER_DISABLED
errorReason DATA_EXPORT_DISABLED
errorReason MAX_WITHDRAWAL_CANNOT_BE_NEGATIVE
errorReason MAX_WITHDRAWAL_CANNOT_BE_ZERO
errorReason WITHHOLDING_TAXES_DISABLED
errorReason FUNDING_SOURCE_DISABLED
errorReason RESET_DATA_DISABLED
errorReason SOLIDARITY_GROUP_DISABLED
errorReason SAVINGS_PLAN_DISABLED
errorReason SAVINGS_ACCOUNT_DISABLED
errorReason REVOLVING_CREDIT_DISABLED
errorReason INDICATORS_DISABLED
errorReason FIXED_TERM_LOAN_DISABLED
errorReason FLAT_INTEREST_DISABLED
errorReason EFFECTIVE_INTEREST_RATE_DISABLED
errorReason RISK_REPORTING_DISABLED
errorReason UNKNOWN_SAVINGS_ACCOUNT_ERROR
errorReason TRANSFER_CANT_BE_MADE
errorReason CANNOT_MAKE_TRANSFER_TO_SOURCE_ACCOUNT
errorReason INVALID_TARGET_ACCOUNTING_STATE
errorReason TRANSFER_AMOUNT_IS_NOT_POSITIVE
errorReason INVALID_PRODUCT_ID
errorReason TRANSFER_AS_POSTDATED_PAYMENT
errorReason UNDEFINED_EXCHANGE_RATE_FOR_CURRENCY
errorReason INVALID_PRODUCT_KEY
errorReason CANNOT_MAKE_TRANSFER_TO_FUNDED_ACCOUNTS_WITH_ACCOUNTING_ENABLED
errorReason LINKED_ACCOUNT_DELETION_ERROR
errorReason ACCOUNT_HAS_REMAINING_BALANCE
errorReason CANNOT_DISBURSE_LOCKED_ACCOUNTS
errorReason DISBURSEMENT_DATE_AFTER_LAST_REPAYMENT_DUE_DATE
errorReason INTEREST_RATE_NOT_AVAILABLE_FOR_INDEXED_RATES
errorReason INTEREST_SPREAD_NOT_AVAILABLE_FOR_FIXED_RATES
errorReason TRANCHES_EXPECTED_DISBURSMENT_DATES_NOT_ORDERED
errorReason TRANCHES_NOT_ALLOWED
errorReason TRANCHES_NOT_DEFINED
errorReason MORE_TRANCHES_THAN_ALLOWED
errorReason TOTAL_TRANCHES_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason TOTAL_AMOUNT_NOT_EQUAL_WITH_LOAN_AMOUNT
errorReason TRANCHE_AMOUNT_SHOULD_BE_STRICT_POSITIVE
errorReason INVALID_TRANCHE_KEY
errorReason CANNOT_MODIFY_DISBURSED_TRANCHE
errorReason DISBURSEMENT_DATE_BEFORE_NOT_REVERSED_TRANSACTION
errorReason CANNOT_MODIFY_TRANCHES_ON_RESCHEDULED_REFINANCED_ACCOUNTS
errorReason ALL_TRANCHES_ALREADY_DISBURSED
errorReason TRANCHES_CANNOT_BE_EDITED
errorReason INTEREST_RATE_SHOULD_BE_ZERO_OR_EMPTY
errorReason INTEREST_SPREAD_SHOULD_BE_ZERO_OR_EMPTY
errorReason INCONSISTENT_DATE_WITH_NEXT_TRANCHE
errorReason INTEREST_RATE_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INTEREST_SPREAD_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INVALID_INTEREST_RATE_TIERS
errorReason INVALID_OVERDRAFT_INTEREST_RATE_TIERS
errorReason INVALID_GL_ACCOUNT_ID
errorReason INVALID_GL_ACCOUNT_TYPE
errorReason JOURNAL_ENTRY_BEFORE_CLOSURE
errorReason DEBITS_DO_NOT_MATCH_CREDITS
errorReason JOURNAL_ENTRY_DATE_NOT_DEFINED
errorReason GL_ACCOUNT_IS_HEADER
errorReason GL_ACCOUNT_DOES_NOT_SUPPORT_MANUALLY_ENTRIES
errorReason NO_INTER_BRANCH_GL_ACCOUNT
errorReason INVALID_JOURNAL_TRANSACTION_ID
errorReason DUPLICATE_JOURNAL_TRANSACTION_ID
errorReason INVALID_ACCOUNTING_DATE_ORDER
errorReason INVALID_ACCOUNTING_DATE_RANGE
errorReason JOURNAL_ENTRY_DATE_IN_THE_FUTURE
errorReason JOURNAL_ENTRY_DATE_IN_THE_PAST_BEFORE_THE_ALLOWED_LIMIT
errorReason INVALID_CURRENCY_CODE
errorReason CURRENCY_NOT_MATCHING
errorReason ACCOUNT_CURRENCY_NOT_MATCH
errorReason MISSING_CURRENCY
errorReason INVALID_EXCHANGE_RATE_VALUE
errorReason INCONSISTENT_START_DATE_WITH_TRANSACTIONS
errorReason BUY_RATE_GREATER_THAN_SELL_RATE
errorReason RATE_NOT_SET
errorReason RATE_TO_SAME_CURRENCY
errorReason DATE_BEFORE_LAST_RATE_DATE
errorReason START_DATE_IN_FUTURE
errorReason DATE_ON_LAST_RATE_DATE
errorReason INVALID_USER_NAME
errorReason INVALID_USER_ID
errorReason INVALID_CREDIT_OFFICER_KEY
errorReason INCONSISTENT_CREDIT_OFFICER_WITH_BRANCH
errorReason MISSING_CREDIT_OFFICER_KEY
errorReason MISSING_BRANCH_KEY
errorReason MISSING_CENTRE_KEY
errorReason INVALID_USER_ROLE_KEY
errorReason USER_IS_LOCKED
errorReason INVALID_PASSWORD
errorReason EMAIL_ADDRESS_ALREADY_REGISTERED_WITH_ANOTHER_USER
errorReason EMAIL_ADDRESS_FORMAT_IS_INVALID
errorReason USERNAME_ALREADY_EXISTS
errorReason MAX_USER_LIMIT_REACHED
errorReason CANNOT_MANAGE_USER_BRANCH
errorReason NOT_ENOUGH_PRIVILDGES_FOR_CHANGING_USER_SETTINGS
errorReason ONLY_ONE_ROLE_ALLOWED
errorReason INVALID_TRANSACTION_LIMIT_TYPE
errorReason NOT_ENOUGH_PRIVILEDGES_TO_CREATE_ADMIN_USER
errorReason CANNOT_HAVE_NEGATIVE_TRANSACTION_LIMITS
errorReason INVALID_VALUE_FOR_MANAGED_BRANCHES
errorReason CANNOT_HAVE_ADMIN_WITHOUT_FULL_BRANCHES_ACCESS
errorReason CANNOT_HAVE_OFFICER_ADMIN_WITHOUT_MANAGE_OTHER_ENTITIES_ACCESS
errorReason INCONSISTENT_CAN_MANAGE_BRANCHES_WITH_CAN_MANAGE_ENTITIES
errorReason MISSING_EMAIL_ADDRESS
errorReason MISSING_MOBILE_PHONE
errorReason INVALID_BRANCH_ID
errorReason INVALID_BRANCH_KEY
errorReason INVALID_MANAGED_BRANCH_ID
errorReason BRANCH_IS_NOT_ACTIVE
errorReason INVALID_CENTRE_KEY
errorReason INVALID_CENTRE_ID
errorReason INCONSISTENT_CENTRE_WITH_BRANCH
errorReason CENTRE_IS_NOT_ACTIVE
errorReason INCONSISTENT_VALUE_WITH_CUSTOM_FIELD_TYPE
errorReason REQUIRED_CUSTOM_FIELD_MISSING
errorReason INVALID_CUSTOM_FIELD_ID
errorReason MAX_CUSTOM_FIELD_VALUE_LENGTH_EXCEEDED
errorReason INVALID_CUSTOM_FIELD_ENTITY_KEY
errorReason VIEW_TYPE_NOT_MATCHING_RESOURCE
errorReason VIEW_NOT_ACCESSIBLE_FOR_USER
errorReason CUSTOM_FIELD_DEACTIVATED
errorReason CUSTOM_FIELD_REQUIRED
errorReason CUSTOM_FIELD_NOT_AVAILABLE_FOR_ENTITY
errorReason INVALID_CUSTOM_FIELD_LINKED_ENTITY_KEY
errorReason DEPENDENT_CUSTOM_FIELD_VALUE_REQUIRED
errorReason INCONSISTENT_VALUE_WITH_SET_TYPE
errorReason GROUPED_INDEXES_NOT_CONSECUTIVE
errorReason TO_MANY_VALUES_FOR_SAME_GROUPED_CUSTOM_FIELD
errorReason INVALID_CUSTOM_FIELD_GROUP_INDEX
errorReason INCONSISTENT_CUSTOM_FIELD_VALUE_WITH_PATTERN
errorReason DUPLICATE_CUSTOM_FIELD_VALUES
errorReason CUSTOM_FIELD_SET_CHANGE_NOT_ALLOWED
errorReason CUSTOM_FIELD_SET_NULL
errorReason CUSTOM_FIELD_USAGE_CHANGE_NOT_ALLOWED
errorReason DATATYPE_OR_TYPE_CHANGED
errorReason CUSTOM_FIELD_NAME_NOT_UNIQUE
errorReason ENCODED_KEY_MUST_BE_EMPTY_ON_CREATE
errorReason CUSTOM_FIELDS_NEED_CHANNEL_PROVIDED
errorReason DUPLICATE_UNIQUE_VALUE
errorReason REFERRED_IN_CUSTOM_FIELD
errorReason TRANSACTION_TYPE_NOT_ACCEPTING_CUSTOM_FIELDS
errorReason INVALID_CUSTOM_FIELD_KEY
errorReason BUILT_IN_CUSTOM_FIELD_CHANGE_NOT_ALLOWED
errorReason INVALID_ID_DOCUMENT
errorReason REQUIRED_ID_DOCUMENT_MISSING
errorReason ADDING_OTHER_ID_DOCUMENTS_IS_DISABLED
errorReason INVALID_ID_DOCUMENT_TEMPLATE_KEY
errorReason INVALID_DOCUMENT_ID
errorReason INVALID_FILE_EXTENSION
errorReason FILE_EXTENSION_NOT_ALLOWED
errorReason INCONSISTENT_EXTENSION_WITH_FILE_CONTENT
errorReason MALWARE_CONTENT_DETECTED
errorReason INVALID_FILENAME
errorReason NO_PROFILE_PICTURE_SET
errorReason NO_PROFILE_SIGNATURE_SET
errorReason HAS_DOCUMENT_ATTACHED
errorReason INVALID_TASK_ID
errorReason INVALID_TASK_STATE_AND_COMPLETION_DATE
errorReason INVALID_TASK_FIELD_CHANGE
errorReason INVALID_TASK_STATUS
errorReason INVALID_TASK_TITLE_LENGTH
errorReason HAS_TASK_ATTACHED
errorReason EDITING_VIEW_TYPE_NOT_ALLOWED
errorReason INVALID_CUSTOM_FIELD_SET_ID
errorReason MISSING_FROM_DATE
errorReason MISSING_TO_DATE
errorReason MAXIMUM_ONE_FILTER_ALLOWED
errorReason TILL_BALANCE_OUTSIDE_CONSTRAINTS
errorReason TRANSACTION_IS_NOT_WITHIN_CHANNEL_CONSTRAINTS
errorReason INVALID_ADDRESS
errorReason CLIENT_ROLE_DOES_NOT_ALLOW_ADDRESS
errorReason ADDRESS_CHANGE_NOT_ALLOWED
errorReason DATA_IMPORT_IN_PROGRESS
errorReason DATABASE_BACKUP_IN_PROGRESS
errorReason DATABASE_BACKUP_NOT_FOUND
errorReason CLIENT_IN_MIGRATION
errorReason INVALID_ASSIGNMENT
errorReason INVALID_INDEX_RATE_SOURCE_ID
errorReason START_DATE_BEFORE_LAST_INDEX_REVIEWD_DATE
errorReason INVALID_INDEX_RATE_START_DATE
errorReason NO_INDEX_RATE_AVAILABLE
errorReason NO_TAX_RATE_AVAILABLE
errorReason INCONSISTENT_GROUP_MEMBER_PARENT_KEY
errorReason INCONSISTENT_GROUP_MEMBER_ENCODED_KEY
errorReason INCONSISTENT_GROUP_ROLE_PARENT_KEY
errorReason INCONSISTENT_GROUP_ROLE_ENCODED_KEY
errorReason PRODUCT_LINE_OF_CREDIT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason DISBURSEMENT_DATE_BEFORE_LINE_OF_CREDIT_START_DATE
errorReason MATURITY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason LINE_OF_CREDIT_AMOUNT_EXCEEDED
errorReason LINE_OF_CREDIT_REQUIRED_EXCEPTION
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason CANNOT_CREATE_ACCOUNT_WITH_LINE_OF_CREDIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_EXPIRY_DATE
errorReason INVALID_LINE_OF_CREDIT_ID
errorReason ACCOUNT_ALREADY_ON_LINE_OF_CREDIT
errorReason INCONSISTENT_LINE_OF_CREDIT_CLIENT_WITH_ACCOUNT_OWNER
errorReason ACCOUNT_IS_NOT_PART_OF_LINE_OF_CREDIT
errorReason INVALID_LINE_OF_CREDIT_STATE
errorReason HAS_LINES_OF_CREDIT
errorReason LINE_OF_CREDIT_ID_ALREADY_IN_USE
errorReason EXPIRE_DATE_BEFORE_START_DATE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_LINES_OF_CREDIT
errorReason MISSING_LINE_OF_CREDIT_START_DATE
errorReason MISSING_LINE_OF_CREDIT_EXPIRE_DATE
errorReason MISSING_LINE_OF_CREDIT_AMOUNT
errorReason LINE_OF_CREDIT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason MISSING_ACCOUNT_HOLDER_KEY
errorReason MISSING_ACCOUNT_HOLDER_TYPE
errorReason ACCOUNT_HOLDER_NOT_FOUND
errorReason INVALID_ACCOUNT_HOLDER_STATE
errorReason NO_ORGANIZATION_ICON
errorReason NO_ORGANIZATION_LOGO
errorReason MISSING_TEXT
errorReason MAX_TEXT_LENGTH_EXCEEDED
errorReason NUM_INSTALLMENTS_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason PRINCIPAL_PAYMENT_INCONSISTENT_WITH_PRODUCT
errorReason SCHEDULE_PREVIEW_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason AMOUNT_MORE_THAN_CURRENT_AVAILABLE_AMOUNT
errorReason INCONSISTENT_WITH_CENTRE_MEETING_DAY
errorReason FIELD_IS_NOT_EDITABLE
errorReason RESCHEDULED_REPAYMENT_BEFORE_DISBURSEMENT_DATE
errorReason FIELD_NOT_ALLOWED
errorReason OPERATION_NOT_ALLOWED_ON_FIELD
errorReason INVALID_FILTER_VALUES
errorReason INVALID_FILTER_SELECTION
errorReason INVALID_FILTER_ELEMENT
errorReason INVALID_FILTER_VALUE
errorReason INVALID_FILTER_SECOND_VALUE
errorReason TOO_MANY_FILTERS_PROVIDED
errorReason INVALID_FILTER_DATA_ITEM_TYPE
errorReason INSUFFICIENT_FUNDS_ACCOUNT_BALANCE
errorReason INSUFFICIENT_FUNDS_TOTAL_AMOUNT
errorReason FUNDS_NOT_ALLOWED
errorReason FUNDING_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason FUNDER_INTEREST_COMMISSION_CONSTRAINTS_VALIDATION
errorReason MISSING_FUNDER_INTEREST_COMMISSION
errorReason INVALID_FUND_ENCODED_KEY
errorReason INVESTORS_TOTAL_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason INVALID_FUND_ID
errorReason INACTIVE_FUND_ID
errorReason INVALID_FUNDED_ACCOUNT_STATE
errorReason FUND_SELL_WITH_NO_PURCHASES
errorReason FUND_OVERSELL
errorReason INVALID_SELLER_FUND_AMOUNT
errorReason INVALID_SELLER_FUND_STATE
errorReason INVALID_SELLER_FUNDING_ACCOUNT
errorReason INVALID_INVESTMENT_PERCENTAGES_FOR_AMOUNTS
errorReason FUND_SELF_SELL
errorReason INVALID_BUYER_FUNDING_ACCOUNT
errorReason DUPLICATE_BUYER_FUNDING_ACCOUNT
errorReason INVALID_BUYER_FUND_AMOUNT
errorReason INVALID_FUND_PURCHASE_PRICE
errorReason INSUFFICIENT_BUYER_FUNDING_ACCOUNT_FUNDS
errorReason LOAN_ACCOUNT_NOT_FUNDED_BY_SAVINGS_ACCOUNT
errorReason INVALID_INTEREST_RATE_AGAINST_INTEREST_COMMISSION
errorReason INVALID_SAVINGS_ACCOUNT_TYPE_FOR_FUNDING
errorReason DUPLICATED_SAVINGS_ACCOUNT_FOR_FUNDING
errorReason INVALID_FIXED_DAYS_OF_MONTH
errorReason INVALID_SORTING_COLUMN
errorReason COLUMN_NOT_SORTABLE
errorReason INVALID_SORTING_ORDER
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_FIELD
errorReason INVALID_GUARANTY_ENCODED_KEY
errorReason INVALID_GUARANTY_TYPE
errorReason INVALID_GUARANTOR_TYPE
errorReason GUARANTY_KEY_TYPE_MISMATCH
errorReason INVALID_TEMPLATE_ID
errorReason INVALID_TEMPLATE_TYPE
errorReason MISSING_FIXED_DAYS_OF_MONTH
errorReason FIXED_DAYS_OF_MONTH_NOT_ALLOWED
errorReason REPAYMENT_FREQUENCY_NOT_ALLOWED
errorReason REPAYMENT_PERIOD_COUNT_NOT_ALLOWED
errorReason APPLIED_INTEREST_BALANCE_CANNOT_BE_REALLOCATED
errorReason INVALID_NEW_TOTAL_LOAN_AMOUNT
errorReason NEGATIVE_WRITE_OFF_AMOUNT
errorReason CAPITALIZED_AMOUNTS_NOT_ALLOWED_DUE_TO_DIFFERENT_ACCOUNTING
errorReason TOP_UP_AMOUNT_IS_MANDATORY
errorReason RESTRUCTURE_DETAILS_ARE_MANDATORY
errorReason NEGATIVE_TOP_UP_AMOUNT
errorReason WRITE_OFF_AMOUNT_MORE_THAN_BALANCE_AMOUNT
errorReason CANNOT_REFINANCE_REVOLVING_CREDIT_LOAN
errorReason POSITIVE_CAPITALIZED_AMOUNTS_FOR_LOAN_FUNDED_NOT_ALLOWED
errorReason WRITE_OFF_AMOUNT_FOR_LOAN_FUNDED_DIFFERENT_BY_BALANCE_AMOUNT
errorReason CURRENCY_NOT_AVAILABLE_FOR_PRODUCT
errorReason CURRENCY_NOT_EDITABLE
errorReason TELLER_CANNOT_POST_TRANSACTION_IN_MULTI_CURRENCY
errorReason SETTINGS_ONLY_AVAILABLE_FOR_REVOLVING_CREDIT_ACCOUNTS
errorReason INCONSISTENT_FLAT_AMOUNT_WITH_PRODUCT_CONSTRAINTS
errorReason INCONSISTENT_PERCENTANGE_WITH_PRODUCT_CONSTRAINTS
errorReason AMOUNT_REQUIRED_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_REQUIRED_FOR_PRINCIPAL_PAYMENT_PERCENTAGE_METHOD
errorReason AMOUNT_ONLY_AVAILABLE_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_ONLY_AVAILABLE_FOR_OUTSTANDING_PRINCIPAL_PERCENTAGE_METHOD
errorReason INVALID_PRINCIPAL_PAYMENT_FLAT_AMOUNT_WITH_DECIMALS
errorReason INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_VALUE
errorReason CANT_EDIT_LOCKED_OPERATIONS_IN_LOCKED_CAPPING_STATE
errorReason CANT_UNLOCK_WHEN_INCOME_BALANCE_IS_OVER_PRINCIPAL_CAPPING_CONSTRAINTS
errorReason CANNOT_BULK_REVERSE_INTERNAL_TRANSFER_REPAYMENT
errorReason CANNOT_BULK_REAPPLY_TRANSACTION_BECAUSE_LOCKED_TRANSACTIONS_LOGGED_AFTER_IT
errorReason CANNOT_BULK_REAPPLY_POSTDATED_REPAYMENTS
errorReason CANNOT_BULK_REVERSE_ACTIVATION_TRANSACTION
errorReason CLOSURE_DATE_AFTER_MAX_ALLOWED_UNDO_CLOSURE_PERIOD
errorReason CLOSURE_DATE_BEFORE_GL_ACCOUNT_CLOSURE
errorReason MISSING_ORGANIZATION_INTEREST_COMMISSION
errorReason INSUFFICIENT_TRANSACTION_AMOUNT
errorReason CANNOT_REVERSE_INTEREST_ON_DISBURSEMENT
errorReason TRANSACTION_TYPE_IS_IRREVERSIBLE
errorReason INTEREST_APPLIED_WITH_NULL_AMOUNT
errorReason CANNOT_REVERSE_OFFSET_DEPOSIT_TRANSACTION
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_ID
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_STATE_FOR_LOCK
errorReason INCOME_BALANCE_CONSTRAINTS_EXCEEDED
errorReason CANNOT_BULK_REVERSE_LOAN_FRACTION_SOLD
errorReason LATE_FEE_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT
errorReason FEE_CANNOT_BE_POSTED_ON_RECOMPUTED_SCHEDULE
errorReason INVALID_ORGANIZATION_INTEREST_COMMISSION
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_LOAN_PRODUCT_TYPE
errorReason INSTALLMENT_WITH_INTEREST_APPLIED_CANNOT_BE_EDITED
errorReason UNABLE_TO_DETERMINE_DELETED_REPAYMENTS
errorReason PAID_OR_PURE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason NON_CUSTOM_MADE_INTALLMENT_CANNOT_BE_DELETED_FOR_REVOLVING_CREDIT_ACCOUNT
errorReason INVALID_NUMBER_OF_INSTALLMENTS
errorReason INVALID_PRINCIPAL_AMOUNT_WITH_DECIMALS
errorReason INCONSISTENT_WITH_LINE_OF_CREDIT_VALID_UNTIL_DATE
errorReason DUE_DATES_NOT_UNIQUE
errorReason NON_ZERO_PRINCIPAL_REPAYMENT_CANNOT_BE_DELETED
errorReason NON_DYNAMIC_ACCOUNT_REPAYMENT_DELETION_NOT_ALLOWED
errorReason INVALID_LOAN_ACCOUNT_STATE_FOR_FUNDS_EDIT
errorReason ENTRY_DATE_AFTER_MATURITY_DATE_WITH_LATE_FEES_AND_BULK_REVERSAL
errorReason DIFFERENT_ACCOUNTING_STATE_BETWEEN_INVOLVED_PRODUCTS
errorReason ACCOUNT_ALREADY_LINKED
errorReason PRODUCT_DOES_NOT_ALLOW_LINKING
errorReason UNLINKABLE_SAVINGS_PRODUCT
errorReason INVALID_SAVINGS_ACCOUNT_HOLDER
errorReason LINK_BETWEEN_ACCOUNTS_DOES_NOT_EXIST
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_EDITED
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason INSUFFICIENT_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_TYPE
errorReason MATURITY_PERIOD_ALREADY_STARTED
errorReason LOAN_PRODUCT_PRINCIPAL_PAID_INSTALLMENT_STATUS_MISMATCH
errorReason CANNOT_DELETE_LINK_FOR_ACTIVATED_OFFSET_LOAN
errorReason INVALID_LANGUAGE
errorReason INVALID_LINKED_SETTLEMENT_ACCOUNT_KEYS
errorReason SAVINGS_ACCOUNT_ALREADY_LINKED
errorReason RESEND_FAILED_NOTIFICATION_FAILED
errorReason INVALID_NOTIFICATION_MESSAGE_STATE
errorReason DUPLICATED_NOTIFICATION_ENCODED_KEY
errorReason MAXIMUM_NUMBER_OF_NOTIFICATIONS_TO_RESEND_EXCEEDED
errorReason DUE_DATES_NOT_IN_ASCENDING_ORDER
errorReason ACCOUNT_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason CLIENT_HAS_ACTIVE_ACCOUNTS_WITH_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason PRODUCT_HAS_ASSOCIATED_ACCOUNTS
errorReason MAX_NUMBER_OF_FILTERS_REACHED
errorReason MAX_NUMBER_OF_COLUMNS_REACHED
errorReason USAGE_RIGHTS_ROLE_NOT_AVAILABLE
errorReason CURRENCY_NOT_DEFINED
errorReason BASE_CURRENCY_CANNOT_BE_REMOVED
errorReason CURRENCY_IN_USE_CANNOT_BE_REMOVED
errorReason CURRENCY_DOES_NOT_EXIST
errorReason INVALID_COMMUNICATION_MESSAGE_ENCODED_KEY
errorReason INVALID_EMAIL_SUBJECT
errorReason INVALID_CREDIT_ARRANGEMENT_ID
errorReason INVALID_CREDIT_ARRANGEMENT_STATE
errorReason CREDIT_ARRANGEMENT_ID_ALREADY_IN_USE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_CREDIT_ARRANGEMENTS
errorReason CREDIT_ARRANGEMENT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason PRODUCT_CREDIT_ARRANGEMENT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason ACCOUNT_ALREADY_ON_CREDIT_ARRANGEMENT
errorReason INCONSISTENT_CREDIT_ARRANGEMENT_CLIENT_WITH_ACCOUNT_OWNER
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_EXPIRE_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason CREDIT_ARRANGEMENT_AMOUNT_EXCEEDED
errorReason MATURITY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason DISBURSEMENT_DATE_BEFORE_CREDIT_ARRANGEMENT_START_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRED_EXCEPTION
errorReason ACCOUNT_IS_NOT_PART_OF_CREDIT_ARRANGEMENT
errorReason CREDIT_ARRANGEMENT_ILLEGAL_PARAMETER_MODIFICATION
errorReason CREDIT_ARRANGEMENT_HAS_NON_CLOSED_ACCOUNTS
errorReason BASE_CURRENCY_NOT_UNIQUE
errorReason CURRENCY_SYMBOL_LENGTH_OUTSIDE_CONSTRAINTS
errorReason INEXISTING_CURRENCY_SYMBOL
errorReason INVALID_TO_INSTALLMENT_POSITION
errorReason INVALID_PMT_VALUE
errorReason PAYMENT_PLAN_NOT_AVAILABLE
errorReason AT_LEAST_ONE_PERIODIC_PAYMENT_PLAN_MANDATORY
errorReason SUM_OF_PERIODIC_PAYMENTS_LESS_OR_EQUAL_WITH_LOAN_AMOUNT
errorReason PAYMENT_PLAN_ENTRIES_NOT_ORDERED
errorReason INTEREST_RATE_COMPUTATION_ERROR
errorReason INVALID_PERIODIC_PAYMENT_ENCODED_KEY
errorReason DUPLICATED_PERIODIC_PAYMENT_ENCODED_KEY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_METHOD_MUST_BE_NULL
errorReason INVALID_DAYS_IN_YEARS_METHOD_MUST_BE_NULL
errorReason PRODUCT_ID_ALREADY_IN_USE
errorReason INVALID_ROUNDING_REPAYMENT_CURRENCY_FOR_PRODUCT
errorReason SDK_CLIENT_COULD_NOT_BE_GENERATED
errorReason SDK_CLIENT_LANGUAGES_COULD_NOT_BE_OBTAINED
errorReason MAXIMUM_NUMBER_OF_COMMUNICATION_MESSAGES_TO_RESEND_EXCEEDED
errorReason RESEND_FAILED_COMMUNICATON_FAILED
errorReason DUPLICATE_ENCODED_KEY
errorReason MESSAGE_STATE_MUST_BE_FAILED
errorReason NO_MESSAGE_FOUND
errorReason MESSAGE_NOT_FOUND
errorReason MISSING_ENCODED_KEY
errorReason URL_CONTAINS_QUOTES
errorReason MISSING_RECIPIENT
errorReason RECIPIENT_NOT_ALLOWED
errorReason INVALID_CLIENT_RECIPIENT
errorReason INVALID_CREDIT_OFFICER_RECIPIENT
errorReason INVALID_GROUP_ROLE_RECIPIENT
errorReason INVALID_CUSTOM_FIELD_RECIPIENT
errorReason INVALID_EVENT
errorReason INVALID_TARGET
errorReason INVALID_PLACEHOLDER
errorReason INVALID_FIELD_LENGTH
errorReason INVALID_WEBHOOK_REQUEST_TYPE
errorReason URL_CONTAINS_INVALID_PLACEHOLDERS
errorReason CARD_REFERENCE_TOKEN_FORMAT_INVALID
errorReason CARD_REFERENCE_TOKEN_ALREADY_IN_USE
errorReason CARD_REFERENCE_HAS_ASSOCIATED_HOLDS_OR_TRANSACTIONS
errorReason CARD_REFERENCE_NOT_FOUND
errorReason DUPLICATE_AUTHORIZATION_HOLD
errorReason DUPLICATE_CARD_TRANSACTION
errorReason AVAILABLE_BALANCE_BELOW_ZERO
errorReason AUTHORIZATION_HOLD_NOT_FOUND
errorReason PRODUCT_MUST_BE_ACTIVE
errorReason TARGET_AMOUNT_IS_NEGATIVE
errorReason MAX_WITHDRAWAL_AMOUNT_OUTSIDE_CONSTRAINTS
errorReason ACCOUNT_HOLDER_KEY_INVALID
errorReason ACCOUNT_HOLDER_TYPE_INVALID
errorReason INVALID_WITHHOLDING_TAX_SOURCE_KEY
errorReason INTEREST_RATE_OUTSIDE_CONSTRAINTS
errorReason INVALID_INTEREST_PAYMENT_POINT
errorReason INVALID_INTEREST_PAYMENT_DATES
errorReason REQUIRED_OVERDRAFT_INTEREST_RATE
errorReason REQUIRED_OVERDRAFT_EXPIRY_DATE
errorReason REQUIRED_OVERDRAFT_LIMIT
errorReason DEPOSIT_ACCOUNT_FIELD_NOT_EDITABLE
errorReason DEPOSIT_PRODUCT_MISMATCH
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_RECOMMENDED_DEPOSIT_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_MAX_WITHDRAWAL_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_TARGET_AMOUNT
errorReason REQUIRED_INTEREST_RATE
errorReason INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_SPREAD_SHOULD_BE_NULL
errorReason INVALID_ACCOUNT_TYPE
errorReason INVALID_ACCOUNT_KEY
errorReason UNABLE_TO_RECALCULATE_SCHEDULE
errorReason UNABLE_TO_APPRAISE_LOAN_ACCOUNT
errorReason TRANSACTION_MADE_BY_A_DISBURSEMENT_FEE
errorReason INVALID_TARGET_ACCOUNT_TYPE
errorReason NEGATIVE_TARGET_ACCOUNT_BALANCE
errorReason ZERO_DISBURSE_AMOUNT
errorReason INVESTOR_FUNDED_LOAN_ACCOUNT
errorReason INVALID_TARGET_ACCOUNT_HOLDER_KEY
errorReason TRANSFER_NOTES_LENGTH_EXCEEDS_MAXIMUM_SIZE
errorReason CANNOT_MAKE_TRANSFER_FOR_FOREIGN_CURRENCY_IF_ACCOUNTING_ENABLED
errorReason INVALID_ENVIRONMENT
errorReason INVALID_AMORTIZATION_PROFILE
errorReason AMORTIZATION_PROFILE_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT
errorReason INVALID_AMORTIZATION_SETTINGS
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT
errorReason AMORTIZATION_SETTINGS_NOT_ALLOWED
errorReason INVALID_INTEREST_RATE_TERMS
errorReason TRANSACTION_DISBURSEMENT_DATE_DOES_NOT_MATCH_WITH_TRANCH_EXPECTED_DATE
errorReason DUPLICATE_TRANSACTION_CHANNEL_NAME
errorReason DUPLICATE_TRANSACTION_CHANNEL_ID
errorReason TRANSACTION_CHANNEL_ID_CONTAINS_SPACES
errorReason INVALID_TRANSACTION_CHANNEL_LOAN_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_SAVINGS_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_ACCOUNT_USAGE
errorReason CANNOT_DELETE_DEFAULT_TRANSACTION_CHANNEL
errorReason TRANSACTION_CHANNEL_IN_USE
errorReason TRANSACTION_CHANNEL_CANNOT_BE_DEACTIVATED
errorReason INCONSISTENT_TRANSACTION_USER_KEY_WITH_ACCOUNT_USER
errorReason INCONSISTENCY_BETWEEN_CHANNEL_KEY_AND_ID
errorReason INCONSISTENT_TRANSACTION_PRODUCT_KEY_WITH_ACCOUNT_PRODUCT
errorReason DUPLICATE_ID
errorReason DUPLICATE_NAME
errorReason ID_CONTAINS_SPACES
errorReason INVALID_EXTERNAL_ID
errorReason EXTERNAL_ID_ALREADY_EXISTS
errorReason INVALID_ASSIGNMENT_FROM_NO_MEETING_DAY
errorReason CLIENT_HAS_ACCOUNTS_IN_DIFFERENT_BRANCH_WITH_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason ACCOUNT_ALREADY_DISBURSED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_TYPE_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_INTERVAL_TYPE
errorReason INVALID_AMORTIZATION_FREQUENCY_PREDEFINED_INTERVALS_UNIT
errorReason NON_POSITIVE_DEFAULT_INTEREST_RATE
errorReason NON_POSITIVE_MIN_INTEREST_RATE
errorReason NON_POSITIVE_MAX_INTEREST_RATE
errorReason INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE
errorReason DEFAULT_MIN_MAX_NOT_AVAILABLE
errorReason INTEREST_RATE_TERMS_ARE_READONLY
errorReason INTEREST_CALCULATION_BALANCE_METHOD_READONLY
errorReason INTERNAL_TRANSFER_CANNOT_USE_CUSTOM_FIELDS
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_INCLUDE_FEE_IN_FLOOR_AMOUNT_OPTION_ENABLED
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INCONSISTENT_LATE_REPAYMENT_FEE_TRIGGER_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INACTIVE_ACCOUNT_BRANCH
errorReason INCONSISTENT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason INVALID_ACCOUNT_BRANCH_ASSIGNMENT_DUE_CENTRE_MEETING_DAY_MISMATCH
errorReason CANNOT_CHANGE_LOAN_GROUP_BRANCH_FOR_A_SOLIDARITY_GROUP
errorReason CANNOT_CREATE_NEW_USER_IN_FEDERATED_CONTEXT
errorReason EMPTY_CUSTOM_FIELD_ID
errorReason ACCOUNT_ALREADY_CLOSED
errorReason INVALID_GUARANTEE_TYPE
errorReason ORIGINAL_ACCOUNT_NOT_FOUND
errorReason INVALID_ORIGINAL_ACCOUNT_STATE
errorReason CANNOT_APPLY_REPAYMENT_ON_ZERO_BALANCE_ACCOUNT
errorReason DATA_IMPORT_EVENT_NOT_FOUND
errorReason INVALID_SETTLEMENT_ACCOUNT_KEY
errorReason INVALID_SETTLEMENT_ACCOUNT_STATE
errorReason DEPOSIT_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason SAVINGS_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason INVALID_DEPOSIT_ACCOUNT_HOLDER
errorReason UNLINKABLE_DEPOSIT_PRODUCT

PatchOperation

{
  "op": "ADD",
  "path": "string",
  "from": "string",
  "value": {}
}

A single change that needs to be made to a resource

Properties

Name Type Required Restrictions Description
op string true none The change to perform
path string true none The field to perform the operation on
from string false none The field from where a value should be moved, when using move
value object false none The value of the field, can be null

Enumerated Values

Property Value
op ADD
op REPLACE
op REMOVE
op MOVE

PatchOperationsList

[
  {
    "op": "ADD",
    "path": "string",
    "from": "string",
    "value": {}
  }
]

Properties

Name Type Required Restrictions Description
anonymous [PatchOperation] false none none

ErrorResponse

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Properties

Name Type Required Restrictions Description
errors [RestError] false none none

AuthorizationHoldAmountDecreaseRequest

{
  "externalReferenceId": "string",
  "encodedKey": "string",
  "amount": 0,
  "currencyCode": "string"
}

A request to decrease the amount of an authorization hold.

Properties

Name Type Required Restrictions Description
externalReferenceId string false none The external reference ID of the decrease request (not of the authorization hold).
encodedKey string false read-only The encoded key of the entity, generated by JDO, globally unique
amount number true none The amount of money to be subtracted from the authorization hold amount. If the amount is greater or equal to the authorization hold amount, then the authorization hold is reversed.
currencyCode string false none The ISO currency code in which the hold was created.

Centres

Allows retrieving centres which are being used by an organisation. A Centre is a common meeting area that credit officers and the individual and group clients go to.

getAll

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/centres \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/centres HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/centres',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/centres',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.get 'https://localhost:8889/api/centres',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.get('https://localhost:8889/api/centres', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/centres");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://localhost:8889/api/centres", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /centres

Allows retrieval of centres using various query parameters

Parameters

Parameter In Type Required Description
offset query integer(int32) false Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results
limit query integer(int32) false Pagination, the number of elements to retrieve, used in combination with offset to paginate results
paginationDetails query string false Flag specifying whether the pagination should be enabled or not. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object
branchId query string false The branch id the centre belongs to

Enumerated Values

Parameter Value
paginationDetails ON
paginationDetails OFF
detailsLevel BASIC
detailsLevel FULL

Example responses

200 Response

[
  {
    "addresses": [
      {
        "country": "string",
        "parentKey": "string",
        "city": "string",
        "latitude": 0,
        "postcode": "string",
        "indexInList": 0,
        "encodedKey": "string",
        "region": "string",
        "line2": "string",
        "line1": "string",
        "longitude": 0
      }
    ],
    "notes": "string",
    "lastModifiedDate": "2016-09-06T13:37:50+03:00",
    "name": "string",
    "meetingDay": "string",
    "encodedKey": "string",
    "id": "string",
    "state": "ACTIVE",
    "creationDate": "2016-09-06T13:37:50+03:00",
    "assignedBranchKey": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Centres list retrieved Inline
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Centre] false none none
» addresses [Address] false none The addresses of this centre
»» country string false none The country
»» parentKey string false read-only Address parent key, the object owning this address, client, centre, branch
»» city string false none The city for this address
»» latitude number false none The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90
»» postcode string false none The post code
»» indexInList integer(int32) false none Index of this address in the list of addresses
»» encodedKey string false read-only Address encoded key, unique, generated
»» region string false none The region that is part of the address
»» line2 string false none The second line for the address, in case the first one doesn't fit the information, this is completely optional
»» line1 string false none The first line of the address
»» longitude number false none The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180
» notes string false none Extra notes about this centre
» lastModifiedDate string(date-time) false none The last time the centre was modified
» name string false none Name of the centre
» meetingDay string false none Day of the week when repayments are collected, influences repayments schedule, upon update all repayments are update to this day of the week
» encodedKey string false read-only The encoded key of the entity, generated by JDO, globally unique
» id string false none Id of the centre, unique, can be generated and customized
» state string false none The state of the centre
» creationDate string(date-time) false none Date the centre was created
» assignedBranchKey string false none Encoded key of the branch this centre is assigned to

Enumerated Values

Property Value
state ACTIVE
state INACTIVE

Response Headers

Status Header Type Format Description
200 Items-Offset integer int32 Pagination details, the index of the first returned item
200 Items-Limit integer int32 Pagination details, the requested page size
200 Items-Total integer int32 Pagination details, the total available items

getByID

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/centres/{centreId} \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/centres/{centreId} HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/centres/{centreId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/centres/{centreId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.get 'https://localhost:8889/api/centres/{centreId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.get('https://localhost:8889/api/centres/{centreId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/centres/{centreId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://localhost:8889/api/centres/{centreId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /centres/{centreId}

Allows retrieval of a single centre via id or encoded key

Parameters

Parameter In Type Required Description
centreId path string true The id or encoded key of the centre to be retrieved
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object

Enumerated Values

Parameter Value
detailsLevel BASIC
detailsLevel FULL

Example responses

200 Response

{
  "addresses": [
    {
      "country": "string",
      "parentKey": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "encodedKey": "string",
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "name": "string",
  "meetingDay": "string",
  "encodedKey": "string",
  "id": "string",
  "state": "ACTIVE",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "assignedBranchKey": "string"
}

Responses

Status Meaning Description Schema
200 OK Centre retrieved Centre
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Centre not found ErrorResponse

- - - Schemas - - -

Below you can find more detailed information regarding the individual properties of JSON response types relevant to the API resources described above.

Address

{
  "country": "string",
  "parentKey": "string",
  "city": "string",
  "latitude": 0,
  "postcode": "string",
  "indexInList": 0,
  "encodedKey": "string",
  "region": "string",
  "line2": "string",
  "line1": "string",
  "longitude": 0
}

Address Data Transfer Object

Properties

Name Type Required Restrictions Description
country string false none The country
parentKey string false read-only Address parent key, the object owning this address, client, centre, branch
city string false none The city for this address
latitude number false none The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90
postcode string false none The post code
indexInList integer(int32) false none Index of this address in the list of addresses
encodedKey string false read-only Address encoded key, unique, generated
region string false none The region that is part of the address
line2 string false none The second line for the address, in case the first one doesn't fit the information, this is completely optional
line1 string false none The first line of the address
longitude number false none The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180

RestError

{
  "errorCode": 0,
  "errorSource": "string",
  "errorReason": "SUCCESS"
}

Properties

Name Type Required Restrictions Description
errorCode integer(int32) false none none
errorSource string false none none
errorReason string false none none

Enumerated Values

Property Value
errorReason SUCCESS
errorReason INVALID_BASIC_AUTHORIZATION
errorReason INVALID_CREDENTIALS
errorReason INVALID_API_OPERATION
errorReason INVALID_PARAMETERS
errorReason METHOD_NOT_IMPLEMENTED
errorReason INTERNAL_ERROR
errorReason API_NOT_AUTHORIZED
errorReason USER_TRANSACTION_LIMIT_EXCEEDED
errorReason API_CONFIGURATION_ERROR
errorReason INVALID_TENANT_ID
errorReason INVALID_PAGINATION_OFFSET_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_OFFSET_VALUE
errorReason INVALID_PAGINATION_LIMIT_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_LIMIT_VALUE
errorReason INVALID_PERMISSIONS
errorReason INVALID_IP_ADDRESS
errorReason INACTIVE_USER
errorReason NO_API_ACCESS
errorReason FEATURE_DISABLED
errorReason MAX_FILE_SIZE_EXCEEDED
errorReason MAX_FILENAME_LENGTH_EXCEEDED
errorReason UNSUPPORTED_CHARACTER_ENCODING
errorReason INVALID_API_PROTOCOL
errorReason EXCESSIVE_INVALID_REQUESTS
errorReason INCONSISTENT_IDENTIFIER_WITH_JSON
errorReason INVALID_JSON_SYNTAX
errorReason PARAMETER_NOT_ALLOWED
errorReason START_DATE_AFTER_END_DATE
errorReason OBJECT_NOT_FOUND
errorReason MISSING_ENTITY_JSON
errorReason MISSING_REQUIRED_PARAMETER
errorReason BLOCKING_OPERATION_IN_PROGRESS
errorReason NON_REVERSIBLE_WRITE_OFF
errorReason NON_WEEKLY_LOAN_REPAYMENTS
errorReason INCONSISTENT_LINKED_ACCOUNT
errorReason INVALID_LOAN_ACCOUNT_ID
errorReason INVALID_AMOUNT
errorReason INVALID_DATE
errorReason INVALID_NOTES
errorReason INVALID_TRANSACTION_TYPE_ID
errorReason INVALID_ACCOUNT_STATE
errorReason INVALID_FEE
errorReason LOAN_PRODUCT_MISMATCH
errorReason INVALID_FIELD_FOR_TRANSACTION_TYPE
errorReason INACTIVE_TRANSACTION_TYPE
errorReason EXCESS_REPAYMENT_ERROR
errorReason TRANSACTION_LOGGED_AFTER_NOT_DISBURSED_TRANCHE
errorReason UNDEFINED_ACCOUNT_FOR_FINANCIAL_RESOURCE_ERROR
errorReason INVALID_ACCOUNT_FOR_JOURNAL_ENTRY_ERROR
errorReason MISSING_LOAN_ID
errorReason MAXIMUM_EXPOSURE_EXCEEDED
errorReason INVALID_STATE_TRANSITION
errorReason NUMBER_OF_LOANS_EXCEEDED
errorReason INVALID_FIRST_REPAYMENT_DUE_DATE
errorReason INVALID_REPAYMENT_DUE_DAY
errorReason INVALID_INTEREST_RATE
errorReason INVALID_INSTALLMENTS
errorReason MISSING_LINKED_ACCOUNT
errorReason PREPAYMENT_NOT_ALLOWED_ERROR
errorReason REPAYMENT_DATE_IN_THE_FUTURE_ERROR
errorReason INVALID_DISBURSEMENT_DATE
errorReason ILLEGAL_LOAN_PARAMETERS_MODIFICATION
errorReason ORIGINAL_ACCOUNT_HAS_FUNDS
errorReason INVALID_ACCOUNT_STATE_FOR_REPAYMENTS
errorReason DISBURSEMENT_FEES_EXCEED_LOAN_AMOUNT
errorReason INTEREST_CANNOT_BE_APPLIED
errorReason ENTRY_DATE_BEFORE_OTHER_TRANSACTION
errorReason INCONSISTENT_SCHEDULE_PRINCIPAL_DUE_WITH_LOAN_AMOUNT
errorReason ACCOUNT_HAS_NO_ACCRUED_INTEREST
errorReason INTEREST_ALREADY_APPLIED_ON_DISBURSEMENT_ACCOUNT
errorReason INCONSISTENT_WITH_FIXED_DAYS_OF_MONTH
errorReason NEGATIVE_PRINCIPAL_FOR_INSTALLMENT
errorReason INVALID_TAX_RATE
errorReason INSUFFICIENT_GUARANTEES
errorReason MISSING_REPAYMENT_PERIOD_COUNT
errorReason MISSING_REPAYMENT_INTERVAL
errorReason FUTURE_PAYMENT_NOT_ALLOWED_ERROR
errorReason DISBURSEMENT_WITH_ZERO_LOAN_AMOUNT_NOT_ALLOWED
errorReason MINIMUM_ARREARS_DAYS_NOT_REACHED
errorReason ACCOUNT_ALREADY_UNLOCKED
errorReason LOAN_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING
errorReason RESCHEDULED_LOAN
errorReason REFINANCED_LOAN
errorReason INVALID_PRODUCT_WITH_FUNDING_SOURCE_DISABLED
errorReason INVALID_ID
errorReason FAILED_TO_GENERATE_IDENTIFIER
errorReason INCONSISTENT_ACCOUNT_ID_WITH_ACCOUNT_HOLDER_TYPE
errorReason INVALID_ASSET_NAME
errorReason GUARANTOR_KEY_NOT_ALLOWED
errorReason GUARANTOR_SAVINGS_KEY_NOT_ALLOWED
errorReason INVALID_GUARANTOR_KEY
errorReason INVALID_SAVINGS_ACCOUNT_KEY
errorReason INVALID_GUARANTOR_STATE
errorReason DUPLICATED_GUARANTOR_WITHOUT_SAVINGS_ACCOUNT
errorReason DUPLICATED_SAVINGS_ACCOUNT
errorReason INSUFFICIENT_SAVINGS_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_STATE
errorReason DUPLICATED_ASSET
errorReason GUARANTOR_ASSET_NAME_NOT_ALLOWED
errorReason TRANSACTION_NOT_FOUND
errorReason INVALID_TRANSACTION_TYPE
errorReason UNREVERSED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE
errorReason INVALID_GUARANTOR_PERMISSION
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_ACCOUNTS
errorReason MISSING_PENALTY_RATE
errorReason INVALID_REPAYMENT_NUMBER
errorReason MISSING_REPAYMENT_NUMBER
errorReason INVALID_REPAYMENT_STATE
errorReason CENTRE_MEETING_DAY_IN_NON_WORKING_DAY
errorReason ARBITRARY_FEE_NOT_ALLOWED
errorReason INVALID_REPAYMENT_ID
errorReason ACCOUNT_BALANCE_OUTSIDE_CONSTRAINTS
errorReason EDITING_DATE_NOT_IN_CENTER_MEETING_DAY
errorReason CUSTOM_MADE_INSTALLMENT_ADDED_BEFORE_PAID_INSTALLMENT
errorReason EDITING_REPAYMENTS_NOT_ALLOWED
errorReason INTEREST_BALANCE_CANT_BE_EDITED_AT_SPECIFIED_DATE
errorReason INVALID_DUE_DATE
errorReason NEGATIVE_BALANCE
errorReason NON_POSITIVE_TOTAL_BALANCE
errorReason PARAMS_INCONSISTENT_WITH_PRODUCT_RULES
errorReason INVALID_GRACE_PERIOD
errorReason INVALID_ANTICIPATED_DISBURSEMENT
errorReason INVALID_REPAYMENT_FREQUENCY
errorReason INVALID_PRINCIPAL_REPAYMENT_INVERVAL
errorReason INVALID_PRODUCT_STATE
errorReason BALLOON_PAYMENTS_NOT_ALLOWED_BY_PRODUCT
errorReason MANDATORY_PERIODIC_PAYMENT
errorReason PERIODIC_PAYMENT_GREATER_THAN_LOAN_AMOUNT
errorReason MISSING_INTEREST_RATE_SPREAD_ON_PRODUCT
errorReason FIRST_REPAYMENT_DATE_BEFORE_EXPECTED_DISBURSEMENT_DATE
errorReason INVALID_PENALTY_RATE
errorReason CANNOT_EDIT_SOLIDARITY_LOANS
errorReason INVALID_INTEREST_SPREAD
errorReason INVALID_PERIODIC_PAYMENT
errorReason UNKNOWN_LOAN_ACCOUNT_ERROR
errorReason MISSING_GROUP_ID
errorReason INVALID_GROUP_ID
errorReason INVALID_FULL_DETAILS
errorReason INVALID_INDICATORS
errorReason GROUP_NOT_FOUND
errorReason INVALID_PARAMATERS_FOR_PRODUCT
errorReason INVALID_USER_WHO_APPROVED_THE_LOAN_CANNOT_DISBURSE_IT
errorReason INVALID_GROUP_SIZE
errorReason MULTIPLE_GROUP_MEMBERSHIP
errorReason INVALID_GROUP_ROLE_NAME_KEY
errorReason GROUP_ROLE_CLIENT_NOT_GROUP_MEMBER
errorReason TRANSACTION_ALREADY_REVERSED
errorReason INVALID_TRANSACTION_ID
errorReason TRANSACTION_ID_AND_ACCOUNT_MISMATCH
errorReason TRANSACTION_LOGGED_FOR_CLOSED_TILL
errorReason TILL_BALANCE_ABOVE_MAX
errorReason TILL_BALANCE_UNDER_MIN
errorReason TRANSACTION_MADE_FROM_A_TRANSFER
errorReason TRANSACTION_MADE_FROM_A_DISBURSEMENT
errorReason DEPOSIT_ACCOUNT_HAS_MATURITY_DATE_SET
errorReason BALANCE_IS_NULL
errorReason GUARANTOR_NOT_ALLOWED_BY_PRODUCT
errorReason COLLATERAL_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_CHANGE_TILL_BALANCE
errorReason DEDUCTED_FEES_TOTAL_MORE_THAN_LOAN_AMOUNT
errorReason NO_CAPITALIZED_DISBURSEMENT_FESS_WHEN_ZERO_LOAN_AMOUNT
errorReason DISBURSE_TO_SAVINGS_NOT_AVALAIBLE_WITH_INVESTOR_FUNDS
errorReason TRANSACTION_CHANNEL_IS_MANDATORY
errorReason TRANSACTION_CHANNEL_NOT_AVAILABLE_WHEN_DISBURSE_TO_SAVINGS
errorReason GUARANTOR_CANNOT_BE_DELETED
errorReason CUSTOM_AMOUNT_IS_MANDATORY
errorReason INVALID_TRANSACTION_CHANNEL
errorReason MISSING_FEE
errorReason INCONSISTENT_ACCOUNT_FEE_WITH_PRODUCT_FEE
errorReason FULL_TERM_FEE_CANNOT_BE_AMORTIZED_DUE_TO_APPLICATION_DATE
errorReason CANNOT_USE_EFFECTIVE_INTEREST_RATE_FEE_WITHOUT_POSITIVE_INTEREST_RATE_VALUE
errorReason TRANSACTION_DETAILS_NOT_AVAILABLE_FOR_PRODUCT
errorReason FEES_NOT_AVAILABLE_FOR_PRODUCT
errorReason EXPECTED_DISBURSEMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason FIRST_REPAYMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason LOAN_PRODUCT_PREPAYMENT_OPTIONS_MISMATCH
errorReason INVALID_LAST_REPAYMENT_DUE_DATE_CHANGE_BECAUSE_ACCOUNT_HAS_FULL_TERM_FEE_APPLIED
errorReason LOAN_ACCOUNT_PREPAYMENT_RECALCULATION_CONVERSION_ERROR
errorReason REDRAW_DISABLED
errorReason MISSING_FEE_KEY
errorReason INVALID_FEE_KEY
errorReason INCONSISTENT_FEE_AMOUNT_WITH_PRODUCT_FEE
errorReason FEE_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason REQUIRED_FEE_MISSING
errorReason FEE_NOT_ACTIVE
errorReason FEE_NOT_ALLOWED
errorReason INCONSISTENT_FIRST_REPAYMENT_DATE_WITH_PRODUCT_OFFSET
errorReason MISSING_ORIGINAL_TRANSACTION_ID
errorReason REPAYMENT_WAS_FULLY_PAID
errorReason REPAYMENT_HAS_INTEREST_APPLIED
errorReason DUE_DATE_BEFORE_ACCOUNTING_CLOSURE
errorReason DUE_DATE_BEFORE_LOGGED_TRANSACTION
errorReason INVALID_PARENT_ACCOUNT_KEY
errorReason AUTOMATICALLY_ADDED_INSTALLEMENTS_ARE_NOT_EDITABLE
errorReason PURE_GRACE_INSTALLMENT_ARE_NOT_EDITABLE
errorReason CUSTOM_PAYMENT_NOT_ALLOWED_BY_PRODUCT
errorReason SAME_CUSTOM_PAYMENT_AMOUNT_TYPE_USED_MULTIPLE_TIMES
errorReason CUSTOM_PAYMENT_AMOUNT_DIFFERENT_THAN_TOTAL_PAYMENT_AMOUNT
errorReason CUSTOM_PAYMENT_PRINCIPAL_NOT_ALLOWED_BY_PRODUCT
errorReason ARREARS_TOLERANCE_PERIOD_OUTSIDE_CONSTRAINTS
errorReason NEGATIVE_ARREARS_TOLERANCE_PERIOD
errorReason REQUIRED_ARREARS_TOLERANCE_PERIOD_MISSING
errorReason DUE_DATE_BEFORE_FEE_AMORTIZATION
errorReason MAX_CLIENT_LIMIT_REACHED
errorReason PENALTY_METHOD_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_REVERSE_TECHNICAL_OVERDRAFT
errorReason INSUFFICIENT_BALANCE
errorReason UNKNOWN_GROUP_ERROR
errorReason MISSING_CLIENT_ID
errorReason INVALID_CLIENT_ID
errorReason INVALID_CLIENT_KEY
errorReason INVALID_PICTURE_KEY
errorReason INVALID_SIGNATURE_KEY
errorReason INVALID_CLIENT_STATE
errorReason INVALID_CLIENT_ROLE_KEY
errorReason INCONSISTENT_CLIENT_ROLE_WITH_CLIENT_TYPE
errorReason INVALID_DEPENDENT_CUSTOM_FIELD_VALUE
errorReason INVALID_BIRTH_DATE
errorReason DUPLICATE_CLIENT
errorReason INVALID_CLIENT_STATE_TYPE
errorReason INVALID_CLIENT_STATE_TRANSITION
errorReason CLIENT_IS_MEMBER_OF_A_GROUP
errorReason CLIENT_IS_GUARANTOR
errorReason CLIENT_HAS_ACCOUNTS
errorReason CLIENT_ID_ALREADY_IN_USE
errorReason GROUP_ID_ALREADY_IN_USE
errorReason GROUP_HAS_ACCOUNTS
errorReason UNKNOWN_CLIENT_ERROR
errorReason INVALID_SAVINGS_ACCOUNT_ID
errorReason BALANCE_BELOW_ZERO
errorReason MISSING_SAVINGS_ID
errorReason BACKDATE_BEFORE_ACTIVATION
errorReason BACKDATE_BEFORE_OTHER_OPERATION
errorReason BACKDATE_SET_IN_THE_FUTURE
errorReason INVALID_DEPOSIT_AMOUNT
errorReason INVALID_DEPOSIT_ACCOUNT_STATE
errorReason LOCKED_SAVINGS_AMOUNT
errorReason SAVINGS_PRODUCT_MISMATCH
errorReason SAVINGS_ACCOUNT_INVALID
errorReason ACCOUNT_ID_ALREADY_IN_USE
errorReason PRODUCT_DOESNT_ALLOW_WITHHOLDING_TAXES
errorReason INVALID_WITHHOLDING_TAX_SOURCE_TYPE
errorReason INVALID_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason INVALID_SAVINGS_ACCOUNT_STATE_TRANSITION
errorReason MAXIMUM_WITHDRAWAL_AMOUNT_EXCEEDED
errorReason MAXIMUM_OVERDRAFT_LIMIT_EXCEEDED
errorReason OVERDRAFT_NOT_ALLOWED
errorReason MISSING_INTEREST_RATE_FROM_SAVINGS_PRODUCT
errorReason POSITIVE_SECURED_AMOUNT
errorReason MINIMUM_OPENING_BALANCE_ACHIEVED
errorReason ACCOUNT_HAS_TRANSACTIONS
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason RECOMMENDED_DEPOSIT_AMOUNT_INVALID
errorReason MISSING_TYPE_PARAMETER
errorReason INVALID_DEPOSIT_ACCOUNT_ID
errorReason PRODUCT_SPECIFIES_OVERDRAFT_ALLOWED
errorReason PRODUCT_SPECIFIES_OVERDRAFT_NOT_ALLOWED
errorReason CURRENT_ACCOUNT_PRODUCT_DISABLED
errorReason FIXED_DEPOSIT_PRODUCT_DISABLED
errorReason COLLATERAL_FEATURE_DISABLED
errorReason CREDIT_OFFICER_DISABLED
errorReason DATA_EXPORT_DISABLED
errorReason MAX_WITHDRAWAL_CANNOT_BE_NEGATIVE
errorReason MAX_WITHDRAWAL_CANNOT_BE_ZERO
errorReason WITHHOLDING_TAXES_DISABLED
errorReason FUNDING_SOURCE_DISABLED
errorReason RESET_DATA_DISABLED
errorReason SOLIDARITY_GROUP_DISABLED
errorReason SAVINGS_PLAN_DISABLED
errorReason SAVINGS_ACCOUNT_DISABLED
errorReason REVOLVING_CREDIT_DISABLED
errorReason INDICATORS_DISABLED
errorReason FIXED_TERM_LOAN_DISABLED
errorReason FLAT_INTEREST_DISABLED
errorReason EFFECTIVE_INTEREST_RATE_DISABLED
errorReason RISK_REPORTING_DISABLED
errorReason UNKNOWN_SAVINGS_ACCOUNT_ERROR
errorReason TRANSFER_CANT_BE_MADE
errorReason CANNOT_MAKE_TRANSFER_TO_SOURCE_ACCOUNT
errorReason INVALID_TARGET_ACCOUNTING_STATE
errorReason TRANSFER_AMOUNT_IS_NOT_POSITIVE
errorReason INVALID_PRODUCT_ID
errorReason TRANSFER_AS_POSTDATED_PAYMENT
errorReason UNDEFINED_EXCHANGE_RATE_FOR_CURRENCY
errorReason INVALID_PRODUCT_KEY
errorReason CANNOT_MAKE_TRANSFER_TO_FUNDED_ACCOUNTS_WITH_ACCOUNTING_ENABLED
errorReason LINKED_ACCOUNT_DELETION_ERROR
errorReason ACCOUNT_HAS_REMAINING_BALANCE
errorReason CANNOT_DISBURSE_LOCKED_ACCOUNTS
errorReason DISBURSEMENT_DATE_AFTER_LAST_REPAYMENT_DUE_DATE
errorReason INTEREST_RATE_NOT_AVAILABLE_FOR_INDEXED_RATES
errorReason INTEREST_SPREAD_NOT_AVAILABLE_FOR_FIXED_RATES
errorReason TRANCHES_EXPECTED_DISBURSMENT_DATES_NOT_ORDERED
errorReason TRANCHES_NOT_ALLOWED
errorReason TRANCHES_NOT_DEFINED
errorReason MORE_TRANCHES_THAN_ALLOWED
errorReason TOTAL_TRANCHES_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason TOTAL_AMOUNT_NOT_EQUAL_WITH_LOAN_AMOUNT
errorReason TRANCHE_AMOUNT_SHOULD_BE_STRICT_POSITIVE
errorReason INVALID_TRANCHE_KEY
errorReason CANNOT_MODIFY_DISBURSED_TRANCHE
errorReason DISBURSEMENT_DATE_BEFORE_NOT_REVERSED_TRANSACTION
errorReason CANNOT_MODIFY_TRANCHES_ON_RESCHEDULED_REFINANCED_ACCOUNTS
errorReason ALL_TRANCHES_ALREADY_DISBURSED
errorReason TRANCHES_CANNOT_BE_EDITED
errorReason INTEREST_RATE_SHOULD_BE_ZERO_OR_EMPTY
errorReason INTEREST_SPREAD_SHOULD_BE_ZERO_OR_EMPTY
errorReason INCONSISTENT_DATE_WITH_NEXT_TRANCHE
errorReason INTEREST_RATE_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INTEREST_SPREAD_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INVALID_INTEREST_RATE_TIERS
errorReason INVALID_OVERDRAFT_INTEREST_RATE_TIERS
errorReason INVALID_GL_ACCOUNT_ID
errorReason INVALID_GL_ACCOUNT_TYPE
errorReason JOURNAL_ENTRY_BEFORE_CLOSURE
errorReason DEBITS_DO_NOT_MATCH_CREDITS
errorReason JOURNAL_ENTRY_DATE_NOT_DEFINED
errorReason GL_ACCOUNT_IS_HEADER
errorReason GL_ACCOUNT_DOES_NOT_SUPPORT_MANUALLY_ENTRIES
errorReason NO_INTER_BRANCH_GL_ACCOUNT
errorReason INVALID_JOURNAL_TRANSACTION_ID
errorReason DUPLICATE_JOURNAL_TRANSACTION_ID
errorReason INVALID_ACCOUNTING_DATE_ORDER
errorReason INVALID_ACCOUNTING_DATE_RANGE
errorReason JOURNAL_ENTRY_DATE_IN_THE_FUTURE
errorReason JOURNAL_ENTRY_DATE_IN_THE_PAST_BEFORE_THE_ALLOWED_LIMIT
errorReason INVALID_CURRENCY_CODE
errorReason CURRENCY_NOT_MATCHING
errorReason ACCOUNT_CURRENCY_NOT_MATCH
errorReason MISSING_CURRENCY
errorReason INVALID_EXCHANGE_RATE_VALUE
errorReason INCONSISTENT_START_DATE_WITH_TRANSACTIONS
errorReason BUY_RATE_GREATER_THAN_SELL_RATE
errorReason RATE_NOT_SET
errorReason RATE_TO_SAME_CURRENCY
errorReason DATE_BEFORE_LAST_RATE_DATE
errorReason START_DATE_IN_FUTURE
errorReason DATE_ON_LAST_RATE_DATE
errorReason INVALID_USER_NAME
errorReason INVALID_USER_ID
errorReason INVALID_CREDIT_OFFICER_KEY
errorReason INCONSISTENT_CREDIT_OFFICER_WITH_BRANCH
errorReason MISSING_CREDIT_OFFICER_KEY
errorReason MISSING_BRANCH_KEY
errorReason MISSING_CENTRE_KEY
errorReason INVALID_USER_ROLE_KEY
errorReason USER_IS_LOCKED
errorReason INVALID_PASSWORD
errorReason EMAIL_ADDRESS_ALREADY_REGISTERED_WITH_ANOTHER_USER
errorReason EMAIL_ADDRESS_FORMAT_IS_INVALID
errorReason USERNAME_ALREADY_EXISTS
errorReason MAX_USER_LIMIT_REACHED
errorReason CANNOT_MANAGE_USER_BRANCH
errorReason NOT_ENOUGH_PRIVILDGES_FOR_CHANGING_USER_SETTINGS
errorReason ONLY_ONE_ROLE_ALLOWED
errorReason INVALID_TRANSACTION_LIMIT_TYPE
errorReason NOT_ENOUGH_PRIVILEDGES_TO_CREATE_ADMIN_USER
errorReason CANNOT_HAVE_NEGATIVE_TRANSACTION_LIMITS
errorReason INVALID_VALUE_FOR_MANAGED_BRANCHES
errorReason CANNOT_HAVE_ADMIN_WITHOUT_FULL_BRANCHES_ACCESS
errorReason CANNOT_HAVE_OFFICER_ADMIN_WITHOUT_MANAGE_OTHER_ENTITIES_ACCESS
errorReason INCONSISTENT_CAN_MANAGE_BRANCHES_WITH_CAN_MANAGE_ENTITIES
errorReason MISSING_EMAIL_ADDRESS
errorReason MISSING_MOBILE_PHONE
errorReason INVALID_BRANCH_ID
errorReason INVALID_BRANCH_KEY
errorReason INVALID_MANAGED_BRANCH_ID
errorReason BRANCH_IS_NOT_ACTIVE
errorReason INVALID_CENTRE_KEY
errorReason INVALID_CENTRE_ID
errorReason INCONSISTENT_CENTRE_WITH_BRANCH
errorReason CENTRE_IS_NOT_ACTIVE
errorReason INCONSISTENT_VALUE_WITH_CUSTOM_FIELD_TYPE
errorReason REQUIRED_CUSTOM_FIELD_MISSING
errorReason INVALID_CUSTOM_FIELD_ID
errorReason MAX_CUSTOM_FIELD_VALUE_LENGTH_EXCEEDED
errorReason INVALID_CUSTOM_FIELD_ENTITY_KEY
errorReason VIEW_TYPE_NOT_MATCHING_RESOURCE
errorReason VIEW_NOT_ACCESSIBLE_FOR_USER
errorReason CUSTOM_FIELD_DEACTIVATED
errorReason CUSTOM_FIELD_REQUIRED
errorReason CUSTOM_FIELD_NOT_AVAILABLE_FOR_ENTITY
errorReason INVALID_CUSTOM_FIELD_LINKED_ENTITY_KEY
errorReason DEPENDENT_CUSTOM_FIELD_VALUE_REQUIRED
errorReason INCONSISTENT_VALUE_WITH_SET_TYPE
errorReason GROUPED_INDEXES_NOT_CONSECUTIVE
errorReason TO_MANY_VALUES_FOR_SAME_GROUPED_CUSTOM_FIELD
errorReason INVALID_CUSTOM_FIELD_GROUP_INDEX
errorReason INCONSISTENT_CUSTOM_FIELD_VALUE_WITH_PATTERN
errorReason DUPLICATE_CUSTOM_FIELD_VALUES
errorReason CUSTOM_FIELD_SET_CHANGE_NOT_ALLOWED
errorReason CUSTOM_FIELD_SET_NULL
errorReason CUSTOM_FIELD_USAGE_CHANGE_NOT_ALLOWED
errorReason DATATYPE_OR_TYPE_CHANGED
errorReason CUSTOM_FIELD_NAME_NOT_UNIQUE
errorReason ENCODED_KEY_MUST_BE_EMPTY_ON_CREATE
errorReason CUSTOM_FIELDS_NEED_CHANNEL_PROVIDED
errorReason DUPLICATE_UNIQUE_VALUE
errorReason REFERRED_IN_CUSTOM_FIELD
errorReason TRANSACTION_TYPE_NOT_ACCEPTING_CUSTOM_FIELDS
errorReason INVALID_CUSTOM_FIELD_KEY
errorReason BUILT_IN_CUSTOM_FIELD_CHANGE_NOT_ALLOWED
errorReason INVALID_ID_DOCUMENT
errorReason REQUIRED_ID_DOCUMENT_MISSING
errorReason ADDING_OTHER_ID_DOCUMENTS_IS_DISABLED
errorReason INVALID_ID_DOCUMENT_TEMPLATE_KEY
errorReason INVALID_DOCUMENT_ID
errorReason INVALID_FILE_EXTENSION
errorReason FILE_EXTENSION_NOT_ALLOWED
errorReason INCONSISTENT_EXTENSION_WITH_FILE_CONTENT
errorReason MALWARE_CONTENT_DETECTED
errorReason INVALID_FILENAME
errorReason NO_PROFILE_PICTURE_SET
errorReason NO_PROFILE_SIGNATURE_SET
errorReason HAS_DOCUMENT_ATTACHED
errorReason INVALID_TASK_ID
errorReason INVALID_TASK_STATE_AND_COMPLETION_DATE
errorReason INVALID_TASK_FIELD_CHANGE
errorReason INVALID_TASK_STATUS
errorReason INVALID_TASK_TITLE_LENGTH
errorReason HAS_TASK_ATTACHED
errorReason EDITING_VIEW_TYPE_NOT_ALLOWED
errorReason INVALID_CUSTOM_FIELD_SET_ID
errorReason MISSING_FROM_DATE
errorReason MISSING_TO_DATE
errorReason MAXIMUM_ONE_FILTER_ALLOWED
errorReason TILL_BALANCE_OUTSIDE_CONSTRAINTS
errorReason TRANSACTION_IS_NOT_WITHIN_CHANNEL_CONSTRAINTS
errorReason INVALID_ADDRESS
errorReason CLIENT_ROLE_DOES_NOT_ALLOW_ADDRESS
errorReason ADDRESS_CHANGE_NOT_ALLOWED
errorReason DATA_IMPORT_IN_PROGRESS
errorReason DATABASE_BACKUP_IN_PROGRESS
errorReason DATABASE_BACKUP_NOT_FOUND
errorReason CLIENT_IN_MIGRATION
errorReason INVALID_ASSIGNMENT
errorReason INVALID_INDEX_RATE_SOURCE_ID
errorReason START_DATE_BEFORE_LAST_INDEX_REVIEWD_DATE
errorReason INVALID_INDEX_RATE_START_DATE
errorReason NO_INDEX_RATE_AVAILABLE
errorReason NO_TAX_RATE_AVAILABLE
errorReason INCONSISTENT_GROUP_MEMBER_PARENT_KEY
errorReason INCONSISTENT_GROUP_MEMBER_ENCODED_KEY
errorReason INCONSISTENT_GROUP_ROLE_PARENT_KEY
errorReason INCONSISTENT_GROUP_ROLE_ENCODED_KEY
errorReason PRODUCT_LINE_OF_CREDIT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason DISBURSEMENT_DATE_BEFORE_LINE_OF_CREDIT_START_DATE
errorReason MATURITY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason LINE_OF_CREDIT_AMOUNT_EXCEEDED
errorReason LINE_OF_CREDIT_REQUIRED_EXCEPTION
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason CANNOT_CREATE_ACCOUNT_WITH_LINE_OF_CREDIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_EXPIRY_DATE
errorReason INVALID_LINE_OF_CREDIT_ID
errorReason ACCOUNT_ALREADY_ON_LINE_OF_CREDIT
errorReason INCONSISTENT_LINE_OF_CREDIT_CLIENT_WITH_ACCOUNT_OWNER
errorReason ACCOUNT_IS_NOT_PART_OF_LINE_OF_CREDIT
errorReason INVALID_LINE_OF_CREDIT_STATE
errorReason HAS_LINES_OF_CREDIT
errorReason LINE_OF_CREDIT_ID_ALREADY_IN_USE
errorReason EXPIRE_DATE_BEFORE_START_DATE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_LINES_OF_CREDIT
errorReason MISSING_LINE_OF_CREDIT_START_DATE
errorReason MISSING_LINE_OF_CREDIT_EXPIRE_DATE
errorReason MISSING_LINE_OF_CREDIT_AMOUNT
errorReason LINE_OF_CREDIT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason MISSING_ACCOUNT_HOLDER_KEY
errorReason MISSING_ACCOUNT_HOLDER_TYPE
errorReason ACCOUNT_HOLDER_NOT_FOUND
errorReason INVALID_ACCOUNT_HOLDER_STATE
errorReason NO_ORGANIZATION_ICON
errorReason NO_ORGANIZATION_LOGO
errorReason MISSING_TEXT
errorReason MAX_TEXT_LENGTH_EXCEEDED
errorReason NUM_INSTALLMENTS_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason PRINCIPAL_PAYMENT_INCONSISTENT_WITH_PRODUCT
errorReason SCHEDULE_PREVIEW_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason AMOUNT_MORE_THAN_CURRENT_AVAILABLE_AMOUNT
errorReason INCONSISTENT_WITH_CENTRE_MEETING_DAY
errorReason FIELD_IS_NOT_EDITABLE
errorReason RESCHEDULED_REPAYMENT_BEFORE_DISBURSEMENT_DATE
errorReason FIELD_NOT_ALLOWED
errorReason OPERATION_NOT_ALLOWED_ON_FIELD
errorReason INVALID_FILTER_VALUES
errorReason INVALID_FILTER_SELECTION
errorReason INVALID_FILTER_ELEMENT
errorReason INVALID_FILTER_VALUE
errorReason INVALID_FILTER_SECOND_VALUE
errorReason TOO_MANY_FILTERS_PROVIDED
errorReason INVALID_FILTER_DATA_ITEM_TYPE
errorReason INSUFFICIENT_FUNDS_ACCOUNT_BALANCE
errorReason INSUFFICIENT_FUNDS_TOTAL_AMOUNT
errorReason FUNDS_NOT_ALLOWED
errorReason FUNDING_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason FUNDER_INTEREST_COMMISSION_CONSTRAINTS_VALIDATION
errorReason MISSING_FUNDER_INTEREST_COMMISSION
errorReason INVALID_FUND_ENCODED_KEY
errorReason INVESTORS_TOTAL_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason INVALID_FUND_ID
errorReason INACTIVE_FUND_ID
errorReason INVALID_FUNDED_ACCOUNT_STATE
errorReason FUND_SELL_WITH_NO_PURCHASES
errorReason FUND_OVERSELL
errorReason INVALID_SELLER_FUND_AMOUNT
errorReason INVALID_SELLER_FUND_STATE
errorReason INVALID_SELLER_FUNDING_ACCOUNT
errorReason INVALID_INVESTMENT_PERCENTAGES_FOR_AMOUNTS
errorReason FUND_SELF_SELL
errorReason INVALID_BUYER_FUNDING_ACCOUNT
errorReason DUPLICATE_BUYER_FUNDING_ACCOUNT
errorReason INVALID_BUYER_FUND_AMOUNT
errorReason INVALID_FUND_PURCHASE_PRICE
errorReason INSUFFICIENT_BUYER_FUNDING_ACCOUNT_FUNDS
errorReason LOAN_ACCOUNT_NOT_FUNDED_BY_SAVINGS_ACCOUNT
errorReason INVALID_INTEREST_RATE_AGAINST_INTEREST_COMMISSION
errorReason INVALID_SAVINGS_ACCOUNT_TYPE_FOR_FUNDING
errorReason DUPLICATED_SAVINGS_ACCOUNT_FOR_FUNDING
errorReason INVALID_FIXED_DAYS_OF_MONTH
errorReason INVALID_SORTING_COLUMN
errorReason COLUMN_NOT_SORTABLE
errorReason INVALID_SORTING_ORDER
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_FIELD
errorReason INVALID_GUARANTY_ENCODED_KEY
errorReason INVALID_GUARANTY_TYPE
errorReason INVALID_GUARANTOR_TYPE
errorReason GUARANTY_KEY_TYPE_MISMATCH
errorReason INVALID_TEMPLATE_ID
errorReason INVALID_TEMPLATE_TYPE
errorReason MISSING_FIXED_DAYS_OF_MONTH
errorReason FIXED_DAYS_OF_MONTH_NOT_ALLOWED
errorReason REPAYMENT_FREQUENCY_NOT_ALLOWED
errorReason REPAYMENT_PERIOD_COUNT_NOT_ALLOWED
errorReason APPLIED_INTEREST_BALANCE_CANNOT_BE_REALLOCATED
errorReason INVALID_NEW_TOTAL_LOAN_AMOUNT
errorReason NEGATIVE_WRITE_OFF_AMOUNT
errorReason CAPITALIZED_AMOUNTS_NOT_ALLOWED_DUE_TO_DIFFERENT_ACCOUNTING
errorReason TOP_UP_AMOUNT_IS_MANDATORY
errorReason RESTRUCTURE_DETAILS_ARE_MANDATORY
errorReason NEGATIVE_TOP_UP_AMOUNT
errorReason WRITE_OFF_AMOUNT_MORE_THAN_BALANCE_AMOUNT
errorReason CANNOT_REFINANCE_REVOLVING_CREDIT_LOAN
errorReason POSITIVE_CAPITALIZED_AMOUNTS_FOR_LOAN_FUNDED_NOT_ALLOWED
errorReason WRITE_OFF_AMOUNT_FOR_LOAN_FUNDED_DIFFERENT_BY_BALANCE_AMOUNT
errorReason CURRENCY_NOT_AVAILABLE_FOR_PRODUCT
errorReason CURRENCY_NOT_EDITABLE
errorReason TELLER_CANNOT_POST_TRANSACTION_IN_MULTI_CURRENCY
errorReason SETTINGS_ONLY_AVAILABLE_FOR_REVOLVING_CREDIT_ACCOUNTS
errorReason INCONSISTENT_FLAT_AMOUNT_WITH_PRODUCT_CONSTRAINTS
errorReason INCONSISTENT_PERCENTANGE_WITH_PRODUCT_CONSTRAINTS
errorReason AMOUNT_REQUIRED_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_REQUIRED_FOR_PRINCIPAL_PAYMENT_PERCENTAGE_METHOD
errorReason AMOUNT_ONLY_AVAILABLE_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_ONLY_AVAILABLE_FOR_OUTSTANDING_PRINCIPAL_PERCENTAGE_METHOD
errorReason INVALID_PRINCIPAL_PAYMENT_FLAT_AMOUNT_WITH_DECIMALS
errorReason INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_VALUE
errorReason CANT_EDIT_LOCKED_OPERATIONS_IN_LOCKED_CAPPING_STATE
errorReason CANT_UNLOCK_WHEN_INCOME_BALANCE_IS_OVER_PRINCIPAL_CAPPING_CONSTRAINTS
errorReason CANNOT_BULK_REVERSE_INTERNAL_TRANSFER_REPAYMENT
errorReason CANNOT_BULK_REAPPLY_TRANSACTION_BECAUSE_LOCKED_TRANSACTIONS_LOGGED_AFTER_IT
errorReason CANNOT_BULK_REAPPLY_POSTDATED_REPAYMENTS
errorReason CANNOT_BULK_REVERSE_ACTIVATION_TRANSACTION
errorReason CLOSURE_DATE_AFTER_MAX_ALLOWED_UNDO_CLOSURE_PERIOD
errorReason CLOSURE_DATE_BEFORE_GL_ACCOUNT_CLOSURE
errorReason MISSING_ORGANIZATION_INTEREST_COMMISSION
errorReason INSUFFICIENT_TRANSACTION_AMOUNT
errorReason CANNOT_REVERSE_INTEREST_ON_DISBURSEMENT
errorReason TRANSACTION_TYPE_IS_IRREVERSIBLE
errorReason INTEREST_APPLIED_WITH_NULL_AMOUNT
errorReason CANNOT_REVERSE_OFFSET_DEPOSIT_TRANSACTION
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_ID
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_STATE_FOR_LOCK
errorReason INCOME_BALANCE_CONSTRAINTS_EXCEEDED
errorReason CANNOT_BULK_REVERSE_LOAN_FRACTION_SOLD
errorReason LATE_FEE_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT
errorReason FEE_CANNOT_BE_POSTED_ON_RECOMPUTED_SCHEDULE
errorReason INVALID_ORGANIZATION_INTEREST_COMMISSION
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_LOAN_PRODUCT_TYPE
errorReason INSTALLMENT_WITH_INTEREST_APPLIED_CANNOT_BE_EDITED
errorReason UNABLE_TO_DETERMINE_DELETED_REPAYMENTS
errorReason PAID_OR_PURE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason NON_CUSTOM_MADE_INTALLMENT_CANNOT_BE_DELETED_FOR_REVOLVING_CREDIT_ACCOUNT
errorReason INVALID_NUMBER_OF_INSTALLMENTS
errorReason INVALID_PRINCIPAL_AMOUNT_WITH_DECIMALS
errorReason INCONSISTENT_WITH_LINE_OF_CREDIT_VALID_UNTIL_DATE
errorReason DUE_DATES_NOT_UNIQUE
errorReason NON_ZERO_PRINCIPAL_REPAYMENT_CANNOT_BE_DELETED
errorReason NON_DYNAMIC_ACCOUNT_REPAYMENT_DELETION_NOT_ALLOWED
errorReason INVALID_LOAN_ACCOUNT_STATE_FOR_FUNDS_EDIT
errorReason ENTRY_DATE_AFTER_MATURITY_DATE_WITH_LATE_FEES_AND_BULK_REVERSAL
errorReason DIFFERENT_ACCOUNTING_STATE_BETWEEN_INVOLVED_PRODUCTS
errorReason ACCOUNT_ALREADY_LINKED
errorReason PRODUCT_DOES_NOT_ALLOW_LINKING
errorReason UNLINKABLE_SAVINGS_PRODUCT
errorReason INVALID_SAVINGS_ACCOUNT_HOLDER
errorReason LINK_BETWEEN_ACCOUNTS_DOES_NOT_EXIST
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_EDITED
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason INSUFFICIENT_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_TYPE
errorReason MATURITY_PERIOD_ALREADY_STARTED
errorReason LOAN_PRODUCT_PRINCIPAL_PAID_INSTALLMENT_STATUS_MISMATCH
errorReason CANNOT_DELETE_LINK_FOR_ACTIVATED_OFFSET_LOAN
errorReason INVALID_LANGUAGE
errorReason INVALID_LINKED_SETTLEMENT_ACCOUNT_KEYS
errorReason SAVINGS_ACCOUNT_ALREADY_LINKED
errorReason RESEND_FAILED_NOTIFICATION_FAILED
errorReason INVALID_NOTIFICATION_MESSAGE_STATE
errorReason DUPLICATED_NOTIFICATION_ENCODED_KEY
errorReason MAXIMUM_NUMBER_OF_NOTIFICATIONS_TO_RESEND_EXCEEDED
errorReason DUE_DATES_NOT_IN_ASCENDING_ORDER
errorReason ACCOUNT_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason CLIENT_HAS_ACTIVE_ACCOUNTS_WITH_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason PRODUCT_HAS_ASSOCIATED_ACCOUNTS
errorReason MAX_NUMBER_OF_FILTERS_REACHED
errorReason MAX_NUMBER_OF_COLUMNS_REACHED
errorReason USAGE_RIGHTS_ROLE_NOT_AVAILABLE
errorReason CURRENCY_NOT_DEFINED
errorReason BASE_CURRENCY_CANNOT_BE_REMOVED
errorReason CURRENCY_IN_USE_CANNOT_BE_REMOVED
errorReason CURRENCY_DOES_NOT_EXIST
errorReason INVALID_COMMUNICATION_MESSAGE_ENCODED_KEY
errorReason INVALID_EMAIL_SUBJECT
errorReason INVALID_CREDIT_ARRANGEMENT_ID
errorReason INVALID_CREDIT_ARRANGEMENT_STATE
errorReason CREDIT_ARRANGEMENT_ID_ALREADY_IN_USE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_CREDIT_ARRANGEMENTS
errorReason CREDIT_ARRANGEMENT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason PRODUCT_CREDIT_ARRANGEMENT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason ACCOUNT_ALREADY_ON_CREDIT_ARRANGEMENT
errorReason INCONSISTENT_CREDIT_ARRANGEMENT_CLIENT_WITH_ACCOUNT_OWNER
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_EXPIRE_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason CREDIT_ARRANGEMENT_AMOUNT_EXCEEDED
errorReason MATURITY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason DISBURSEMENT_DATE_BEFORE_CREDIT_ARRANGEMENT_START_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRED_EXCEPTION
errorReason ACCOUNT_IS_NOT_PART_OF_CREDIT_ARRANGEMENT
errorReason CREDIT_ARRANGEMENT_ILLEGAL_PARAMETER_MODIFICATION
errorReason CREDIT_ARRANGEMENT_HAS_NON_CLOSED_ACCOUNTS
errorReason BASE_CURRENCY_NOT_UNIQUE
errorReason CURRENCY_SYMBOL_LENGTH_OUTSIDE_CONSTRAINTS
errorReason INEXISTING_CURRENCY_SYMBOL
errorReason INVALID_TO_INSTALLMENT_POSITION
errorReason INVALID_PMT_VALUE
errorReason PAYMENT_PLAN_NOT_AVAILABLE
errorReason AT_LEAST_ONE_PERIODIC_PAYMENT_PLAN_MANDATORY
errorReason SUM_OF_PERIODIC_PAYMENTS_LESS_OR_EQUAL_WITH_LOAN_AMOUNT
errorReason PAYMENT_PLAN_ENTRIES_NOT_ORDERED
errorReason INTEREST_RATE_COMPUTATION_ERROR
errorReason INVALID_PERIODIC_PAYMENT_ENCODED_KEY
errorReason DUPLICATED_PERIODIC_PAYMENT_ENCODED_KEY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_METHOD_MUST_BE_NULL
errorReason INVALID_DAYS_IN_YEARS_METHOD_MUST_BE_NULL
errorReason PRODUCT_ID_ALREADY_IN_USE
errorReason INVALID_ROUNDING_REPAYMENT_CURRENCY_FOR_PRODUCT
errorReason SDK_CLIENT_COULD_NOT_BE_GENERATED
errorReason SDK_CLIENT_LANGUAGES_COULD_NOT_BE_OBTAINED
errorReason MAXIMUM_NUMBER_OF_COMMUNICATION_MESSAGES_TO_RESEND_EXCEEDED
errorReason RESEND_FAILED_COMMUNICATON_FAILED
errorReason DUPLICATE_ENCODED_KEY
errorReason MESSAGE_STATE_MUST_BE_FAILED
errorReason NO_MESSAGE_FOUND
errorReason MESSAGE_NOT_FOUND
errorReason MISSING_ENCODED_KEY
errorReason URL_CONTAINS_QUOTES
errorReason MISSING_RECIPIENT
errorReason RECIPIENT_NOT_ALLOWED
errorReason INVALID_CLIENT_RECIPIENT
errorReason INVALID_CREDIT_OFFICER_RECIPIENT
errorReason INVALID_GROUP_ROLE_RECIPIENT
errorReason INVALID_CUSTOM_FIELD_RECIPIENT
errorReason INVALID_EVENT
errorReason INVALID_TARGET
errorReason INVALID_PLACEHOLDER
errorReason INVALID_FIELD_LENGTH
errorReason INVALID_WEBHOOK_REQUEST_TYPE
errorReason URL_CONTAINS_INVALID_PLACEHOLDERS
errorReason CARD_REFERENCE_TOKEN_FORMAT_INVALID
errorReason CARD_REFERENCE_TOKEN_ALREADY_IN_USE
errorReason CARD_REFERENCE_HAS_ASSOCIATED_HOLDS_OR_TRANSACTIONS
errorReason CARD_REFERENCE_NOT_FOUND
errorReason DUPLICATE_AUTHORIZATION_HOLD
errorReason DUPLICATE_CARD_TRANSACTION
errorReason AVAILABLE_BALANCE_BELOW_ZERO
errorReason AUTHORIZATION_HOLD_NOT_FOUND
errorReason PRODUCT_MUST_BE_ACTIVE
errorReason TARGET_AMOUNT_IS_NEGATIVE
errorReason MAX_WITHDRAWAL_AMOUNT_OUTSIDE_CONSTRAINTS
errorReason ACCOUNT_HOLDER_KEY_INVALID
errorReason ACCOUNT_HOLDER_TYPE_INVALID
errorReason INVALID_WITHHOLDING_TAX_SOURCE_KEY
errorReason INTEREST_RATE_OUTSIDE_CONSTRAINTS
errorReason INVALID_INTEREST_PAYMENT_POINT
errorReason INVALID_INTEREST_PAYMENT_DATES
errorReason REQUIRED_OVERDRAFT_INTEREST_RATE
errorReason REQUIRED_OVERDRAFT_EXPIRY_DATE
errorReason REQUIRED_OVERDRAFT_LIMIT
errorReason DEPOSIT_ACCOUNT_FIELD_NOT_EDITABLE
errorReason DEPOSIT_PRODUCT_MISMATCH
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_RECOMMENDED_DEPOSIT_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_MAX_WITHDRAWAL_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_TARGET_AMOUNT
errorReason REQUIRED_INTEREST_RATE
errorReason INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_SPREAD_SHOULD_BE_NULL
errorReason INVALID_ACCOUNT_TYPE
errorReason INVALID_ACCOUNT_KEY
errorReason UNABLE_TO_RECALCULATE_SCHEDULE
errorReason UNABLE_TO_APPRAISE_LOAN_ACCOUNT
errorReason TRANSACTION_MADE_BY_A_DISBURSEMENT_FEE
errorReason INVALID_TARGET_ACCOUNT_TYPE
errorReason NEGATIVE_TARGET_ACCOUNT_BALANCE
errorReason ZERO_DISBURSE_AMOUNT
errorReason INVESTOR_FUNDED_LOAN_ACCOUNT
errorReason INVALID_TARGET_ACCOUNT_HOLDER_KEY
errorReason TRANSFER_NOTES_LENGTH_EXCEEDS_MAXIMUM_SIZE
errorReason CANNOT_MAKE_TRANSFER_FOR_FOREIGN_CURRENCY_IF_ACCOUNTING_ENABLED
errorReason INVALID_ENVIRONMENT
errorReason INVALID_AMORTIZATION_PROFILE
errorReason AMORTIZATION_PROFILE_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT
errorReason INVALID_AMORTIZATION_SETTINGS
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT
errorReason AMORTIZATION_SETTINGS_NOT_ALLOWED
errorReason INVALID_INTEREST_RATE_TERMS
errorReason TRANSACTION_DISBURSEMENT_DATE_DOES_NOT_MATCH_WITH_TRANCH_EXPECTED_DATE
errorReason DUPLICATE_TRANSACTION_CHANNEL_NAME
errorReason DUPLICATE_TRANSACTION_CHANNEL_ID
errorReason TRANSACTION_CHANNEL_ID_CONTAINS_SPACES
errorReason INVALID_TRANSACTION_CHANNEL_LOAN_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_SAVINGS_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_ACCOUNT_USAGE
errorReason CANNOT_DELETE_DEFAULT_TRANSACTION_CHANNEL
errorReason TRANSACTION_CHANNEL_IN_USE
errorReason TRANSACTION_CHANNEL_CANNOT_BE_DEACTIVATED
errorReason INCONSISTENT_TRANSACTION_USER_KEY_WITH_ACCOUNT_USER
errorReason INCONSISTENCY_BETWEEN_CHANNEL_KEY_AND_ID
errorReason INCONSISTENT_TRANSACTION_PRODUCT_KEY_WITH_ACCOUNT_PRODUCT
errorReason DUPLICATE_ID
errorReason DUPLICATE_NAME
errorReason ID_CONTAINS_SPACES
errorReason INVALID_EXTERNAL_ID
errorReason EXTERNAL_ID_ALREADY_EXISTS
errorReason INVALID_ASSIGNMENT_FROM_NO_MEETING_DAY
errorReason CLIENT_HAS_ACCOUNTS_IN_DIFFERENT_BRANCH_WITH_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason ACCOUNT_ALREADY_DISBURSED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_TYPE_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_INTERVAL_TYPE
errorReason INVALID_AMORTIZATION_FREQUENCY_PREDEFINED_INTERVALS_UNIT
errorReason NON_POSITIVE_DEFAULT_INTEREST_RATE
errorReason NON_POSITIVE_MIN_INTEREST_RATE
errorReason NON_POSITIVE_MAX_INTEREST_RATE
errorReason INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE
errorReason DEFAULT_MIN_MAX_NOT_AVAILABLE
errorReason INTEREST_RATE_TERMS_ARE_READONLY
errorReason INTEREST_CALCULATION_BALANCE_METHOD_READONLY
errorReason INTERNAL_TRANSFER_CANNOT_USE_CUSTOM_FIELDS
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_INCLUDE_FEE_IN_FLOOR_AMOUNT_OPTION_ENABLED
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INCONSISTENT_LATE_REPAYMENT_FEE_TRIGGER_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INACTIVE_ACCOUNT_BRANCH
errorReason INCONSISTENT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason INVALID_ACCOUNT_BRANCH_ASSIGNMENT_DUE_CENTRE_MEETING_DAY_MISMATCH
errorReason CANNOT_CHANGE_LOAN_GROUP_BRANCH_FOR_A_SOLIDARITY_GROUP
errorReason CANNOT_CREATE_NEW_USER_IN_FEDERATED_CONTEXT
errorReason EMPTY_CUSTOM_FIELD_ID
errorReason ACCOUNT_ALREADY_CLOSED
errorReason INVALID_GUARANTEE_TYPE
errorReason ORIGINAL_ACCOUNT_NOT_FOUND
errorReason INVALID_ORIGINAL_ACCOUNT_STATE
errorReason CANNOT_APPLY_REPAYMENT_ON_ZERO_BALANCE_ACCOUNT
errorReason DATA_IMPORT_EVENT_NOT_FOUND
errorReason INVALID_SETTLEMENT_ACCOUNT_KEY
errorReason INVALID_SETTLEMENT_ACCOUNT_STATE
errorReason DEPOSIT_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason SAVINGS_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason INVALID_DEPOSIT_ACCOUNT_HOLDER
errorReason UNLINKABLE_DEPOSIT_PRODUCT

PatchOperation

{
  "op": "ADD",
  "path": "string",
  "from": "string",
  "value": {}
}

A single change that needs to be made to a resource

Properties

Name Type Required Restrictions Description
op string true none The change to perform
path string true none The field to perform the operation on
from string false none The field from where a value should be moved, when using move
value object false none The value of the field, can be null

Enumerated Values

Property Value
op ADD
op REPLACE
op REMOVE
op MOVE

Centre

{
  "addresses": [
    {
      "country": "string",
      "parentKey": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "encodedKey": "string",
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "name": "string",
  "meetingDay": "string",
  "encodedKey": "string",
  "id": "string",
  "state": "ACTIVE",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "assignedBranchKey": "string"
}

A Centre is a common meeting area that credit officers and the individual and group clients go to. Each centre is assigned to a branch (a branch can have multiple centres) and might have a specific meeting day and location.

Properties

Name Type Required Restrictions Description
addresses [Address] false none The addresses of this centre
notes string false none Extra notes about this centre
lastModifiedDate string(date-time) false none The last time the centre was modified
name string false none Name of the centre
meetingDay string false none Day of the week when repayments are collected, influences repayments schedule, upon update all repayments are update to this day of the week
encodedKey string false read-only The encoded key of the entity, generated by JDO, globally unique
id string false none Id of the centre, unique, can be generated and customized
state string false none The state of the centre
creationDate string(date-time) false none Date the centre was created
assignedBranchKey string false none Encoded key of the branch this centre is assigned to

Enumerated Values

Property Value
state ACTIVE
state INACTIVE

PatchOperationsList

[
  {
    "op": "ADD",
    "path": "string",
    "from": "string",
    "value": {}
  }
]

Properties

Name Type Required Restrictions Description
anonymous [PatchOperation] false none none

Error Response

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Properties

Name Type Required Restrictions Description
errors [RestError] false none none

Clients

Allows you to retrieve, create, update or delete clients. Clients may have associated information such as their address, identification documents or custom fields.

getAll

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/clients \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/clients HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/clients',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/clients',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.get 'https://localhost:8889/api/clients',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.get('https://localhost:8889/api/clients', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/clients");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://localhost:8889/api/clients", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /clients

Allows retrieval of clients using various query parameters

Parameters

Parameter In Type Required Description
offset query integer(int32) false Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results
limit query integer(int32) false Pagination, the number of elements to retrieve, used in combination with offset to paginate results
paginationDetails query string false Flag specifying whether the pagination should be enabled or not. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object
firstName query string false The first name, personal name, given name or forename of the client
lastName query string false The last name, surname or family name of the client
idNumber query string false The id number of the client's identification document
branchId query string false The branch id/key to search for
centreId query string false The centre id/key to search for
creditOfficerUsername query string false The user name of the credit officer
state query string false The state of the client to search for
birthDate query string(date) false The birth date of the client to search for
sortBy query string false The criteria based on which the records will be sorted. Expected format is field:order, eg sortBy = field1:ASC,field2:DESC.
Only the following criteria can be used: firstName, lastName, creationDate, lastModifiedDate
Default sorting is done by lastModifiedDate:DESC

Enumerated Values

Parameter Value
paginationDetails ON
paginationDetails OFF
detailsLevel BASIC
detailsLevel FULL
state PENDING_APPROVAL
state INACTIVE
state ACTIVE
state EXITED
state BLACKLISTED
state REJECTED

Example responses

200 Response

[
  {
    "lastName": "string",
    "migrationEventKey": "string",
    "preferredLanguage": "ENGLISH",
    "addresses": [
      {
        "country": "string",
        "parentKey": "string",
        "city": "string",
        "latitude": 0,
        "postcode": "string",
        "indexInList": 0,
        "encodedKey": "string",
        "region": "string",
        "line2": "string",
        "line1": "string",
        "longitude": 0
      }
    ],
    "notes": "string",
    "gender": "MALE",
    "groupLoanCycle": 0,
    "portalSettings": {
      "encodedKey": "string",
      "portalState": "ENABLED",
      "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
    },
    "assignedBranchKey": "string",
    "loanCycle": 0,
    "emailAddress": "string",
    "encodedKey": "string",
    "id": "string",
    "state": "PENDING_APPROVAL",
    "assignedUserKey": "string",
    "clientRoleKey": "string",
    "lastModifiedDate": "2016-09-06T13:37:50+03:00",
    "homePhone": "string",
    "creationDate": "2016-09-06T13:37:50+03:00",
    "birthDate": "1987-04-26",
    "assignedCentreKey": "string",
    "approvedDate": "2016-09-06T13:37:50+03:00",
    "firstName": "string",
    "idDocuments": [
      {
        "identificationDocumentTemplateKey": "string",
        "issuingAuthority": "string",
        "clientKey": "string",
        "documentType": "string",
        "indexInList": 0,
        "validUntil": "1987-04-26",
        "encodedKey": "string",
        "documentId": "string"
      }
    ],
    "profilePictureKey": "string",
    "profileSignatureKey": "string",
    "mobilePhone": "string",
    "closedDate": "2016-09-06T13:37:50+03:00",
    "middleName": "string",
    "activationDate": "2016-09-06T13:37:50+03:00"
  }
]

Responses

Status Meaning Description Schema
200 OK Clients list retrieved Inline
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Client] false none none
» lastName string true none The last name, surname or family name of the client
» migrationEventKey string false read-only The migration event encoded key associated with this client.
» preferredLanguage string false none The client's language of use in Mambu
» addresses [Address] false none The addresses associated with this client information like street, city etc.
»» country string false none The country
»» parentKey string false read-only Address parent key, the object owning this address, client, centre, branch
»» city string false none The city for this address
»» latitude number false none The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90
»» postcode string false none The post code
»» indexInList integer(int32) false none Index of this address in the list of addresses
»» encodedKey string false read-only Address encoded key, unique, generated
»» region string false none The region that is part of the address
»» line2 string false none The second line for the address, in case the first one doesn't fit the information, this is completely optional
»» line1 string false none The first line of the address
»» longitude number false none The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180
» notes string false none Extra notes about this client
» gender string false none Gender of the person, male or female
» groupLoanCycle integer(int32) false read-only Number of paid and closed (with 'obligations met') accounts for this client's group, when the closing operation is reverted, this is reduced
» portalSettings PortalSettings false none Portal settings for an individual client
»» encodedKey string false read-only The encoded key of the entity, generated by JDO, globally unique
»» portalState string false none State of the client's portal preferences
»» lastLoggedInDate string(date-time) false none The last date the client logged in to the portal
» assignedBranchKey string false none Encoded key of the branch this client is assigned to
» loanCycle integer(int32) false read-only Number of paid and closed (with 'obligations met') accounts for this client, when the closing operation is reverted, this is reduced
» emailAddress string false none The client's email address
» encodedKey string false read-only The encoded key of the client, auto generated, unique
» id string false none The id of the client, can be generated and customized, unique
» state string false none The state of a client shows his workflow status, if he is waiting approval or is rejected or blacklisted
» assignedUserKey string false none Encoded key of the user this client is assigned to
» clientRoleKey string false none A role which describes the intended use of a client in the system
» lastModifiedDate string(date-time) false read-only The last date this client was modified
» homePhone string false none The client's home phone number
» creationDate string(date-time) false read-only The date this client was created
» birthDate string(date) false none The date when this client was born
» assignedCentreKey string false none Encoded key of the centre this client is assigned to
» approvedDate string(date-time) false read-only date when client was approved
» firstName string true none The first name, personal name, given name or forename of the client
» idDocuments [IdentificationDocument] false none The identification documents of this person
»» identificationDocumentTemplateKey string false none Encoded key of the template used for this document
»» issuingAuthority string false none Authority that issued the document, eg. Police
»» clientKey string false read-only The encoded key of the client that owns this document
»» documentType string true none The type of the document, Passport, Id card Drivers license, etc.
»» indexInList integer(int32) false none This document's index in the list of documents
»» validUntil string(date) false none Date when the validity of the document ends
»» encodedKey string false read-only The encoded key of the document, generated, unique
»» documentId string true none The id of the document
» profilePictureKey string false read-only Encoded key of this clients profile picture
» profileSignatureKey string false read-only Encoded key of the users profile signature
» mobilePhone string false none The client's mobile phone number
» closedDate string(date-time) false read-only date when client was closed
» middleName string false none The middle name of the client, if she/he has one
» activationDate string(date-time) false read-only The date when client was set as active for the first time

Enumerated Values

Property Value
preferredLanguage ENGLISH
preferredLanguage PORTUGESE
preferredLanguage SPANISH
preferredLanguage RUSSIAN
preferredLanguage FRENCH
preferredLanguage GEORGIAN
preferredLanguage CHINESE
preferredLanguage INDONESIAN
preferredLanguage ROMANIAN
preferredLanguage BURMESE
preferredLanguage PHRASE
gender MALE
gender FEMALE
portalState ENABLED
portalState DISABLED
state PENDING_APPROVAL
state INACTIVE
state ACTIVE
state EXITED
state BLACKLISTED
state REJECTED

Response Headers

Status Header Type Format Description
200 Items-Offset integer int32 Pagination details, the index of the first returned item
200 Items-Limit integer int32 Pagination details, the requested page size
200 Items-Total integer int32 Pagination details, the total available items

create

Code samples

# You can also use wget
curl -X POST https://localhost:8889/api/clients \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json' \
  -H 'Idempotency-Key: string'

POST https://localhost:8889/api/clients HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

$.ajax({
  url: 'https://localhost:8889/api/clients',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "lastName": "string",
  "preferredLanguage": "ENGLISH",
  "addresses": [
    {
      "country": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "gender": "MALE",
  "portalSettings": {
    "portalState": "ENABLED",
    "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
  },
  "assignedBranchKey": "string",
  "emailAddress": "string",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "assignedUserKey": "string",
  "clientRoleKey": "string",
  "homePhone": "string",
  "birthDate": "1987-04-26",
  "assignedCentreKey": "string",
  "firstName": "string",
  "idDocuments": [
    {
      "identificationDocumentTemplateKey": "string",
      "issuingAuthority": "string",
      "documentType": "string",
      "indexInList": 0,
      "validUntil": "1987-04-26",
      "documentId": "string"
    }
  ],
  "mobilePhone": "string",
  "middleName": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

fetch('https://localhost:8889/api/clients',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://localhost:8889/api/clients',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json',
  'Idempotency-Key': 'string'
}

r = requests.post('https://localhost:8889/api/clients', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/clients");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},
        "Idempotency-Key": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://localhost:8889/api/clients", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /clients

Create a new client

Body parameter

{
  "lastName": "string",
  "preferredLanguage": "ENGLISH",
  "addresses": [
    {
      "country": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "gender": "MALE",
  "portalSettings": {
    "portalState": "ENABLED",
    "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
  },
  "assignedBranchKey": "string",
  "emailAddress": "string",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "assignedUserKey": "string",
  "clientRoleKey": "string",
  "homePhone": "string",
  "birthDate": "1987-04-26",
  "assignedCentreKey": "string",
  "firstName": "string",
  "idDocuments": [
    {
      "identificationDocumentTemplateKey": "string",
      "issuingAuthority": "string",
      "documentType": "string",
      "indexInList": 0,
      "validUntil": "1987-04-26",
      "documentId": "string"
    }
  ],
  "mobilePhone": "string",
  "middleName": "string"
}

Parameters

Parameter In Type Required Description
Idempotency-Key header string false Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.
body body Client true Client to be created

Example responses

201 Response

{
  "lastName": "string",
  "migrationEventKey": "string",
  "preferredLanguage": "ENGLISH",
  "addresses": [
    {
      "country": "string",
      "parentKey": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "encodedKey": "string",
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "gender": "MALE",
  "groupLoanCycle": 0,
  "portalSettings": {
    "encodedKey": "string",
    "portalState": "ENABLED",
    "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
  },
  "assignedBranchKey": "string",
  "loanCycle": 0,
  "emailAddress": "string",
  "encodedKey": "string",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "assignedUserKey": "string",
  "clientRoleKey": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "homePhone": "string",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "birthDate": "1987-04-26",
  "assignedCentreKey": "string",
  "approvedDate": "2016-09-06T13:37:50+03:00",
  "firstName": "string",
  "idDocuments": [
    {
      "identificationDocumentTemplateKey": "string",
      "issuingAuthority": "string",
      "clientKey": "string",
      "documentType": "string",
      "indexInList": 0,
      "validUntil": "1987-04-26",
      "encodedKey": "string",
      "documentId": "string"
    }
  ],
  "profilePictureKey": "string",
  "profileSignatureKey": "string",
  "mobilePhone": "string",
  "closedDate": "2016-09-06T13:37:50+03:00",
  "middleName": "string",
  "activationDate": "2016-09-06T13:37:50+03:00"
}

Responses

Status Meaning Description Schema
102 Processing Your idempotent request was already submitted and is currently being processed, try again later. None
201 Created Client created Client
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse

getByID

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/clients/{clientId} \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/clients/{clientId} HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/clients/{clientId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/clients/{clientId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.get 'https://localhost:8889/api/clients/{clientId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.get('https://localhost:8889/api/clients/{clientId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/clients/{clientId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://localhost:8889/api/clients/{clientId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /clients/{clientId}

Allows retrieval of a single client via id or encoded key

Parameters

Parameter In Type Required Description
clientId path string true The id or encoded key of the client to be retrieved
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object

Enumerated Values

Parameter Value
detailsLevel BASIC
detailsLevel FULL

Example responses

200 Response

{
  "lastName": "string",
  "migrationEventKey": "string",
  "preferredLanguage": "ENGLISH",
  "addresses": [
    {
      "country": "string",
      "parentKey": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "encodedKey": "string",
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "gender": "MALE",
  "groupLoanCycle": 0,
  "portalSettings": {
    "encodedKey": "string",
    "portalState": "ENABLED",
    "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
  },
  "assignedBranchKey": "string",
  "loanCycle": 0,
  "emailAddress": "string",
  "encodedKey": "string",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "assignedUserKey": "string",
  "clientRoleKey": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "homePhone": "string",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "birthDate": "1987-04-26",
  "assignedCentreKey": "string",
  "approvedDate": "2016-09-06T13:37:50+03:00",
  "firstName": "string",
  "idDocuments": [
    {
      "identificationDocumentTemplateKey": "string",
      "issuingAuthority": "string",
      "clientKey": "string",
      "documentType": "string",
      "indexInList": 0,
      "validUntil": "1987-04-26",
      "encodedKey": "string",
      "documentId": "string"
    }
  ],
  "profilePictureKey": "string",
  "profileSignatureKey": "string",
  "mobilePhone": "string",
  "closedDate": "2016-09-06T13:37:50+03:00",
  "middleName": "string",
  "activationDate": "2016-09-06T13:37:50+03:00"
}

Responses

Status Meaning Description Schema
200 OK Client retrieved Client
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Client not found ErrorResponse

update

Code samples

# You can also use wget
curl -X PUT https://localhost:8889/api/clients/{clientId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json'

PUT https://localhost:8889/api/clients/{clientId} HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/clients/{clientId}',
  method: 'put',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "lastName": "string",
  "preferredLanguage": "ENGLISH",
  "addresses": [
    {
      "country": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "gender": "MALE",
  "portalSettings": {
    "portalState": "ENABLED",
    "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
  },
  "assignedBranchKey": "string",
  "emailAddress": "string",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "assignedUserKey": "string",
  "clientRoleKey": "string",
  "homePhone": "string",
  "birthDate": "1987-04-26",
  "assignedCentreKey": "string",
  "firstName": "string",
  "idDocuments": [
    {
      "identificationDocumentTemplateKey": "string",
      "issuingAuthority": "string",
      "documentType": "string",
      "indexInList": 0,
      "validUntil": "1987-04-26",
      "documentId": "string"
    }
  ],
  "mobilePhone": "string",
  "middleName": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/clients/{clientId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.put 'https://localhost:8889/api/clients/{clientId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.put('https://localhost:8889/api/clients/{clientId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/clients/{clientId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://localhost:8889/api/clients/{clientId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /clients/{clientId}

Update an existing client

Body parameter

{
  "lastName": "string",
  "preferredLanguage": "ENGLISH",
  "addresses": [
    {
      "country": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "gender": "MALE",
  "portalSettings": {
    "portalState": "ENABLED",
    "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
  },
  "assignedBranchKey": "string",
  "emailAddress": "string",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "assignedUserKey": "string",
  "clientRoleKey": "string",
  "homePhone": "string",
  "birthDate": "1987-04-26",
  "assignedCentreKey": "string",
  "firstName": "string",
  "idDocuments": [
    {
      "identificationDocumentTemplateKey": "string",
      "issuingAuthority": "string",
      "documentType": "string",
      "indexInList": 0,
      "validUntil": "1987-04-26",
      "documentId": "string"
    }
  ],
  "mobilePhone": "string",
  "middleName": "string"
}

Parameters

Parameter In Type Required Description
clientId path string true The id or encoded key of the client to be updated
body body Client true Client to be updated

Example responses

200 Response

{
  "lastName": "string",
  "migrationEventKey": "string",
  "preferredLanguage": "ENGLISH",
  "addresses": [
    {
      "country": "string",
      "parentKey": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "encodedKey": "string",
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "gender": "MALE",
  "groupLoanCycle": 0,
  "portalSettings": {
    "encodedKey": "string",
    "portalState": "ENABLED",
    "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
  },
  "assignedBranchKey": "string",
  "loanCycle": 0,
  "emailAddress": "string",
  "encodedKey": "string",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "assignedUserKey": "string",
  "clientRoleKey": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "homePhone": "string",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "birthDate": "1987-04-26",
  "assignedCentreKey": "string",
  "approvedDate": "2016-09-06T13:37:50+03:00",
  "firstName": "string",
  "idDocuments": [
    {
      "identificationDocumentTemplateKey": "string",
      "issuingAuthority": "string",
      "clientKey": "string",
      "documentType": "string",
      "indexInList": 0,
      "validUntil": "1987-04-26",
      "encodedKey": "string",
      "documentId": "string"
    }
  ],
  "profilePictureKey": "string",
  "profileSignatureKey": "string",
  "mobilePhone": "string",
  "closedDate": "2016-09-06T13:37:50+03:00",
  "middleName": "string",
  "activationDate": "2016-09-06T13:37:50+03:00"
}

Responses

Status Meaning Description Schema
200 OK Client updated Client
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Client not found ErrorResponse

delete

Code samples

# You can also use wget
curl -X DELETE https://localhost:8889/api/clients/{clientId} \
  -H 'Accept: application/vnd.mambu.v2+json'

DELETE https://localhost:8889/api/clients/{clientId} HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/clients/{clientId}',
  method: 'delete',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/clients/{clientId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.delete 'https://localhost:8889/api/clients/{clientId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.delete('https://localhost:8889/api/clients/{clientId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/clients/{clientId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://localhost:8889/api/clients/{clientId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /clients/{clientId}

Delete a client

Parameters

Parameter In Type Required Description
clientId path string true The id or encoded key of the client to be deleted

Example responses

400 Response

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Responses

Status Meaning Description Schema
204 No Content Client deleted None
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Client not found ErrorResponse

patch

Code samples

# You can also use wget
curl -X PATCH https://localhost:8889/api/clients/{clientId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json'

PATCH https://localhost:8889/api/clients/{clientId} HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/clients/{clientId}',
  method: 'patch',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '[
  {
    "op": "ADD",
    "path": "string",
    "from": "string",
    "value": {}
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/clients/{clientId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.patch 'https://localhost:8889/api/clients/{clientId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.patch('https://localhost:8889/api/clients/{clientId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/clients/{clientId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://localhost:8889/api/clients/{clientId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /clients/{clientId}

Partially update an existing client

Body parameter

[
  {
    "op": "ADD",
    "path": "string",
    "from": "string",
    "value": {}
  }
]

Parameters

Parameter In Type Required Description
clientId path string true The id or encoded key of the client to be updated
body body array[object] true Patch operations to be applied to a resource

Example responses

400 Response

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Responses

Status Meaning Description Schema
204 No Content Client updated None
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Client not found ErrorResponse

- - - Schemas - - -

Below you can find more detailed information regarding the individual properties of JSON response types relevant to the API resources described above.

Address

{
  "country": "string",
  "parentKey": "string",
  "city": "string",
  "latitude": 0,
  "postcode": "string",
  "indexInList": 0,
  "encodedKey": "string",
  "region": "string",
  "line2": "string",
  "line1": "string",
  "longitude": 0
}

Address Data Transfer Object

Properties

Name Type Required Restrictions Description
country string false none The country
parentKey string false read-only Address parent key, the object owning this address, client, centre, branch
city string false none The city for this address
latitude number false none The GPS latitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -90 to +90
postcode string false none The post code
indexInList integer(int32) false none Index of this address in the list of addresses
encodedKey string false read-only Address encoded key, unique, generated
region string false none The region that is part of the address
line2 string false none The second line for the address, in case the first one doesn't fit the information, this is completely optional
line1 string false none The first line of the address
longitude number false none The GPS longitude of this address in signed degrees format (DDD.dddd) with 6 decimal positions, ranging from -180 to +180

PortalSettings

{
  "encodedKey": "string",
  "portalState": "ENABLED",
  "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
}

Portal settings for an individual client

Properties

Name Type Required Restrictions Description
encodedKey string false read-only The encoded key of the entity, generated by JDO, globally unique
portalState string false none State of the client's portal preferences
lastLoggedInDate string(date-time) false none The last date the client logged in to the portal

Enumerated Values

Property Value
portalState ENABLED
portalState DISABLED

RestError

{
  "errorCode": 0,
  "errorSource": "string",
  "errorReason": "SUCCESS"
}

Properties

Name Type Required Restrictions Description
errorCode integer(int32) false none none
errorSource string false none none
errorReason string false none none

Enumerated Values

Property Value
errorReason SUCCESS
errorReason INVALID_BASIC_AUTHORIZATION
errorReason INVALID_CREDENTIALS
errorReason INVALID_API_OPERATION
errorReason INVALID_PARAMETERS
errorReason METHOD_NOT_IMPLEMENTED
errorReason INTERNAL_ERROR
errorReason API_NOT_AUTHORIZED
errorReason USER_TRANSACTION_LIMIT_EXCEEDED
errorReason API_CONFIGURATION_ERROR
errorReason INVALID_TENANT_ID
errorReason INVALID_PAGINATION_OFFSET_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_OFFSET_VALUE
errorReason INVALID_PAGINATION_LIMIT_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_LIMIT_VALUE
errorReason INVALID_PERMISSIONS
errorReason INVALID_IP_ADDRESS
errorReason INACTIVE_USER
errorReason NO_API_ACCESS
errorReason FEATURE_DISABLED
errorReason MAX_FILE_SIZE_EXCEEDED
errorReason MAX_FILENAME_LENGTH_EXCEEDED
errorReason UNSUPPORTED_CHARACTER_ENCODING
errorReason INVALID_API_PROTOCOL
errorReason EXCESSIVE_INVALID_REQUESTS
errorReason INCONSISTENT_IDENTIFIER_WITH_JSON
errorReason INVALID_JSON_SYNTAX
errorReason PARAMETER_NOT_ALLOWED
errorReason START_DATE_AFTER_END_DATE
errorReason OBJECT_NOT_FOUND
errorReason MISSING_ENTITY_JSON
errorReason MISSING_REQUIRED_PARAMETER
errorReason BLOCKING_OPERATION_IN_PROGRESS
errorReason NON_REVERSIBLE_WRITE_OFF
errorReason NON_WEEKLY_LOAN_REPAYMENTS
errorReason INCONSISTENT_LINKED_ACCOUNT
errorReason INVALID_LOAN_ACCOUNT_ID
errorReason INVALID_AMOUNT
errorReason INVALID_DATE
errorReason INVALID_NOTES
errorReason INVALID_TRANSACTION_TYPE_ID
errorReason INVALID_ACCOUNT_STATE
errorReason INVALID_FEE
errorReason LOAN_PRODUCT_MISMATCH
errorReason INVALID_FIELD_FOR_TRANSACTION_TYPE
errorReason INACTIVE_TRANSACTION_TYPE
errorReason EXCESS_REPAYMENT_ERROR
errorReason TRANSACTION_LOGGED_AFTER_NOT_DISBURSED_TRANCHE
errorReason UNDEFINED_ACCOUNT_FOR_FINANCIAL_RESOURCE_ERROR
errorReason INVALID_ACCOUNT_FOR_JOURNAL_ENTRY_ERROR
errorReason MISSING_LOAN_ID
errorReason MAXIMUM_EXPOSURE_EXCEEDED
errorReason INVALID_STATE_TRANSITION
errorReason NUMBER_OF_LOANS_EXCEEDED
errorReason INVALID_FIRST_REPAYMENT_DUE_DATE
errorReason INVALID_REPAYMENT_DUE_DAY
errorReason INVALID_INTEREST_RATE
errorReason INVALID_INSTALLMENTS
errorReason MISSING_LINKED_ACCOUNT
errorReason PREPAYMENT_NOT_ALLOWED_ERROR
errorReason REPAYMENT_DATE_IN_THE_FUTURE_ERROR
errorReason INVALID_DISBURSEMENT_DATE
errorReason ILLEGAL_LOAN_PARAMETERS_MODIFICATION
errorReason ORIGINAL_ACCOUNT_HAS_FUNDS
errorReason INVALID_ACCOUNT_STATE_FOR_REPAYMENTS
errorReason DISBURSEMENT_FEES_EXCEED_LOAN_AMOUNT
errorReason INTEREST_CANNOT_BE_APPLIED
errorReason ENTRY_DATE_BEFORE_OTHER_TRANSACTION
errorReason INCONSISTENT_SCHEDULE_PRINCIPAL_DUE_WITH_LOAN_AMOUNT
errorReason ACCOUNT_HAS_NO_ACCRUED_INTEREST
errorReason INTEREST_ALREADY_APPLIED_ON_DISBURSEMENT_ACCOUNT
errorReason INCONSISTENT_WITH_FIXED_DAYS_OF_MONTH
errorReason NEGATIVE_PRINCIPAL_FOR_INSTALLMENT
errorReason INVALID_TAX_RATE
errorReason INSUFFICIENT_GUARANTEES
errorReason MISSING_REPAYMENT_PERIOD_COUNT
errorReason MISSING_REPAYMENT_INTERVAL
errorReason FUTURE_PAYMENT_NOT_ALLOWED_ERROR
errorReason DISBURSEMENT_WITH_ZERO_LOAN_AMOUNT_NOT_ALLOWED
errorReason MINIMUM_ARREARS_DAYS_NOT_REACHED
errorReason ACCOUNT_ALREADY_UNLOCKED
errorReason LOAN_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING
errorReason RESCHEDULED_LOAN
errorReason REFINANCED_LOAN
errorReason INVALID_PRODUCT_WITH_FUNDING_SOURCE_DISABLED
errorReason INVALID_ID
errorReason FAILED_TO_GENERATE_IDENTIFIER
errorReason INCONSISTENT_ACCOUNT_ID_WITH_ACCOUNT_HOLDER_TYPE
errorReason INVALID_ASSET_NAME
errorReason GUARANTOR_KEY_NOT_ALLOWED
errorReason GUARANTOR_SAVINGS_KEY_NOT_ALLOWED
errorReason INVALID_GUARANTOR_KEY
errorReason INVALID_SAVINGS_ACCOUNT_KEY
errorReason INVALID_GUARANTOR_STATE
errorReason DUPLICATED_GUARANTOR_WITHOUT_SAVINGS_ACCOUNT
errorReason DUPLICATED_SAVINGS_ACCOUNT
errorReason INSUFFICIENT_SAVINGS_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_STATE
errorReason DUPLICATED_ASSET
errorReason GUARANTOR_ASSET_NAME_NOT_ALLOWED
errorReason TRANSACTION_NOT_FOUND
errorReason INVALID_TRANSACTION_TYPE
errorReason UNREVERSED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE
errorReason INVALID_GUARANTOR_PERMISSION
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_ACCOUNTS
errorReason MISSING_PENALTY_RATE
errorReason INVALID_REPAYMENT_NUMBER
errorReason MISSING_REPAYMENT_NUMBER
errorReason INVALID_REPAYMENT_STATE
errorReason CENTRE_MEETING_DAY_IN_NON_WORKING_DAY
errorReason ARBITRARY_FEE_NOT_ALLOWED
errorReason INVALID_REPAYMENT_ID
errorReason ACCOUNT_BALANCE_OUTSIDE_CONSTRAINTS
errorReason EDITING_DATE_NOT_IN_CENTER_MEETING_DAY
errorReason CUSTOM_MADE_INSTALLMENT_ADDED_BEFORE_PAID_INSTALLMENT
errorReason EDITING_REPAYMENTS_NOT_ALLOWED
errorReason INTEREST_BALANCE_CANT_BE_EDITED_AT_SPECIFIED_DATE
errorReason INVALID_DUE_DATE
errorReason NEGATIVE_BALANCE
errorReason NON_POSITIVE_TOTAL_BALANCE
errorReason PARAMS_INCONSISTENT_WITH_PRODUCT_RULES
errorReason INVALID_GRACE_PERIOD
errorReason INVALID_ANTICIPATED_DISBURSEMENT
errorReason INVALID_REPAYMENT_FREQUENCY
errorReason INVALID_PRINCIPAL_REPAYMENT_INVERVAL
errorReason INVALID_PRODUCT_STATE
errorReason BALLOON_PAYMENTS_NOT_ALLOWED_BY_PRODUCT
errorReason MANDATORY_PERIODIC_PAYMENT
errorReason PERIODIC_PAYMENT_GREATER_THAN_LOAN_AMOUNT
errorReason MISSING_INTEREST_RATE_SPREAD_ON_PRODUCT
errorReason FIRST_REPAYMENT_DATE_BEFORE_EXPECTED_DISBURSEMENT_DATE
errorReason INVALID_PENALTY_RATE
errorReason CANNOT_EDIT_SOLIDARITY_LOANS
errorReason INVALID_INTEREST_SPREAD
errorReason INVALID_PERIODIC_PAYMENT
errorReason UNKNOWN_LOAN_ACCOUNT_ERROR
errorReason MISSING_GROUP_ID
errorReason INVALID_GROUP_ID
errorReason INVALID_FULL_DETAILS
errorReason INVALID_INDICATORS
errorReason GROUP_NOT_FOUND
errorReason INVALID_PARAMATERS_FOR_PRODUCT
errorReason INVALID_USER_WHO_APPROVED_THE_LOAN_CANNOT_DISBURSE_IT
errorReason INVALID_GROUP_SIZE
errorReason MULTIPLE_GROUP_MEMBERSHIP
errorReason INVALID_GROUP_ROLE_NAME_KEY
errorReason GROUP_ROLE_CLIENT_NOT_GROUP_MEMBER
errorReason TRANSACTION_ALREADY_REVERSED
errorReason INVALID_TRANSACTION_ID
errorReason TRANSACTION_ID_AND_ACCOUNT_MISMATCH
errorReason TRANSACTION_LOGGED_FOR_CLOSED_TILL
errorReason TILL_BALANCE_ABOVE_MAX
errorReason TILL_BALANCE_UNDER_MIN
errorReason TRANSACTION_MADE_FROM_A_TRANSFER
errorReason TRANSACTION_MADE_FROM_A_DISBURSEMENT
errorReason DEPOSIT_ACCOUNT_HAS_MATURITY_DATE_SET
errorReason BALANCE_IS_NULL
errorReason GUARANTOR_NOT_ALLOWED_BY_PRODUCT
errorReason COLLATERAL_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_CHANGE_TILL_BALANCE
errorReason DEDUCTED_FEES_TOTAL_MORE_THAN_LOAN_AMOUNT
errorReason NO_CAPITALIZED_DISBURSEMENT_FESS_WHEN_ZERO_LOAN_AMOUNT
errorReason DISBURSE_TO_SAVINGS_NOT_AVALAIBLE_WITH_INVESTOR_FUNDS
errorReason TRANSACTION_CHANNEL_IS_MANDATORY
errorReason TRANSACTION_CHANNEL_NOT_AVAILABLE_WHEN_DISBURSE_TO_SAVINGS
errorReason GUARANTOR_CANNOT_BE_DELETED
errorReason CUSTOM_AMOUNT_IS_MANDATORY
errorReason INVALID_TRANSACTION_CHANNEL
errorReason MISSING_FEE
errorReason INCONSISTENT_ACCOUNT_FEE_WITH_PRODUCT_FEE
errorReason FULL_TERM_FEE_CANNOT_BE_AMORTIZED_DUE_TO_APPLICATION_DATE
errorReason CANNOT_USE_EFFECTIVE_INTEREST_RATE_FEE_WITHOUT_POSITIVE_INTEREST_RATE_VALUE
errorReason TRANSACTION_DETAILS_NOT_AVAILABLE_FOR_PRODUCT
errorReason FEES_NOT_AVAILABLE_FOR_PRODUCT
errorReason EXPECTED_DISBURSEMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason FIRST_REPAYMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason LOAN_PRODUCT_PREPAYMENT_OPTIONS_MISMATCH
errorReason INVALID_LAST_REPAYMENT_DUE_DATE_CHANGE_BECAUSE_ACCOUNT_HAS_FULL_TERM_FEE_APPLIED
errorReason LOAN_ACCOUNT_PREPAYMENT_RECALCULATION_CONVERSION_ERROR
errorReason REDRAW_DISABLED
errorReason MISSING_FEE_KEY
errorReason INVALID_FEE_KEY
errorReason INCONSISTENT_FEE_AMOUNT_WITH_PRODUCT_FEE
errorReason FEE_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason REQUIRED_FEE_MISSING
errorReason FEE_NOT_ACTIVE
errorReason FEE_NOT_ALLOWED
errorReason INCONSISTENT_FIRST_REPAYMENT_DATE_WITH_PRODUCT_OFFSET
errorReason MISSING_ORIGINAL_TRANSACTION_ID
errorReason REPAYMENT_WAS_FULLY_PAID
errorReason REPAYMENT_HAS_INTEREST_APPLIED
errorReason DUE_DATE_BEFORE_ACCOUNTING_CLOSURE
errorReason DUE_DATE_BEFORE_LOGGED_TRANSACTION
errorReason INVALID_PARENT_ACCOUNT_KEY
errorReason AUTOMATICALLY_ADDED_INSTALLEMENTS_ARE_NOT_EDITABLE
errorReason PURE_GRACE_INSTALLMENT_ARE_NOT_EDITABLE
errorReason CUSTOM_PAYMENT_NOT_ALLOWED_BY_PRODUCT
errorReason SAME_CUSTOM_PAYMENT_AMOUNT_TYPE_USED_MULTIPLE_TIMES
errorReason CUSTOM_PAYMENT_AMOUNT_DIFFERENT_THAN_TOTAL_PAYMENT_AMOUNT
errorReason CUSTOM_PAYMENT_PRINCIPAL_NOT_ALLOWED_BY_PRODUCT
errorReason ARREARS_TOLERANCE_PERIOD_OUTSIDE_CONSTRAINTS
errorReason NEGATIVE_ARREARS_TOLERANCE_PERIOD
errorReason REQUIRED_ARREARS_TOLERANCE_PERIOD_MISSING
errorReason DUE_DATE_BEFORE_FEE_AMORTIZATION
errorReason MAX_CLIENT_LIMIT_REACHED
errorReason PENALTY_METHOD_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_REVERSE_TECHNICAL_OVERDRAFT
errorReason INSUFFICIENT_BALANCE
errorReason UNKNOWN_GROUP_ERROR
errorReason MISSING_CLIENT_ID
errorReason INVALID_CLIENT_ID
errorReason INVALID_CLIENT_KEY
errorReason INVALID_PICTURE_KEY
errorReason INVALID_SIGNATURE_KEY
errorReason INVALID_CLIENT_STATE
errorReason INVALID_CLIENT_ROLE_KEY
errorReason INCONSISTENT_CLIENT_ROLE_WITH_CLIENT_TYPE
errorReason INVALID_DEPENDENT_CUSTOM_FIELD_VALUE
errorReason INVALID_BIRTH_DATE
errorReason DUPLICATE_CLIENT
errorReason INVALID_CLIENT_STATE_TYPE
errorReason INVALID_CLIENT_STATE_TRANSITION
errorReason CLIENT_IS_MEMBER_OF_A_GROUP
errorReason CLIENT_IS_GUARANTOR
errorReason CLIENT_HAS_ACCOUNTS
errorReason CLIENT_ID_ALREADY_IN_USE
errorReason GROUP_ID_ALREADY_IN_USE
errorReason GROUP_HAS_ACCOUNTS
errorReason UNKNOWN_CLIENT_ERROR
errorReason INVALID_SAVINGS_ACCOUNT_ID
errorReason BALANCE_BELOW_ZERO
errorReason MISSING_SAVINGS_ID
errorReason BACKDATE_BEFORE_ACTIVATION
errorReason BACKDATE_BEFORE_OTHER_OPERATION
errorReason BACKDATE_SET_IN_THE_FUTURE
errorReason INVALID_DEPOSIT_AMOUNT
errorReason INVALID_DEPOSIT_ACCOUNT_STATE
errorReason LOCKED_SAVINGS_AMOUNT
errorReason SAVINGS_PRODUCT_MISMATCH
errorReason SAVINGS_ACCOUNT_INVALID
errorReason ACCOUNT_ID_ALREADY_IN_USE
errorReason PRODUCT_DOESNT_ALLOW_WITHHOLDING_TAXES
errorReason INVALID_WITHHOLDING_TAX_SOURCE_TYPE
errorReason INVALID_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason INVALID_SAVINGS_ACCOUNT_STATE_TRANSITION
errorReason MAXIMUM_WITHDRAWAL_AMOUNT_EXCEEDED
errorReason MAXIMUM_OVERDRAFT_LIMIT_EXCEEDED
errorReason OVERDRAFT_NOT_ALLOWED
errorReason MISSING_INTEREST_RATE_FROM_SAVINGS_PRODUCT
errorReason POSITIVE_SECURED_AMOUNT
errorReason MINIMUM_OPENING_BALANCE_ACHIEVED
errorReason ACCOUNT_HAS_TRANSACTIONS
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason RECOMMENDED_DEPOSIT_AMOUNT_INVALID
errorReason MISSING_TYPE_PARAMETER
errorReason INVALID_DEPOSIT_ACCOUNT_ID
errorReason PRODUCT_SPECIFIES_OVERDRAFT_ALLOWED
errorReason PRODUCT_SPECIFIES_OVERDRAFT_NOT_ALLOWED
errorReason CURRENT_ACCOUNT_PRODUCT_DISABLED
errorReason FIXED_DEPOSIT_PRODUCT_DISABLED
errorReason COLLATERAL_FEATURE_DISABLED
errorReason CREDIT_OFFICER_DISABLED
errorReason DATA_EXPORT_DISABLED
errorReason MAX_WITHDRAWAL_CANNOT_BE_NEGATIVE
errorReason MAX_WITHDRAWAL_CANNOT_BE_ZERO
errorReason WITHHOLDING_TAXES_DISABLED
errorReason FUNDING_SOURCE_DISABLED
errorReason RESET_DATA_DISABLED
errorReason SOLIDARITY_GROUP_DISABLED
errorReason SAVINGS_PLAN_DISABLED
errorReason SAVINGS_ACCOUNT_DISABLED
errorReason REVOLVING_CREDIT_DISABLED
errorReason INDICATORS_DISABLED
errorReason FIXED_TERM_LOAN_DISABLED
errorReason FLAT_INTEREST_DISABLED
errorReason EFFECTIVE_INTEREST_RATE_DISABLED
errorReason RISK_REPORTING_DISABLED
errorReason UNKNOWN_SAVINGS_ACCOUNT_ERROR
errorReason TRANSFER_CANT_BE_MADE
errorReason CANNOT_MAKE_TRANSFER_TO_SOURCE_ACCOUNT
errorReason INVALID_TARGET_ACCOUNTING_STATE
errorReason TRANSFER_AMOUNT_IS_NOT_POSITIVE
errorReason INVALID_PRODUCT_ID
errorReason TRANSFER_AS_POSTDATED_PAYMENT
errorReason UNDEFINED_EXCHANGE_RATE_FOR_CURRENCY
errorReason INVALID_PRODUCT_KEY
errorReason CANNOT_MAKE_TRANSFER_TO_FUNDED_ACCOUNTS_WITH_ACCOUNTING_ENABLED
errorReason LINKED_ACCOUNT_DELETION_ERROR
errorReason ACCOUNT_HAS_REMAINING_BALANCE
errorReason CANNOT_DISBURSE_LOCKED_ACCOUNTS
errorReason DISBURSEMENT_DATE_AFTER_LAST_REPAYMENT_DUE_DATE
errorReason INTEREST_RATE_NOT_AVAILABLE_FOR_INDEXED_RATES
errorReason INTEREST_SPREAD_NOT_AVAILABLE_FOR_FIXED_RATES
errorReason TRANCHES_EXPECTED_DISBURSMENT_DATES_NOT_ORDERED
errorReason TRANCHES_NOT_ALLOWED
errorReason TRANCHES_NOT_DEFINED
errorReason MORE_TRANCHES_THAN_ALLOWED
errorReason TOTAL_TRANCHES_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason TOTAL_AMOUNT_NOT_EQUAL_WITH_LOAN_AMOUNT
errorReason TRANCHE_AMOUNT_SHOULD_BE_STRICT_POSITIVE
errorReason INVALID_TRANCHE_KEY
errorReason CANNOT_MODIFY_DISBURSED_TRANCHE
errorReason DISBURSEMENT_DATE_BEFORE_NOT_REVERSED_TRANSACTION
errorReason CANNOT_MODIFY_TRANCHES_ON_RESCHEDULED_REFINANCED_ACCOUNTS
errorReason ALL_TRANCHES_ALREADY_DISBURSED
errorReason TRANCHES_CANNOT_BE_EDITED
errorReason INTEREST_RATE_SHOULD_BE_ZERO_OR_EMPTY
errorReason INTEREST_SPREAD_SHOULD_BE_ZERO_OR_EMPTY
errorReason INCONSISTENT_DATE_WITH_NEXT_TRANCHE
errorReason INTEREST_RATE_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INTEREST_SPREAD_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INVALID_INTEREST_RATE_TIERS
errorReason INVALID_OVERDRAFT_INTEREST_RATE_TIERS
errorReason INVALID_GL_ACCOUNT_ID
errorReason INVALID_GL_ACCOUNT_TYPE
errorReason JOURNAL_ENTRY_BEFORE_CLOSURE
errorReason DEBITS_DO_NOT_MATCH_CREDITS
errorReason JOURNAL_ENTRY_DATE_NOT_DEFINED
errorReason GL_ACCOUNT_IS_HEADER
errorReason GL_ACCOUNT_DOES_NOT_SUPPORT_MANUALLY_ENTRIES
errorReason NO_INTER_BRANCH_GL_ACCOUNT
errorReason INVALID_JOURNAL_TRANSACTION_ID
errorReason DUPLICATE_JOURNAL_TRANSACTION_ID
errorReason INVALID_ACCOUNTING_DATE_ORDER
errorReason INVALID_ACCOUNTING_DATE_RANGE
errorReason JOURNAL_ENTRY_DATE_IN_THE_FUTURE
errorReason JOURNAL_ENTRY_DATE_IN_THE_PAST_BEFORE_THE_ALLOWED_LIMIT
errorReason INVALID_CURRENCY_CODE
errorReason CURRENCY_NOT_MATCHING
errorReason ACCOUNT_CURRENCY_NOT_MATCH
errorReason MISSING_CURRENCY
errorReason INVALID_EXCHANGE_RATE_VALUE
errorReason INCONSISTENT_START_DATE_WITH_TRANSACTIONS
errorReason BUY_RATE_GREATER_THAN_SELL_RATE
errorReason RATE_NOT_SET
errorReason RATE_TO_SAME_CURRENCY
errorReason DATE_BEFORE_LAST_RATE_DATE
errorReason START_DATE_IN_FUTURE
errorReason DATE_ON_LAST_RATE_DATE
errorReason INVALID_USER_NAME
errorReason INVALID_USER_ID
errorReason INVALID_CREDIT_OFFICER_KEY
errorReason INCONSISTENT_CREDIT_OFFICER_WITH_BRANCH
errorReason MISSING_CREDIT_OFFICER_KEY
errorReason MISSING_BRANCH_KEY
errorReason MISSING_CENTRE_KEY
errorReason INVALID_USER_ROLE_KEY
errorReason USER_IS_LOCKED
errorReason INVALID_PASSWORD
errorReason EMAIL_ADDRESS_ALREADY_REGISTERED_WITH_ANOTHER_USER
errorReason EMAIL_ADDRESS_FORMAT_IS_INVALID
errorReason USERNAME_ALREADY_EXISTS
errorReason MAX_USER_LIMIT_REACHED
errorReason CANNOT_MANAGE_USER_BRANCH
errorReason NOT_ENOUGH_PRIVILDGES_FOR_CHANGING_USER_SETTINGS
errorReason ONLY_ONE_ROLE_ALLOWED
errorReason INVALID_TRANSACTION_LIMIT_TYPE
errorReason NOT_ENOUGH_PRIVILEDGES_TO_CREATE_ADMIN_USER
errorReason CANNOT_HAVE_NEGATIVE_TRANSACTION_LIMITS
errorReason INVALID_VALUE_FOR_MANAGED_BRANCHES
errorReason CANNOT_HAVE_ADMIN_WITHOUT_FULL_BRANCHES_ACCESS
errorReason CANNOT_HAVE_OFFICER_ADMIN_WITHOUT_MANAGE_OTHER_ENTITIES_ACCESS
errorReason INCONSISTENT_CAN_MANAGE_BRANCHES_WITH_CAN_MANAGE_ENTITIES
errorReason MISSING_EMAIL_ADDRESS
errorReason MISSING_MOBILE_PHONE
errorReason INVALID_BRANCH_ID
errorReason INVALID_BRANCH_KEY
errorReason INVALID_MANAGED_BRANCH_ID
errorReason BRANCH_IS_NOT_ACTIVE
errorReason INVALID_CENTRE_KEY
errorReason INVALID_CENTRE_ID
errorReason INCONSISTENT_CENTRE_WITH_BRANCH
errorReason CENTRE_IS_NOT_ACTIVE
errorReason INCONSISTENT_VALUE_WITH_CUSTOM_FIELD_TYPE
errorReason REQUIRED_CUSTOM_FIELD_MISSING
errorReason INVALID_CUSTOM_FIELD_ID
errorReason MAX_CUSTOM_FIELD_VALUE_LENGTH_EXCEEDED
errorReason INVALID_CUSTOM_FIELD_ENTITY_KEY
errorReason VIEW_TYPE_NOT_MATCHING_RESOURCE
errorReason VIEW_NOT_ACCESSIBLE_FOR_USER
errorReason CUSTOM_FIELD_DEACTIVATED
errorReason CUSTOM_FIELD_REQUIRED
errorReason CUSTOM_FIELD_NOT_AVAILABLE_FOR_ENTITY
errorReason INVALID_CUSTOM_FIELD_LINKED_ENTITY_KEY
errorReason DEPENDENT_CUSTOM_FIELD_VALUE_REQUIRED
errorReason INCONSISTENT_VALUE_WITH_SET_TYPE
errorReason GROUPED_INDEXES_NOT_CONSECUTIVE
errorReason TO_MANY_VALUES_FOR_SAME_GROUPED_CUSTOM_FIELD
errorReason INVALID_CUSTOM_FIELD_GROUP_INDEX
errorReason INCONSISTENT_CUSTOM_FIELD_VALUE_WITH_PATTERN
errorReason DUPLICATE_CUSTOM_FIELD_VALUES
errorReason CUSTOM_FIELD_SET_CHANGE_NOT_ALLOWED
errorReason CUSTOM_FIELD_SET_NULL
errorReason CUSTOM_FIELD_USAGE_CHANGE_NOT_ALLOWED
errorReason DATATYPE_OR_TYPE_CHANGED
errorReason CUSTOM_FIELD_NAME_NOT_UNIQUE
errorReason ENCODED_KEY_MUST_BE_EMPTY_ON_CREATE
errorReason CUSTOM_FIELDS_NEED_CHANNEL_PROVIDED
errorReason DUPLICATE_UNIQUE_VALUE
errorReason REFERRED_IN_CUSTOM_FIELD
errorReason TRANSACTION_TYPE_NOT_ACCEPTING_CUSTOM_FIELDS
errorReason INVALID_CUSTOM_FIELD_KEY
errorReason BUILT_IN_CUSTOM_FIELD_CHANGE_NOT_ALLOWED
errorReason INVALID_ID_DOCUMENT
errorReason REQUIRED_ID_DOCUMENT_MISSING
errorReason ADDING_OTHER_ID_DOCUMENTS_IS_DISABLED
errorReason INVALID_ID_DOCUMENT_TEMPLATE_KEY
errorReason INVALID_DOCUMENT_ID
errorReason INVALID_FILE_EXTENSION
errorReason FILE_EXTENSION_NOT_ALLOWED
errorReason INCONSISTENT_EXTENSION_WITH_FILE_CONTENT
errorReason MALWARE_CONTENT_DETECTED
errorReason INVALID_FILENAME
errorReason NO_PROFILE_PICTURE_SET
errorReason NO_PROFILE_SIGNATURE_SET
errorReason HAS_DOCUMENT_ATTACHED
errorReason INVALID_TASK_ID
errorReason INVALID_TASK_STATE_AND_COMPLETION_DATE
errorReason INVALID_TASK_FIELD_CHANGE
errorReason INVALID_TASK_STATUS
errorReason INVALID_TASK_TITLE_LENGTH
errorReason HAS_TASK_ATTACHED
errorReason EDITING_VIEW_TYPE_NOT_ALLOWED
errorReason INVALID_CUSTOM_FIELD_SET_ID
errorReason MISSING_FROM_DATE
errorReason MISSING_TO_DATE
errorReason MAXIMUM_ONE_FILTER_ALLOWED
errorReason TILL_BALANCE_OUTSIDE_CONSTRAINTS
errorReason TRANSACTION_IS_NOT_WITHIN_CHANNEL_CONSTRAINTS
errorReason INVALID_ADDRESS
errorReason CLIENT_ROLE_DOES_NOT_ALLOW_ADDRESS
errorReason ADDRESS_CHANGE_NOT_ALLOWED
errorReason DATA_IMPORT_IN_PROGRESS
errorReason DATABASE_BACKUP_IN_PROGRESS
errorReason DATABASE_BACKUP_NOT_FOUND
errorReason CLIENT_IN_MIGRATION
errorReason INVALID_ASSIGNMENT
errorReason INVALID_INDEX_RATE_SOURCE_ID
errorReason START_DATE_BEFORE_LAST_INDEX_REVIEWD_DATE
errorReason INVALID_INDEX_RATE_START_DATE
errorReason NO_INDEX_RATE_AVAILABLE
errorReason NO_TAX_RATE_AVAILABLE
errorReason INCONSISTENT_GROUP_MEMBER_PARENT_KEY
errorReason INCONSISTENT_GROUP_MEMBER_ENCODED_KEY
errorReason INCONSISTENT_GROUP_ROLE_PARENT_KEY
errorReason INCONSISTENT_GROUP_ROLE_ENCODED_KEY
errorReason PRODUCT_LINE_OF_CREDIT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason DISBURSEMENT_DATE_BEFORE_LINE_OF_CREDIT_START_DATE
errorReason MATURITY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason LINE_OF_CREDIT_AMOUNT_EXCEEDED
errorReason LINE_OF_CREDIT_REQUIRED_EXCEPTION
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason CANNOT_CREATE_ACCOUNT_WITH_LINE_OF_CREDIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_EXPIRY_DATE
errorReason INVALID_LINE_OF_CREDIT_ID
errorReason ACCOUNT_ALREADY_ON_LINE_OF_CREDIT
errorReason INCONSISTENT_LINE_OF_CREDIT_CLIENT_WITH_ACCOUNT_OWNER
errorReason ACCOUNT_IS_NOT_PART_OF_LINE_OF_CREDIT
errorReason INVALID_LINE_OF_CREDIT_STATE
errorReason HAS_LINES_OF_CREDIT
errorReason LINE_OF_CREDIT_ID_ALREADY_IN_USE
errorReason EXPIRE_DATE_BEFORE_START_DATE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_LINES_OF_CREDIT
errorReason MISSING_LINE_OF_CREDIT_START_DATE
errorReason MISSING_LINE_OF_CREDIT_EXPIRE_DATE
errorReason MISSING_LINE_OF_CREDIT_AMOUNT
errorReason LINE_OF_CREDIT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason MISSING_ACCOUNT_HOLDER_KEY
errorReason MISSING_ACCOUNT_HOLDER_TYPE
errorReason ACCOUNT_HOLDER_NOT_FOUND
errorReason INVALID_ACCOUNT_HOLDER_STATE
errorReason NO_ORGANIZATION_ICON
errorReason NO_ORGANIZATION_LOGO
errorReason MISSING_TEXT
errorReason MAX_TEXT_LENGTH_EXCEEDED
errorReason NUM_INSTALLMENTS_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason PRINCIPAL_PAYMENT_INCONSISTENT_WITH_PRODUCT
errorReason SCHEDULE_PREVIEW_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason AMOUNT_MORE_THAN_CURRENT_AVAILABLE_AMOUNT
errorReason INCONSISTENT_WITH_CENTRE_MEETING_DAY
errorReason FIELD_IS_NOT_EDITABLE
errorReason RESCHEDULED_REPAYMENT_BEFORE_DISBURSEMENT_DATE
errorReason FIELD_NOT_ALLOWED
errorReason OPERATION_NOT_ALLOWED_ON_FIELD
errorReason INVALID_FILTER_VALUES
errorReason INVALID_FILTER_SELECTION
errorReason INVALID_FILTER_ELEMENT
errorReason INVALID_FILTER_VALUE
errorReason INVALID_FILTER_SECOND_VALUE
errorReason TOO_MANY_FILTERS_PROVIDED
errorReason INVALID_FILTER_DATA_ITEM_TYPE
errorReason INSUFFICIENT_FUNDS_ACCOUNT_BALANCE
errorReason INSUFFICIENT_FUNDS_TOTAL_AMOUNT
errorReason FUNDS_NOT_ALLOWED
errorReason FUNDING_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason FUNDER_INTEREST_COMMISSION_CONSTRAINTS_VALIDATION
errorReason MISSING_FUNDER_INTEREST_COMMISSION
errorReason INVALID_FUND_ENCODED_KEY
errorReason INVESTORS_TOTAL_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason INVALID_FUND_ID
errorReason INACTIVE_FUND_ID
errorReason INVALID_FUNDED_ACCOUNT_STATE
errorReason FUND_SELL_WITH_NO_PURCHASES
errorReason FUND_OVERSELL
errorReason INVALID_SELLER_FUND_AMOUNT
errorReason INVALID_SELLER_FUND_STATE
errorReason INVALID_SELLER_FUNDING_ACCOUNT
errorReason INVALID_INVESTMENT_PERCENTAGES_FOR_AMOUNTS
errorReason FUND_SELF_SELL
errorReason INVALID_BUYER_FUNDING_ACCOUNT
errorReason DUPLICATE_BUYER_FUNDING_ACCOUNT
errorReason INVALID_BUYER_FUND_AMOUNT
errorReason INVALID_FUND_PURCHASE_PRICE
errorReason INSUFFICIENT_BUYER_FUNDING_ACCOUNT_FUNDS
errorReason LOAN_ACCOUNT_NOT_FUNDED_BY_SAVINGS_ACCOUNT
errorReason INVALID_INTEREST_RATE_AGAINST_INTEREST_COMMISSION
errorReason INVALID_SAVINGS_ACCOUNT_TYPE_FOR_FUNDING
errorReason DUPLICATED_SAVINGS_ACCOUNT_FOR_FUNDING
errorReason INVALID_FIXED_DAYS_OF_MONTH
errorReason INVALID_SORTING_COLUMN
errorReason COLUMN_NOT_SORTABLE
errorReason INVALID_SORTING_ORDER
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_FIELD
errorReason INVALID_GUARANTY_ENCODED_KEY
errorReason INVALID_GUARANTY_TYPE
errorReason INVALID_GUARANTOR_TYPE
errorReason GUARANTY_KEY_TYPE_MISMATCH
errorReason INVALID_TEMPLATE_ID
errorReason INVALID_TEMPLATE_TYPE
errorReason MISSING_FIXED_DAYS_OF_MONTH
errorReason FIXED_DAYS_OF_MONTH_NOT_ALLOWED
errorReason REPAYMENT_FREQUENCY_NOT_ALLOWED
errorReason REPAYMENT_PERIOD_COUNT_NOT_ALLOWED
errorReason APPLIED_INTEREST_BALANCE_CANNOT_BE_REALLOCATED
errorReason INVALID_NEW_TOTAL_LOAN_AMOUNT
errorReason NEGATIVE_WRITE_OFF_AMOUNT
errorReason CAPITALIZED_AMOUNTS_NOT_ALLOWED_DUE_TO_DIFFERENT_ACCOUNTING
errorReason TOP_UP_AMOUNT_IS_MANDATORY
errorReason RESTRUCTURE_DETAILS_ARE_MANDATORY
errorReason NEGATIVE_TOP_UP_AMOUNT
errorReason WRITE_OFF_AMOUNT_MORE_THAN_BALANCE_AMOUNT
errorReason CANNOT_REFINANCE_REVOLVING_CREDIT_LOAN
errorReason POSITIVE_CAPITALIZED_AMOUNTS_FOR_LOAN_FUNDED_NOT_ALLOWED
errorReason WRITE_OFF_AMOUNT_FOR_LOAN_FUNDED_DIFFERENT_BY_BALANCE_AMOUNT
errorReason CURRENCY_NOT_AVAILABLE_FOR_PRODUCT
errorReason CURRENCY_NOT_EDITABLE
errorReason TELLER_CANNOT_POST_TRANSACTION_IN_MULTI_CURRENCY
errorReason SETTINGS_ONLY_AVAILABLE_FOR_REVOLVING_CREDIT_ACCOUNTS
errorReason INCONSISTENT_FLAT_AMOUNT_WITH_PRODUCT_CONSTRAINTS
errorReason INCONSISTENT_PERCENTANGE_WITH_PRODUCT_CONSTRAINTS
errorReason AMOUNT_REQUIRED_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_REQUIRED_FOR_PRINCIPAL_PAYMENT_PERCENTAGE_METHOD
errorReason AMOUNT_ONLY_AVAILABLE_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_ONLY_AVAILABLE_FOR_OUTSTANDING_PRINCIPAL_PERCENTAGE_METHOD
errorReason INVALID_PRINCIPAL_PAYMENT_FLAT_AMOUNT_WITH_DECIMALS
errorReason INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_VALUE
errorReason CANT_EDIT_LOCKED_OPERATIONS_IN_LOCKED_CAPPING_STATE
errorReason CANT_UNLOCK_WHEN_INCOME_BALANCE_IS_OVER_PRINCIPAL_CAPPING_CONSTRAINTS
errorReason CANNOT_BULK_REVERSE_INTERNAL_TRANSFER_REPAYMENT
errorReason CANNOT_BULK_REAPPLY_TRANSACTION_BECAUSE_LOCKED_TRANSACTIONS_LOGGED_AFTER_IT
errorReason CANNOT_BULK_REAPPLY_POSTDATED_REPAYMENTS
errorReason CANNOT_BULK_REVERSE_ACTIVATION_TRANSACTION
errorReason CLOSURE_DATE_AFTER_MAX_ALLOWED_UNDO_CLOSURE_PERIOD
errorReason CLOSURE_DATE_BEFORE_GL_ACCOUNT_CLOSURE
errorReason MISSING_ORGANIZATION_INTEREST_COMMISSION
errorReason INSUFFICIENT_TRANSACTION_AMOUNT
errorReason CANNOT_REVERSE_INTEREST_ON_DISBURSEMENT
errorReason TRANSACTION_TYPE_IS_IRREVERSIBLE
errorReason INTEREST_APPLIED_WITH_NULL_AMOUNT
errorReason CANNOT_REVERSE_OFFSET_DEPOSIT_TRANSACTION
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_ID
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_STATE_FOR_LOCK
errorReason INCOME_BALANCE_CONSTRAINTS_EXCEEDED
errorReason CANNOT_BULK_REVERSE_LOAN_FRACTION_SOLD
errorReason LATE_FEE_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT
errorReason FEE_CANNOT_BE_POSTED_ON_RECOMPUTED_SCHEDULE
errorReason INVALID_ORGANIZATION_INTEREST_COMMISSION
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_LOAN_PRODUCT_TYPE
errorReason INSTALLMENT_WITH_INTEREST_APPLIED_CANNOT_BE_EDITED
errorReason UNABLE_TO_DETERMINE_DELETED_REPAYMENTS
errorReason PAID_OR_PURE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason NON_CUSTOM_MADE_INTALLMENT_CANNOT_BE_DELETED_FOR_REVOLVING_CREDIT_ACCOUNT
errorReason INVALID_NUMBER_OF_INSTALLMENTS
errorReason INVALID_PRINCIPAL_AMOUNT_WITH_DECIMALS
errorReason INCONSISTENT_WITH_LINE_OF_CREDIT_VALID_UNTIL_DATE
errorReason DUE_DATES_NOT_UNIQUE
errorReason NON_ZERO_PRINCIPAL_REPAYMENT_CANNOT_BE_DELETED
errorReason NON_DYNAMIC_ACCOUNT_REPAYMENT_DELETION_NOT_ALLOWED
errorReason INVALID_LOAN_ACCOUNT_STATE_FOR_FUNDS_EDIT
errorReason ENTRY_DATE_AFTER_MATURITY_DATE_WITH_LATE_FEES_AND_BULK_REVERSAL
errorReason DIFFERENT_ACCOUNTING_STATE_BETWEEN_INVOLVED_PRODUCTS
errorReason ACCOUNT_ALREADY_LINKED
errorReason PRODUCT_DOES_NOT_ALLOW_LINKING
errorReason UNLINKABLE_SAVINGS_PRODUCT
errorReason INVALID_SAVINGS_ACCOUNT_HOLDER
errorReason LINK_BETWEEN_ACCOUNTS_DOES_NOT_EXIST
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_EDITED
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason INSUFFICIENT_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_TYPE
errorReason MATURITY_PERIOD_ALREADY_STARTED
errorReason LOAN_PRODUCT_PRINCIPAL_PAID_INSTALLMENT_STATUS_MISMATCH
errorReason CANNOT_DELETE_LINK_FOR_ACTIVATED_OFFSET_LOAN
errorReason INVALID_LANGUAGE
errorReason INVALID_LINKED_SETTLEMENT_ACCOUNT_KEYS
errorReason SAVINGS_ACCOUNT_ALREADY_LINKED
errorReason RESEND_FAILED_NOTIFICATION_FAILED
errorReason INVALID_NOTIFICATION_MESSAGE_STATE
errorReason DUPLICATED_NOTIFICATION_ENCODED_KEY
errorReason MAXIMUM_NUMBER_OF_NOTIFICATIONS_TO_RESEND_EXCEEDED
errorReason DUE_DATES_NOT_IN_ASCENDING_ORDER
errorReason ACCOUNT_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason CLIENT_HAS_ACTIVE_ACCOUNTS_WITH_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason PRODUCT_HAS_ASSOCIATED_ACCOUNTS
errorReason MAX_NUMBER_OF_FILTERS_REACHED
errorReason MAX_NUMBER_OF_COLUMNS_REACHED
errorReason USAGE_RIGHTS_ROLE_NOT_AVAILABLE
errorReason CURRENCY_NOT_DEFINED
errorReason BASE_CURRENCY_CANNOT_BE_REMOVED
errorReason CURRENCY_IN_USE_CANNOT_BE_REMOVED
errorReason CURRENCY_DOES_NOT_EXIST
errorReason INVALID_COMMUNICATION_MESSAGE_ENCODED_KEY
errorReason INVALID_EMAIL_SUBJECT
errorReason INVALID_CREDIT_ARRANGEMENT_ID
errorReason INVALID_CREDIT_ARRANGEMENT_STATE
errorReason CREDIT_ARRANGEMENT_ID_ALREADY_IN_USE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_CREDIT_ARRANGEMENTS
errorReason CREDIT_ARRANGEMENT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason PRODUCT_CREDIT_ARRANGEMENT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason ACCOUNT_ALREADY_ON_CREDIT_ARRANGEMENT
errorReason INCONSISTENT_CREDIT_ARRANGEMENT_CLIENT_WITH_ACCOUNT_OWNER
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_EXPIRE_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason CREDIT_ARRANGEMENT_AMOUNT_EXCEEDED
errorReason MATURITY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason DISBURSEMENT_DATE_BEFORE_CREDIT_ARRANGEMENT_START_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRED_EXCEPTION
errorReason ACCOUNT_IS_NOT_PART_OF_CREDIT_ARRANGEMENT
errorReason CREDIT_ARRANGEMENT_ILLEGAL_PARAMETER_MODIFICATION
errorReason CREDIT_ARRANGEMENT_HAS_NON_CLOSED_ACCOUNTS
errorReason BASE_CURRENCY_NOT_UNIQUE
errorReason CURRENCY_SYMBOL_LENGTH_OUTSIDE_CONSTRAINTS
errorReason INEXISTING_CURRENCY_SYMBOL
errorReason INVALID_TO_INSTALLMENT_POSITION
errorReason INVALID_PMT_VALUE
errorReason PAYMENT_PLAN_NOT_AVAILABLE
errorReason AT_LEAST_ONE_PERIODIC_PAYMENT_PLAN_MANDATORY
errorReason SUM_OF_PERIODIC_PAYMENTS_LESS_OR_EQUAL_WITH_LOAN_AMOUNT
errorReason PAYMENT_PLAN_ENTRIES_NOT_ORDERED
errorReason INTEREST_RATE_COMPUTATION_ERROR
errorReason INVALID_PERIODIC_PAYMENT_ENCODED_KEY
errorReason DUPLICATED_PERIODIC_PAYMENT_ENCODED_KEY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_METHOD_MUST_BE_NULL
errorReason INVALID_DAYS_IN_YEARS_METHOD_MUST_BE_NULL
errorReason PRODUCT_ID_ALREADY_IN_USE
errorReason INVALID_ROUNDING_REPAYMENT_CURRENCY_FOR_PRODUCT
errorReason SDK_CLIENT_COULD_NOT_BE_GENERATED
errorReason SDK_CLIENT_LANGUAGES_COULD_NOT_BE_OBTAINED
errorReason MAXIMUM_NUMBER_OF_COMMUNICATION_MESSAGES_TO_RESEND_EXCEEDED
errorReason RESEND_FAILED_COMMUNICATON_FAILED
errorReason DUPLICATE_ENCODED_KEY
errorReason MESSAGE_STATE_MUST_BE_FAILED
errorReason NO_MESSAGE_FOUND
errorReason MESSAGE_NOT_FOUND
errorReason MISSING_ENCODED_KEY
errorReason URL_CONTAINS_QUOTES
errorReason MISSING_RECIPIENT
errorReason RECIPIENT_NOT_ALLOWED
errorReason INVALID_CLIENT_RECIPIENT
errorReason INVALID_CREDIT_OFFICER_RECIPIENT
errorReason INVALID_GROUP_ROLE_RECIPIENT
errorReason INVALID_CUSTOM_FIELD_RECIPIENT
errorReason INVALID_EVENT
errorReason INVALID_TARGET
errorReason INVALID_PLACEHOLDER
errorReason INVALID_FIELD_LENGTH
errorReason INVALID_WEBHOOK_REQUEST_TYPE
errorReason URL_CONTAINS_INVALID_PLACEHOLDERS
errorReason CARD_REFERENCE_TOKEN_FORMAT_INVALID
errorReason CARD_REFERENCE_TOKEN_ALREADY_IN_USE
errorReason CARD_REFERENCE_HAS_ASSOCIATED_HOLDS_OR_TRANSACTIONS
errorReason CARD_REFERENCE_NOT_FOUND
errorReason DUPLICATE_AUTHORIZATION_HOLD
errorReason DUPLICATE_CARD_TRANSACTION
errorReason AVAILABLE_BALANCE_BELOW_ZERO
errorReason AUTHORIZATION_HOLD_NOT_FOUND
errorReason PRODUCT_MUST_BE_ACTIVE
errorReason TARGET_AMOUNT_IS_NEGATIVE
errorReason MAX_WITHDRAWAL_AMOUNT_OUTSIDE_CONSTRAINTS
errorReason ACCOUNT_HOLDER_KEY_INVALID
errorReason ACCOUNT_HOLDER_TYPE_INVALID
errorReason INVALID_WITHHOLDING_TAX_SOURCE_KEY
errorReason INTEREST_RATE_OUTSIDE_CONSTRAINTS
errorReason INVALID_INTEREST_PAYMENT_POINT
errorReason INVALID_INTEREST_PAYMENT_DATES
errorReason REQUIRED_OVERDRAFT_INTEREST_RATE
errorReason REQUIRED_OVERDRAFT_EXPIRY_DATE
errorReason REQUIRED_OVERDRAFT_LIMIT
errorReason DEPOSIT_ACCOUNT_FIELD_NOT_EDITABLE
errorReason DEPOSIT_PRODUCT_MISMATCH
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_RECOMMENDED_DEPOSIT_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_MAX_WITHDRAWAL_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_TARGET_AMOUNT
errorReason REQUIRED_INTEREST_RATE
errorReason INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_SPREAD_SHOULD_BE_NULL
errorReason INVALID_ACCOUNT_TYPE
errorReason INVALID_ACCOUNT_KEY
errorReason UNABLE_TO_RECALCULATE_SCHEDULE
errorReason UNABLE_TO_APPRAISE_LOAN_ACCOUNT
errorReason TRANSACTION_MADE_BY_A_DISBURSEMENT_FEE
errorReason INVALID_TARGET_ACCOUNT_TYPE
errorReason NEGATIVE_TARGET_ACCOUNT_BALANCE
errorReason ZERO_DISBURSE_AMOUNT
errorReason INVESTOR_FUNDED_LOAN_ACCOUNT
errorReason INVALID_TARGET_ACCOUNT_HOLDER_KEY
errorReason TRANSFER_NOTES_LENGTH_EXCEEDS_MAXIMUM_SIZE
errorReason CANNOT_MAKE_TRANSFER_FOR_FOREIGN_CURRENCY_IF_ACCOUNTING_ENABLED
errorReason INVALID_ENVIRONMENT
errorReason INVALID_AMORTIZATION_PROFILE
errorReason AMORTIZATION_PROFILE_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT
errorReason INVALID_AMORTIZATION_SETTINGS
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT
errorReason AMORTIZATION_SETTINGS_NOT_ALLOWED
errorReason INVALID_INTEREST_RATE_TERMS
errorReason TRANSACTION_DISBURSEMENT_DATE_DOES_NOT_MATCH_WITH_TRANCH_EXPECTED_DATE
errorReason DUPLICATE_TRANSACTION_CHANNEL_NAME
errorReason DUPLICATE_TRANSACTION_CHANNEL_ID
errorReason TRANSACTION_CHANNEL_ID_CONTAINS_SPACES
errorReason INVALID_TRANSACTION_CHANNEL_LOAN_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_SAVINGS_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_ACCOUNT_USAGE
errorReason CANNOT_DELETE_DEFAULT_TRANSACTION_CHANNEL
errorReason TRANSACTION_CHANNEL_IN_USE
errorReason TRANSACTION_CHANNEL_CANNOT_BE_DEACTIVATED
errorReason INCONSISTENT_TRANSACTION_USER_KEY_WITH_ACCOUNT_USER
errorReason INCONSISTENCY_BETWEEN_CHANNEL_KEY_AND_ID
errorReason INCONSISTENT_TRANSACTION_PRODUCT_KEY_WITH_ACCOUNT_PRODUCT
errorReason DUPLICATE_ID
errorReason DUPLICATE_NAME
errorReason ID_CONTAINS_SPACES
errorReason INVALID_EXTERNAL_ID
errorReason EXTERNAL_ID_ALREADY_EXISTS
errorReason INVALID_ASSIGNMENT_FROM_NO_MEETING_DAY
errorReason CLIENT_HAS_ACCOUNTS_IN_DIFFERENT_BRANCH_WITH_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason ACCOUNT_ALREADY_DISBURSED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_TYPE_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_INTERVAL_TYPE
errorReason INVALID_AMORTIZATION_FREQUENCY_PREDEFINED_INTERVALS_UNIT
errorReason NON_POSITIVE_DEFAULT_INTEREST_RATE
errorReason NON_POSITIVE_MIN_INTEREST_RATE
errorReason NON_POSITIVE_MAX_INTEREST_RATE
errorReason INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE
errorReason DEFAULT_MIN_MAX_NOT_AVAILABLE
errorReason INTEREST_RATE_TERMS_ARE_READONLY
errorReason INTEREST_CALCULATION_BALANCE_METHOD_READONLY
errorReason INTERNAL_TRANSFER_CANNOT_USE_CUSTOM_FIELDS
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_INCLUDE_FEE_IN_FLOOR_AMOUNT_OPTION_ENABLED
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INCONSISTENT_LATE_REPAYMENT_FEE_TRIGGER_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INACTIVE_ACCOUNT_BRANCH
errorReason INCONSISTENT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason INVALID_ACCOUNT_BRANCH_ASSIGNMENT_DUE_CENTRE_MEETING_DAY_MISMATCH
errorReason CANNOT_CHANGE_LOAN_GROUP_BRANCH_FOR_A_SOLIDARITY_GROUP
errorReason CANNOT_CREATE_NEW_USER_IN_FEDERATED_CONTEXT
errorReason EMPTY_CUSTOM_FIELD_ID
errorReason ACCOUNT_ALREADY_CLOSED
errorReason INVALID_GUARANTEE_TYPE
errorReason ORIGINAL_ACCOUNT_NOT_FOUND
errorReason INVALID_ORIGINAL_ACCOUNT_STATE
errorReason CANNOT_APPLY_REPAYMENT_ON_ZERO_BALANCE_ACCOUNT
errorReason DATA_IMPORT_EVENT_NOT_FOUND
errorReason INVALID_SETTLEMENT_ACCOUNT_KEY
errorReason INVALID_SETTLEMENT_ACCOUNT_STATE
errorReason DEPOSIT_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason SAVINGS_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason INVALID_DEPOSIT_ACCOUNT_HOLDER
errorReason UNLINKABLE_DEPOSIT_PRODUCT

PatchOperation

{
  "op": "ADD",
  "path": "string",
  "from": "string",
  "value": {}
}

A single change that needs to be made to a resource

Properties

Name Type Required Restrictions Description
op string true none The change to perform
path string true none The field to perform the operation on
from string false none The field from where a value should be moved, when using move
value object false none The value of the field, can be null

Enumerated Values

Property Value
op ADD
op REPLACE
op REMOVE
op MOVE

IdentificationDocument

{
  "identificationDocumentTemplateKey": "string",
  "issuingAuthority": "string",
  "clientKey": "string",
  "documentType": "string",
  "indexInList": 0,
  "validUntil": "1987-04-26",
  "encodedKey": "string",
  "documentId": "string"
}

An Id document represents a document that can be used to identify a person like a passport, a drivers license an id card etc.

Properties

Name Type Required Restrictions Description
identificationDocumentTemplateKey string false none Encoded key of the template used for this document
issuingAuthority string false none Authority that issued the document, eg. Police
clientKey string false read-only The encoded key of the client that owns this document
documentType string true none The type of the document, Passport, Id card Drivers license, etc.
indexInList integer(int32) false none This document's index in the list of documents
validUntil string(date) false none Date when the validity of the document ends
encodedKey string false read-only The encoded key of the document, generated, unique
documentId string true none The id of the document

Client

{
  "lastName": "string",
  "migrationEventKey": "string",
  "preferredLanguage": "ENGLISH",
  "addresses": [
    {
      "country": "string",
      "parentKey": "string",
      "city": "string",
      "latitude": 0,
      "postcode": "string",
      "indexInList": 0,
      "encodedKey": "string",
      "region": "string",
      "line2": "string",
      "line1": "string",
      "longitude": 0
    }
  ],
  "notes": "string",
  "gender": "MALE",
  "groupLoanCycle": 0,
  "portalSettings": {
    "encodedKey": "string",
    "portalState": "ENABLED",
    "lastLoggedInDate": "2016-09-06T13:37:50+03:00"
  },
  "assignedBranchKey": "string",
  "loanCycle": 0,
  "emailAddress": "string",
  "encodedKey": "string",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "assignedUserKey": "string",
  "clientRoleKey": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "homePhone": "string",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "birthDate": "1987-04-26",
  "assignedCentreKey": "string",
  "approvedDate": "2016-09-06T13:37:50+03:00",
  "firstName": "string",
  "idDocuments": [
    {
      "identificationDocumentTemplateKey": "string",
      "issuingAuthority": "string",
      "clientKey": "string",
      "documentType": "string",
      "indexInList": 0,
      "validUntil": "1987-04-26",
      "encodedKey": "string",
      "documentId": "string"
    }
  ],
  "profilePictureKey": "string",
  "profileSignatureKey": "string",
  "mobilePhone": "string",
  "closedDate": "2016-09-06T13:37:50+03:00",
  "middleName": "string",
  "activationDate": "2016-09-06T13:37:50+03:00"
}

A person that uses the services of the bank. Clients may have associated information such as their address, custom fields or identification documents

Properties

Name Type Required Restrictions Description
lastName string true none The last name, surname or family name of the client
migrationEventKey string false read-only The migration event encoded key associated with this client.
preferredLanguage string false none The client's language of use in Mambu
addresses [Address] false none The addresses associated with this client information like street, city etc.
notes string false none Extra notes about this client
gender string false none Gender of the person, male or female
groupLoanCycle integer(int32) false read-only Number of paid and closed (with 'obligations met') accounts for this client's group, when the closing operation is reverted, this is reduced
portalSettings PortalSettings false none none
assignedBranchKey string false none Encoded key of the branch this client is assigned to
loanCycle integer(int32) false read-only Number of paid and closed (with 'obligations met') accounts for this client, when the closing operation is reverted, this is reduced
emailAddress string false none The client's email address
encodedKey string false read-only The encoded key of the client, auto generated, unique
id string false none The id of the client, can be generated and customized, unique
state string false none The state of a client shows his workflow status, if he is waiting approval or is rejected or blacklisted
assignedUserKey string false none Encoded key of the user this client is assigned to
clientRoleKey string false none A role which describes the intended use of a client in the system
lastModifiedDate string(date-time) false read-only The last date this client was modified
homePhone string false none The client's home phone number
creationDate string(date-time) false read-only The date this client was created
birthDate string(date) false none The date when this client was born
assignedCentreKey string false none Encoded key of the centre this client is assigned to
approvedDate string(date-time) false read-only date when client was approved
firstName string true none The first name, personal name, given name or forename of the client
idDocuments [IdentificationDocument] false none The identification documents of this person
profilePictureKey string false read-only Encoded key of this clients profile picture
profileSignatureKey string false read-only Encoded key of the users profile signature
mobilePhone string false none The client's mobile phone number
closedDate string(date-time) false read-only date when client was closed
middleName string false none The middle name of the client, if she/he has one
activationDate string(date-time) false read-only The date when client was set as active for the first time

Enumerated Values

Property Value
preferredLanguage ENGLISH
preferredLanguage PORTUGESE
preferredLanguage SPANISH
preferredLanguage RUSSIAN
preferredLanguage FRENCH
preferredLanguage GEORGIAN
preferredLanguage CHINESE
preferredLanguage INDONESIAN
preferredLanguage ROMANIAN
preferredLanguage BURMESE
preferredLanguage PHRASE
gender MALE
gender FEMALE
state PENDING_APPROVAL
state INACTIVE
state ACTIVE
state EXITED
state BLACKLISTED
state REJECTED

PatchOperationsList

[
  {
    "op": "ADD",
    "path": "string",
    "from": "string",
    "value": {}
  }
]

Properties

Name Type Required Restrictions Description
anonymous [PatchOperation] false none none

ErrorResponse

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Properties

Name Type Required Restrictions Description
errors [RestError] false none none

Communications

Allows retrieval of communication messages, sending messages and resending the ones that failed.

send

Code samples

# You can also use wget
curl -X POST https://localhost:8889/api/communications/messages \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json' \
  -H 'Idempotency-Key: string'

POST https://localhost:8889/api/communications/messages HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

$.ajax({
  url: 'https://localhost:8889/api/communications/messages',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "senderKey": "string",
  "sendDate": "2016-09-06T13:37:50+03:00",
  "numRetries": 0,
  "subject": "string",
  "loanAccountKey": "string",
  "destination": "string",
  "depositAccountKey": "string",
  "failureCause": "string",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "type": "EMAIL",
  "body": "string",
  "referenceId": "string",
  "groupKey": "string",
  "userKey": "string",
  "repaymentKey": "string",
  "clientKey": "string",
  "failureReason": "MESSAGING_EXCEPTION",
  "encodedKey": "string",
  "state": "SENT",
  "event": "MANUAL",
  "templateKey": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

fetch('https://localhost:8889/api/communications/messages',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://localhost:8889/api/communications/messages',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json',
  'Idempotency-Key': 'string'
}

r = requests.post('https://localhost:8889/api/communications/messages', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/communications/messages");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},
        "Idempotency-Key": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://localhost:8889/api/communications/messages", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /communications/messages

Allows sending a new communication message. The message can be either SMS or Email.

Body parameter

{
  "senderKey": "string",
  "sendDate": "2016-09-06T13:37:50+03:00",
  "numRetries": 0,
  "subject": "string",
  "loanAccountKey": "string",
  "destination": "string",
  "depositAccountKey": "string",
  "failureCause": "string",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "type": "EMAIL",
  "body": "string",
  "referenceId": "string",
  "groupKey": "string",
  "userKey": "string",
  "repaymentKey": "string",
  "clientKey": "string",
  "failureReason": "MESSAGING_EXCEPTION",
  "encodedKey": "string",
  "state": "SENT",
  "event": "MANUAL",
  "templateKey": "string"
}

Parameters

Parameter In Type Required Description
Idempotency-Key header string false Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.
body body CommunicationMessage true Communication message to be created

Example responses

201 Response

{
  "senderKey": "string",
  "sendDate": "2016-09-06T13:37:50+03:00",
  "numRetries": 0,
  "subject": "string",
  "loanAccountKey": "string",
  "destination": "string",
  "depositAccountKey": "string",
  "failureCause": "string",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "type": "EMAIL",
  "body": "string",
  "referenceId": "string",
  "groupKey": "string",
  "userKey": "string",
  "repaymentKey": "string",
  "clientKey": "string",
  "failureReason": "MESSAGING_EXCEPTION",
  "encodedKey": "string",
  "state": "SENT",
  "event": "MANUAL",
  "templateKey": "string"
}

Responses

Status Meaning Description Schema
102 Processing Your idempotent request was already submitted and is currently being processed, try again later. None
201 Created Communication message sent CommunicationMessage
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse

getByEncodedKey

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/communications/messages/{encodedKey} \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/communications/messages/{encodedKey} HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/communications/messages/{encodedKey}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/communications/messages/{encodedKey}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.get 'https://localhost:8889/api/communications/messages/{encodedKey}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.get('https://localhost:8889/api/communications/messages/{encodedKey}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/communications/messages/{encodedKey}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://localhost:8889/api/communications/messages/{encodedKey}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /communications/messages/{encodedKey}

Allows retrieval of a single communication message via encoded key

Parameters

Parameter In Type Required Description
encodedKey path string true The encoded key of the communication message to be retrieved
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object

Enumerated Values

Parameter Value
detailsLevel BASIC
detailsLevel FULL

Example responses

200 Response

{
  "senderKey": "string",
  "sendDate": "2016-09-06T13:37:50+03:00",
  "numRetries": 0,
  "subject": "string",
  "loanAccountKey": "string",
  "destination": "string",
  "depositAccountKey": "string",
  "failureCause": "string",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "type": "EMAIL",
  "body": "string",
  "referenceId": "string",
  "groupKey": "string",
  "userKey": "string",
  "repaymentKey": "string",
  "clientKey": "string",
  "failureReason": "MESSAGING_EXCEPTION",
  "encodedKey": "string",
  "state": "SENT",
  "event": "MANUAL",
  "templateKey": "string"
}

Responses

Status Meaning Description Schema
200 OK Communication message retrieved CommunicationMessage
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Communication message not found ErrorResponse

resend

Code samples

# You can also use wget
curl -X POST https://localhost:8889/api/communications/messages:resend \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json'

POST https://localhost:8889/api/communications/messages:resend HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/communications/messages:resend',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "messages": [
    {
      "senderKey": "string",
      "sendDate": "2016-09-06T13:37:50+03:00",
      "numRetries": 0,
      "subject": "string",
      "loanAccountKey": "string",
      "destination": "string",
      "depositAccountKey": "string",
      "failureCause": "string",
      "creationDate": "2016-09-06T13:37:50+03:00",
      "type": "EMAIL",
      "body": "string",
      "referenceId": "string",
      "groupKey": "string",
      "userKey": "string",
      "repaymentKey": "string",
      "clientKey": "string",
      "failureReason": "MESSAGING_EXCEPTION",
      "encodedKey": "string",
      "state": "SENT",
      "event": "MANUAL",
      "templateKey": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/communications/messages:resend',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.post 'https://localhost:8889/api/communications/messages:resend',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.post('https://localhost:8889/api/communications/messages:resend', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/communications/messages:resend");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://localhost:8889/api/communications/messages:resend", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /communications/messages:resend

Allows resending of one or multiple failed communication messages. The messages can be either SMS, Email or Webhook

Body parameter

{
  "messages": [
    {
      "senderKey": "string",
      "sendDate": "2016-09-06T13:37:50+03:00",
      "numRetries": 0,
      "subject": "string",
      "loanAccountKey": "string",
      "destination": "string",
      "depositAccountKey": "string",
      "failureCause": "string",
      "creationDate": "2016-09-06T13:37:50+03:00",
      "type": "EMAIL",
      "body": "string",
      "referenceId": "string",
      "groupKey": "string",
      "userKey": "string",
      "repaymentKey": "string",
      "clientKey": "string",
      "failureReason": "MESSAGING_EXCEPTION",
      "encodedKey": "string",
      "state": "SENT",
      "event": "MANUAL",
      "templateKey": "string"
    }
  ]
}

Parameters

Parameter In Type Required Description
body body CommunicationMessageAction true Allows specifying a list of failed communication messages to resend

Example responses

400 Response

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted The operation was accepted. You can check the status of each notification later via GET or SEARCH api None
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Communication message not found ErrorResponse

Code samples

# You can also use wget
curl -X POST https://localhost:8889/api/communications/messages:search \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json'

POST https://localhost:8889/api/communications/messages:search HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/communications/messages:search',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '[
  {
    "field": "encodedKey",
    "value": "string",
    "operator": "EQUALS",
    "secondValue": "string",
    "values": [
      "string"
    ]
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/communications/messages:search',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.post 'https://localhost:8889/api/communications/messages:search',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.post('https://localhost:8889/api/communications/messages:search', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/communications/messages:search");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://localhost:8889/api/communications/messages:search", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /communications/messages:search

Client Directed Query. Allows searching communication messages by various criteria

Body parameter

[
  {
    "field": "encodedKey",
    "value": "string",
    "operator": "EQUALS",
    "secondValue": "string",
    "values": [
      "string"
    ]
  }
]

Parameters

Parameter In Type Required Description
offset query integer(int32) false Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results
limit query integer(int32) false Pagination, the number of elements to retrieve, used in combination with offset to paginate results
paginationDetails query string false Flag specifying whether the pagination should be enabled or not. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object
body body array[object] true Criteria to be used to search the communication messages

Enumerated Values

Parameter Value
paginationDetails ON
paginationDetails OFF
detailsLevel BASIC
detailsLevel FULL

Example responses

200 Response

[
  {
    "senderKey": "string",
    "sendDate": "2016-09-06T13:37:50+03:00",
    "numRetries": 0,
    "subject": "string",
    "loanAccountKey": "string",
    "destination": "string",
    "depositAccountKey": "string",
    "failureCause": "string",
    "creationDate": "2016-09-06T13:37:50+03:00",
    "type": "EMAIL",
    "body": "string",
    "referenceId": "string",
    "groupKey": "string",
    "userKey": "string",
    "repaymentKey": "string",
    "clientKey": "string",
    "failureReason": "MESSAGING_EXCEPTION",
    "encodedKey": "string",
    "state": "SENT",
    "event": "MANUAL",
    "templateKey": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Result of communication message search Inline
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CommunicationMessage] false none none
» senderKey string false none The encoded key of the sender. If specified, it should be the encoded key of the current user
» sendDate string(date-time) false none The date the communication message was actually sent (as UTC)
» numRetries integer(int32) false none The number of retries to send the message
» subject string false none The subject of the message
» loanAccountKey string false none The loan account about which the message was sent
» destination string false none The destination (phone number or email address) this communication message was sent to
» depositAccountKey string false none The deposit account about which the message was sent
» failureCause string false none The failure code if the message failed to send
» creationDate string(date-time) false none The date the communication message was created (as UTC)
» type string false none The type of communication message
» body string false none The actual contents (body) of the message
» referenceId string false none The reference id of the communication message, generated by the SMS Dispatcher
» groupKey string false none The group the message was sent to
» userKey string false none The user the message was sent to
» repaymentKey string false none The repayment about which the message was sent
» clientKey string false none The client the message was sent to
» failureReason string false none The reason for the communication message failure
» encodedKey string false none The encoded key of the communication message, auto generated, unique
» state string false none The state of the message
» event string false none The event this message was sent for
» templateKey string false none The communication message template key

Enumerated Values

Property Value
type EMAIL
type SMS
type WEB_HOOK
type TASK
failureReason MESSAGING_EXCEPTION
failureReason UNSUPPORTED_ENCODING_EXCEPTION
failureReason SMS_TOO_LONG
failureReason SMS_SERVICE_NOT_ENABLED
failureReason SMS_NOT_SENT
failureReason SMS_SERVICE_ERROR
failureReason SMS_CONNECTION_EXCEPTION
failureReason WEBHOOK_NOTIFICATIONS_DISABLED
failureReason INVALID_HTTP_RESPONSE
failureReason HTTP_ERROR_WHILE_SENDING
failureReason UNDEFINED_DESTINATION
failureReason OTHER
state SENT
state QUEUED
state WAITING
state FAILED
event MANUAL
event CLIENT_CREATED
event CLIENT_APPROVED
event GROUP_ACTIVITY
event GROUP_CREATED
event LOAN_CREATED
event CLIENT_REJECTED
event CLIENT_ACTIVITY
event LOAN_REPAYMENT
event LOAN_REPAYMENT_REVERSAL
event LOAN_APPROVAL
event LOAN_ACCOUNT_CLOSURE
event LOAN_ACCOUNT_WRITE_OFF
event LOAN_ACCOUNT_REJECTION
event LOAN_ACCOUNT_RESCHEDULED
event LOAN_ACCOUNT_REFINANCED
event REPAYMENT_REMINDER
event ACCOUNT_IN_ARREARS
event LOAN_DISBURSEMENT
event LOAN_DISBURSEMENT_REVERSAL
event LOAN_ACCOUNT_ACTIVITY
event LOAN_ANTICIPATED_DISBURSEMENT
event SAVINGS_CREATED
event SAVINGS_DEPOSIT
event SAVINGS_DEPOSIT_REVERSAL
event SAVINGS_APPROVAL
event SAVINGS_ACCOUNT_ACTIVATED
event SAVINGS_ACCOUNT_CLOSURE
event SAVINGS_ACCOUNT_REJECTION
event SAVINGS_WITHDRAWAL
event SAVINGS_WITHDRAWAL_REVERSAL
event SAVINGS_ACCOUNT_ACTIVITY
event PORTAL_ACTIVATED
event PORTAL_PASSWORD_RESET
event END_OF_DAY_PROCESSING_COMPLETED
event CREDIT_ARRANGEMENT_CREATED
event CREDIT_ARRANGEMENT_CLOSED
event CREDIT_ARRANGEMENT_APPROVED
event CREDIT_ARRANGEMENT_REJECTED
event CREDIT_ARRANGEMENT_WITHDRAWN
event CREDIT_ARRANGEMENT_DELETED
event CREDIT_ARRANGEMENT_ACCOUNT_ADDED
event CREDIT_ARRANGEMENT_ACCOUNT_REMOVED

Response Headers

Status Header Type Format Description
200 Items-Offset integer int32 Pagination details, the index of the first returned item
200 Items-Limit integer int32 Pagination details, the requested page size
200 Items-Total integer int32 Pagination details, the total available items

- - - Schemas - - -

Below you can find more detailed information regarding the individual properties of JSON response types relevant to the API resources described above.

CommunicationMessage

{
  "senderKey": "string",
  "sendDate": "2016-09-06T13:37:50+03:00",
  "numRetries": 0,
  "subject": "string",
  "loanAccountKey": "string",
  "destination": "string",
  "depositAccountKey": "string",
  "failureCause": "string",
  "creationDate": "2016-09-06T13:37:50+03:00",
  "type": "EMAIL",
  "body": "string",
  "referenceId": "string",
  "groupKey": "string",
  "userKey": "string",
  "repaymentKey": "string",
  "clientKey": "string",
  "failureReason": "MESSAGING_EXCEPTION",
  "encodedKey": "string",
  "state": "SENT",
  "event": "MANUAL",
  "templateKey": "string"
}

The communication message being sent, of type email or SMS, containing information such as the state of the message, to whom it was sent

Properties

Name Type Required Restrictions Description
senderKey string false none The encoded key of the sender. If specified, it should be the encoded key of the current user
sendDate string(date-time) false none The date the communication message was actually sent (as UTC)
numRetries integer(int32) false none The number of retries to send the message
subject string false none The subject of the message
loanAccountKey string false none The loan account about which the message was sent
destination string false none The destination (phone number or email address) this communication message was sent to
depositAccountKey string false none The deposit account about which the message was sent
failureCause string false none The failure code if the message failed to send
creationDate string(date-time) false none The date the communication message was created (as UTC)
type string false none The type of communication message
body string false none The actual contents (body) of the message
referenceId string false none The reference id of the communication message, generated by the SMS Dispatcher
groupKey string false none The group the message was sent to
userKey string false none The user the message was sent to
repaymentKey string false none The repayment about which the message was sent
clientKey string false none The client the message was sent to
failureReason string false none The reason for the communication message failure
encodedKey string false none The encoded key of the communication message, auto generated, unique
state string false none The state of the message
event string false none The event this message was sent for
templateKey string false none The communication message template key

Enumerated Values

Property Value
type EMAIL
type SMS
type WEB_HOOK
type TASK
failureReason MESSAGING_EXCEPTION
failureReason UNSUPPORTED_ENCODING_EXCEPTION
failureReason SMS_TOO_LONG
failureReason SMS_SERVICE_NOT_ENABLED
failureReason SMS_NOT_SENT
failureReason SMS_SERVICE_ERROR
failureReason SMS_CONNECTION_EXCEPTION
failureReason WEBHOOK_NOTIFICATIONS_DISABLED
failureReason INVALID_HTTP_RESPONSE
failureReason HTTP_ERROR_WHILE_SENDING
failureReason UNDEFINED_DESTINATION
failureReason OTHER
state SENT
state QUEUED
state WAITING
state FAILED
event MANUAL
event CLIENT_CREATED
event CLIENT_APPROVED
event GROUP_ACTIVITY
event GROUP_CREATED
event LOAN_CREATED
event CLIENT_REJECTED
event CLIENT_ACTIVITY
event LOAN_REPAYMENT
event LOAN_REPAYMENT_REVERSAL
event LOAN_APPROVAL
event LOAN_ACCOUNT_CLOSURE
event LOAN_ACCOUNT_WRITE_OFF
event LOAN_ACCOUNT_REJECTION
event LOAN_ACCOUNT_RESCHEDULED
event LOAN_ACCOUNT_REFINANCED
event REPAYMENT_REMINDER
event ACCOUNT_IN_ARREARS
event LOAN_DISBURSEMENT
event LOAN_DISBURSEMENT_REVERSAL
event LOAN_ACCOUNT_ACTIVITY
event LOAN_ANTICIPATED_DISBURSEMENT
event SAVINGS_CREATED
event SAVINGS_DEPOSIT
event SAVINGS_DEPOSIT_REVERSAL
event SAVINGS_APPROVAL
event SAVINGS_ACCOUNT_ACTIVATED
event SAVINGS_ACCOUNT_CLOSURE
event SAVINGS_ACCOUNT_REJECTION
event SAVINGS_WITHDRAWAL
event SAVINGS_WITHDRAWAL_REVERSAL
event SAVINGS_ACCOUNT_ACTIVITY
event PORTAL_ACTIVATED
event PORTAL_PASSWORD_RESET
event END_OF_DAY_PROCESSING_COMPLETED
event CREDIT_ARRANGEMENT_CREATED
event CREDIT_ARRANGEMENT_CLOSED
event CREDIT_ARRANGEMENT_APPROVED
event CREDIT_ARRANGEMENT_REJECTED
event CREDIT_ARRANGEMENT_WITHDRAWN
event CREDIT_ARRANGEMENT_DELETED
event CREDIT_ARRANGEMENT_ACCOUNT_ADDED
event CREDIT_ARRANGEMENT_ACCOUNT_REMOVED

CommunicationMessageAction

{
  "messages": [
    {
      "senderKey": "string",
      "sendDate": "2016-09-06T13:37:50+03:00",
      "numRetries": 0,
      "subject": "string",
      "loanAccountKey": "string",
      "destination": "string",
      "depositAccountKey": "string",
      "failureCause": "string",
      "creationDate": "2016-09-06T13:37:50+03:00",
      "type": "EMAIL",
      "body": "string",
      "referenceId": "string",
      "groupKey": "string",
      "userKey": "string",
      "repaymentKey": "string",
      "clientKey": "string",
      "failureReason": "MESSAGING_EXCEPTION",
      "encodedKey": "string",
      "state": "SENT",
      "event": "MANUAL",
      "templateKey": "string"
    }
  ]
}

Allows specifying a list of failed communication messages to resend

Properties

Name Type Required Restrictions Description
messages [CommunicationMessage] true none The list of failed communication messages to resend

RestError

{
  "errorCode": 0,
  "errorSource": "string",
  "errorReason": "SUCCESS"
}

Properties

Name Type Required Restrictions Description
errorCode integer(int32) false none none
errorSource string false none none
errorReason string false none none

Enumerated Values

Property Value
errorReason SUCCESS
errorReason INVALID_BASIC_AUTHORIZATION
errorReason INVALID_CREDENTIALS
errorReason INVALID_API_OPERATION
errorReason INVALID_PARAMETERS
errorReason METHOD_NOT_IMPLEMENTED
errorReason INTERNAL_ERROR
errorReason API_NOT_AUTHORIZED
errorReason USER_TRANSACTION_LIMIT_EXCEEDED
errorReason API_CONFIGURATION_ERROR
errorReason INVALID_TENANT_ID
errorReason INVALID_PAGINATION_OFFSET_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_OFFSET_VALUE
errorReason INVALID_PAGINATION_LIMIT_VALUE
errorReason OUT_OF_BOUNDS_PAGINATION_LIMIT_VALUE
errorReason INVALID_PERMISSIONS
errorReason INVALID_IP_ADDRESS
errorReason INACTIVE_USER
errorReason NO_API_ACCESS
errorReason FEATURE_DISABLED
errorReason MAX_FILE_SIZE_EXCEEDED
errorReason MAX_FILENAME_LENGTH_EXCEEDED
errorReason UNSUPPORTED_CHARACTER_ENCODING
errorReason INVALID_API_PROTOCOL
errorReason EXCESSIVE_INVALID_REQUESTS
errorReason INCONSISTENT_IDENTIFIER_WITH_JSON
errorReason INVALID_JSON_SYNTAX
errorReason PARAMETER_NOT_ALLOWED
errorReason START_DATE_AFTER_END_DATE
errorReason OBJECT_NOT_FOUND
errorReason MISSING_ENTITY_JSON
errorReason MISSING_REQUIRED_PARAMETER
errorReason BLOCKING_OPERATION_IN_PROGRESS
errorReason NON_REVERSIBLE_WRITE_OFF
errorReason NON_WEEKLY_LOAN_REPAYMENTS
errorReason INCONSISTENT_LINKED_ACCOUNT
errorReason INVALID_LOAN_ACCOUNT_ID
errorReason INVALID_AMOUNT
errorReason INVALID_DATE
errorReason INVALID_NOTES
errorReason INVALID_TRANSACTION_TYPE_ID
errorReason INVALID_ACCOUNT_STATE
errorReason INVALID_FEE
errorReason LOAN_PRODUCT_MISMATCH
errorReason INVALID_FIELD_FOR_TRANSACTION_TYPE
errorReason INACTIVE_TRANSACTION_TYPE
errorReason EXCESS_REPAYMENT_ERROR
errorReason TRANSACTION_LOGGED_AFTER_NOT_DISBURSED_TRANCHE
errorReason UNDEFINED_ACCOUNT_FOR_FINANCIAL_RESOURCE_ERROR
errorReason INVALID_ACCOUNT_FOR_JOURNAL_ENTRY_ERROR
errorReason MISSING_LOAN_ID
errorReason MAXIMUM_EXPOSURE_EXCEEDED
errorReason INVALID_STATE_TRANSITION
errorReason NUMBER_OF_LOANS_EXCEEDED
errorReason INVALID_FIRST_REPAYMENT_DUE_DATE
errorReason INVALID_REPAYMENT_DUE_DAY
errorReason INVALID_INTEREST_RATE
errorReason INVALID_INSTALLMENTS
errorReason MISSING_LINKED_ACCOUNT
errorReason PREPAYMENT_NOT_ALLOWED_ERROR
errorReason REPAYMENT_DATE_IN_THE_FUTURE_ERROR
errorReason INVALID_DISBURSEMENT_DATE
errorReason ILLEGAL_LOAN_PARAMETERS_MODIFICATION
errorReason ORIGINAL_ACCOUNT_HAS_FUNDS
errorReason INVALID_ACCOUNT_STATE_FOR_REPAYMENTS
errorReason DISBURSEMENT_FEES_EXCEED_LOAN_AMOUNT
errorReason INTEREST_CANNOT_BE_APPLIED
errorReason ENTRY_DATE_BEFORE_OTHER_TRANSACTION
errorReason INCONSISTENT_SCHEDULE_PRINCIPAL_DUE_WITH_LOAN_AMOUNT
errorReason ACCOUNT_HAS_NO_ACCRUED_INTEREST
errorReason INTEREST_ALREADY_APPLIED_ON_DISBURSEMENT_ACCOUNT
errorReason INCONSISTENT_WITH_FIXED_DAYS_OF_MONTH
errorReason NEGATIVE_PRINCIPAL_FOR_INSTALLMENT
errorReason INVALID_TAX_RATE
errorReason INSUFFICIENT_GUARANTEES
errorReason MISSING_REPAYMENT_PERIOD_COUNT
errorReason MISSING_REPAYMENT_INTERVAL
errorReason FUTURE_PAYMENT_NOT_ALLOWED_ERROR
errorReason DISBURSEMENT_WITH_ZERO_LOAN_AMOUNT_NOT_ALLOWED
errorReason MINIMUM_ARREARS_DAYS_NOT_REACHED
errorReason ACCOUNT_ALREADY_UNLOCKED
errorReason LOAN_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING
errorReason RESCHEDULED_LOAN
errorReason REFINANCED_LOAN
errorReason INVALID_PRODUCT_WITH_FUNDING_SOURCE_DISABLED
errorReason INVALID_ID
errorReason FAILED_TO_GENERATE_IDENTIFIER
errorReason INCONSISTENT_ACCOUNT_ID_WITH_ACCOUNT_HOLDER_TYPE
errorReason INVALID_ASSET_NAME
errorReason GUARANTOR_KEY_NOT_ALLOWED
errorReason GUARANTOR_SAVINGS_KEY_NOT_ALLOWED
errorReason INVALID_GUARANTOR_KEY
errorReason INVALID_SAVINGS_ACCOUNT_KEY
errorReason INVALID_GUARANTOR_STATE
errorReason DUPLICATED_GUARANTOR_WITHOUT_SAVINGS_ACCOUNT
errorReason DUPLICATED_SAVINGS_ACCOUNT
errorReason INSUFFICIENT_SAVINGS_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_STATE
errorReason DUPLICATED_ASSET
errorReason GUARANTOR_ASSET_NAME_NOT_ALLOWED
errorReason TRANSACTION_NOT_FOUND
errorReason INVALID_TRANSACTION_TYPE
errorReason UNREVERSED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE
errorReason INVALID_GUARANTOR_PERMISSION
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_ACCOUNTS
errorReason MISSING_PENALTY_RATE
errorReason INVALID_REPAYMENT_NUMBER
errorReason MISSING_REPAYMENT_NUMBER
errorReason INVALID_REPAYMENT_STATE
errorReason CENTRE_MEETING_DAY_IN_NON_WORKING_DAY
errorReason ARBITRARY_FEE_NOT_ALLOWED
errorReason INVALID_REPAYMENT_ID
errorReason ACCOUNT_BALANCE_OUTSIDE_CONSTRAINTS
errorReason EDITING_DATE_NOT_IN_CENTER_MEETING_DAY
errorReason CUSTOM_MADE_INSTALLMENT_ADDED_BEFORE_PAID_INSTALLMENT
errorReason EDITING_REPAYMENTS_NOT_ALLOWED
errorReason INTEREST_BALANCE_CANT_BE_EDITED_AT_SPECIFIED_DATE
errorReason INVALID_DUE_DATE
errorReason NEGATIVE_BALANCE
errorReason NON_POSITIVE_TOTAL_BALANCE
errorReason PARAMS_INCONSISTENT_WITH_PRODUCT_RULES
errorReason INVALID_GRACE_PERIOD
errorReason INVALID_ANTICIPATED_DISBURSEMENT
errorReason INVALID_REPAYMENT_FREQUENCY
errorReason INVALID_PRINCIPAL_REPAYMENT_INVERVAL
errorReason INVALID_PRODUCT_STATE
errorReason BALLOON_PAYMENTS_NOT_ALLOWED_BY_PRODUCT
errorReason MANDATORY_PERIODIC_PAYMENT
errorReason PERIODIC_PAYMENT_GREATER_THAN_LOAN_AMOUNT
errorReason MISSING_INTEREST_RATE_SPREAD_ON_PRODUCT
errorReason FIRST_REPAYMENT_DATE_BEFORE_EXPECTED_DISBURSEMENT_DATE
errorReason INVALID_PENALTY_RATE
errorReason CANNOT_EDIT_SOLIDARITY_LOANS
errorReason INVALID_INTEREST_SPREAD
errorReason INVALID_PERIODIC_PAYMENT
errorReason UNKNOWN_LOAN_ACCOUNT_ERROR
errorReason MISSING_GROUP_ID
errorReason INVALID_GROUP_ID
errorReason INVALID_FULL_DETAILS
errorReason INVALID_INDICATORS
errorReason GROUP_NOT_FOUND
errorReason INVALID_PARAMATERS_FOR_PRODUCT
errorReason INVALID_USER_WHO_APPROVED_THE_LOAN_CANNOT_DISBURSE_IT
errorReason INVALID_GROUP_SIZE
errorReason MULTIPLE_GROUP_MEMBERSHIP
errorReason INVALID_GROUP_ROLE_NAME_KEY
errorReason GROUP_ROLE_CLIENT_NOT_GROUP_MEMBER
errorReason TRANSACTION_ALREADY_REVERSED
errorReason INVALID_TRANSACTION_ID
errorReason TRANSACTION_ID_AND_ACCOUNT_MISMATCH
errorReason TRANSACTION_LOGGED_FOR_CLOSED_TILL
errorReason TILL_BALANCE_ABOVE_MAX
errorReason TILL_BALANCE_UNDER_MIN
errorReason TRANSACTION_MADE_FROM_A_TRANSFER
errorReason TRANSACTION_MADE_FROM_A_DISBURSEMENT
errorReason DEPOSIT_ACCOUNT_HAS_MATURITY_DATE_SET
errorReason BALANCE_IS_NULL
errorReason GUARANTOR_NOT_ALLOWED_BY_PRODUCT
errorReason COLLATERAL_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_CHANGE_TILL_BALANCE
errorReason DEDUCTED_FEES_TOTAL_MORE_THAN_LOAN_AMOUNT
errorReason NO_CAPITALIZED_DISBURSEMENT_FESS_WHEN_ZERO_LOAN_AMOUNT
errorReason DISBURSE_TO_SAVINGS_NOT_AVALAIBLE_WITH_INVESTOR_FUNDS
errorReason TRANSACTION_CHANNEL_IS_MANDATORY
errorReason TRANSACTION_CHANNEL_NOT_AVAILABLE_WHEN_DISBURSE_TO_SAVINGS
errorReason GUARANTOR_CANNOT_BE_DELETED
errorReason CUSTOM_AMOUNT_IS_MANDATORY
errorReason INVALID_TRANSACTION_CHANNEL
errorReason MISSING_FEE
errorReason INCONSISTENT_ACCOUNT_FEE_WITH_PRODUCT_FEE
errorReason FULL_TERM_FEE_CANNOT_BE_AMORTIZED_DUE_TO_APPLICATION_DATE
errorReason CANNOT_USE_EFFECTIVE_INTEREST_RATE_FEE_WITHOUT_POSITIVE_INTEREST_RATE_VALUE
errorReason TRANSACTION_DETAILS_NOT_AVAILABLE_FOR_PRODUCT
errorReason FEES_NOT_AVAILABLE_FOR_PRODUCT
errorReason EXPECTED_DISBURSEMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason FIRST_REPAYMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT
errorReason LOAN_PRODUCT_PREPAYMENT_OPTIONS_MISMATCH
errorReason INVALID_LAST_REPAYMENT_DUE_DATE_CHANGE_BECAUSE_ACCOUNT_HAS_FULL_TERM_FEE_APPLIED
errorReason LOAN_ACCOUNT_PREPAYMENT_RECALCULATION_CONVERSION_ERROR
errorReason REDRAW_DISABLED
errorReason MISSING_FEE_KEY
errorReason INVALID_FEE_KEY
errorReason INCONSISTENT_FEE_AMOUNT_WITH_PRODUCT_FEE
errorReason FEE_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason REQUIRED_FEE_MISSING
errorReason FEE_NOT_ACTIVE
errorReason FEE_NOT_ALLOWED
errorReason INCONSISTENT_FIRST_REPAYMENT_DATE_WITH_PRODUCT_OFFSET
errorReason MISSING_ORIGINAL_TRANSACTION_ID
errorReason REPAYMENT_WAS_FULLY_PAID
errorReason REPAYMENT_HAS_INTEREST_APPLIED
errorReason DUE_DATE_BEFORE_ACCOUNTING_CLOSURE
errorReason DUE_DATE_BEFORE_LOGGED_TRANSACTION
errorReason INVALID_PARENT_ACCOUNT_KEY
errorReason AUTOMATICALLY_ADDED_INSTALLEMENTS_ARE_NOT_EDITABLE
errorReason PURE_GRACE_INSTALLMENT_ARE_NOT_EDITABLE
errorReason CUSTOM_PAYMENT_NOT_ALLOWED_BY_PRODUCT
errorReason SAME_CUSTOM_PAYMENT_AMOUNT_TYPE_USED_MULTIPLE_TIMES
errorReason CUSTOM_PAYMENT_AMOUNT_DIFFERENT_THAN_TOTAL_PAYMENT_AMOUNT
errorReason CUSTOM_PAYMENT_PRINCIPAL_NOT_ALLOWED_BY_PRODUCT
errorReason ARREARS_TOLERANCE_PERIOD_OUTSIDE_CONSTRAINTS
errorReason NEGATIVE_ARREARS_TOLERANCE_PERIOD
errorReason REQUIRED_ARREARS_TOLERANCE_PERIOD_MISSING
errorReason DUE_DATE_BEFORE_FEE_AMORTIZATION
errorReason MAX_CLIENT_LIMIT_REACHED
errorReason PENALTY_METHOD_NOT_ALLOWED_BY_PRODUCT
errorReason CANNOT_REVERSE_TECHNICAL_OVERDRAFT
errorReason INSUFFICIENT_BALANCE
errorReason UNKNOWN_GROUP_ERROR
errorReason MISSING_CLIENT_ID
errorReason INVALID_CLIENT_ID
errorReason INVALID_CLIENT_KEY
errorReason INVALID_PICTURE_KEY
errorReason INVALID_SIGNATURE_KEY
errorReason INVALID_CLIENT_STATE
errorReason INVALID_CLIENT_ROLE_KEY
errorReason INCONSISTENT_CLIENT_ROLE_WITH_CLIENT_TYPE
errorReason INVALID_DEPENDENT_CUSTOM_FIELD_VALUE
errorReason INVALID_BIRTH_DATE
errorReason DUPLICATE_CLIENT
errorReason INVALID_CLIENT_STATE_TYPE
errorReason INVALID_CLIENT_STATE_TRANSITION
errorReason CLIENT_IS_MEMBER_OF_A_GROUP
errorReason CLIENT_IS_GUARANTOR
errorReason CLIENT_HAS_ACCOUNTS
errorReason CLIENT_ID_ALREADY_IN_USE
errorReason GROUP_ID_ALREADY_IN_USE
errorReason GROUP_HAS_ACCOUNTS
errorReason UNKNOWN_CLIENT_ERROR
errorReason INVALID_SAVINGS_ACCOUNT_ID
errorReason BALANCE_BELOW_ZERO
errorReason MISSING_SAVINGS_ID
errorReason BACKDATE_BEFORE_ACTIVATION
errorReason BACKDATE_BEFORE_OTHER_OPERATION
errorReason BACKDATE_SET_IN_THE_FUTURE
errorReason INVALID_DEPOSIT_AMOUNT
errorReason INVALID_DEPOSIT_ACCOUNT_STATE
errorReason LOCKED_SAVINGS_AMOUNT
errorReason SAVINGS_PRODUCT_MISMATCH
errorReason SAVINGS_ACCOUNT_INVALID
errorReason ACCOUNT_ID_ALREADY_IN_USE
errorReason PRODUCT_DOESNT_ALLOW_WITHHOLDING_TAXES
errorReason INVALID_WITHHOLDING_TAX_SOURCE_TYPE
errorReason INVALID_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason INVALID_SAVINGS_ACCOUNT_STATE_TRANSITION
errorReason MAXIMUM_WITHDRAWAL_AMOUNT_EXCEEDED
errorReason MAXIMUM_OVERDRAFT_LIMIT_EXCEEDED
errorReason OVERDRAFT_NOT_ALLOWED
errorReason MISSING_INTEREST_RATE_FROM_SAVINGS_PRODUCT
errorReason POSITIVE_SECURED_AMOUNT
errorReason MINIMUM_OPENING_BALANCE_ACHIEVED
errorReason ACCOUNT_HAS_TRANSACTIONS
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY
errorReason INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY_COUNT
errorReason RECOMMENDED_DEPOSIT_AMOUNT_INVALID
errorReason MISSING_TYPE_PARAMETER
errorReason INVALID_DEPOSIT_ACCOUNT_ID
errorReason PRODUCT_SPECIFIES_OVERDRAFT_ALLOWED
errorReason PRODUCT_SPECIFIES_OVERDRAFT_NOT_ALLOWED
errorReason CURRENT_ACCOUNT_PRODUCT_DISABLED
errorReason FIXED_DEPOSIT_PRODUCT_DISABLED
errorReason COLLATERAL_FEATURE_DISABLED
errorReason CREDIT_OFFICER_DISABLED
errorReason DATA_EXPORT_DISABLED
errorReason MAX_WITHDRAWAL_CANNOT_BE_NEGATIVE
errorReason MAX_WITHDRAWAL_CANNOT_BE_ZERO
errorReason WITHHOLDING_TAXES_DISABLED
errorReason FUNDING_SOURCE_DISABLED
errorReason RESET_DATA_DISABLED
errorReason SOLIDARITY_GROUP_DISABLED
errorReason SAVINGS_PLAN_DISABLED
errorReason SAVINGS_ACCOUNT_DISABLED
errorReason REVOLVING_CREDIT_DISABLED
errorReason INDICATORS_DISABLED
errorReason FIXED_TERM_LOAN_DISABLED
errorReason FLAT_INTEREST_DISABLED
errorReason EFFECTIVE_INTEREST_RATE_DISABLED
errorReason RISK_REPORTING_DISABLED
errorReason UNKNOWN_SAVINGS_ACCOUNT_ERROR
errorReason TRANSFER_CANT_BE_MADE
errorReason CANNOT_MAKE_TRANSFER_TO_SOURCE_ACCOUNT
errorReason INVALID_TARGET_ACCOUNTING_STATE
errorReason TRANSFER_AMOUNT_IS_NOT_POSITIVE
errorReason INVALID_PRODUCT_ID
errorReason TRANSFER_AS_POSTDATED_PAYMENT
errorReason UNDEFINED_EXCHANGE_RATE_FOR_CURRENCY
errorReason INVALID_PRODUCT_KEY
errorReason CANNOT_MAKE_TRANSFER_TO_FUNDED_ACCOUNTS_WITH_ACCOUNTING_ENABLED
errorReason LINKED_ACCOUNT_DELETION_ERROR
errorReason ACCOUNT_HAS_REMAINING_BALANCE
errorReason CANNOT_DISBURSE_LOCKED_ACCOUNTS
errorReason DISBURSEMENT_DATE_AFTER_LAST_REPAYMENT_DUE_DATE
errorReason INTEREST_RATE_NOT_AVAILABLE_FOR_INDEXED_RATES
errorReason INTEREST_SPREAD_NOT_AVAILABLE_FOR_FIXED_RATES
errorReason TRANCHES_EXPECTED_DISBURSMENT_DATES_NOT_ORDERED
errorReason TRANCHES_NOT_ALLOWED
errorReason TRANCHES_NOT_DEFINED
errorReason MORE_TRANCHES_THAN_ALLOWED
errorReason TOTAL_TRANCHES_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason TOTAL_AMOUNT_NOT_EQUAL_WITH_LOAN_AMOUNT
errorReason TRANCHE_AMOUNT_SHOULD_BE_STRICT_POSITIVE
errorReason INVALID_TRANCHE_KEY
errorReason CANNOT_MODIFY_DISBURSED_TRANCHE
errorReason DISBURSEMENT_DATE_BEFORE_NOT_REVERSED_TRANSACTION
errorReason CANNOT_MODIFY_TRANCHES_ON_RESCHEDULED_REFINANCED_ACCOUNTS
errorReason ALL_TRANCHES_ALREADY_DISBURSED
errorReason TRANCHES_CANNOT_BE_EDITED
errorReason INTEREST_RATE_SHOULD_BE_ZERO_OR_EMPTY
errorReason INTEREST_SPREAD_SHOULD_BE_ZERO_OR_EMPTY
errorReason INCONSISTENT_DATE_WITH_NEXT_TRANCHE
errorReason INTEREST_RATE_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INTEREST_SPREAD_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES
errorReason INVALID_INTEREST_RATE_TIERS
errorReason INVALID_OVERDRAFT_INTEREST_RATE_TIERS
errorReason INVALID_GL_ACCOUNT_ID
errorReason INVALID_GL_ACCOUNT_TYPE
errorReason JOURNAL_ENTRY_BEFORE_CLOSURE
errorReason DEBITS_DO_NOT_MATCH_CREDITS
errorReason JOURNAL_ENTRY_DATE_NOT_DEFINED
errorReason GL_ACCOUNT_IS_HEADER
errorReason GL_ACCOUNT_DOES_NOT_SUPPORT_MANUALLY_ENTRIES
errorReason NO_INTER_BRANCH_GL_ACCOUNT
errorReason INVALID_JOURNAL_TRANSACTION_ID
errorReason DUPLICATE_JOURNAL_TRANSACTION_ID
errorReason INVALID_ACCOUNTING_DATE_ORDER
errorReason INVALID_ACCOUNTING_DATE_RANGE
errorReason JOURNAL_ENTRY_DATE_IN_THE_FUTURE
errorReason JOURNAL_ENTRY_DATE_IN_THE_PAST_BEFORE_THE_ALLOWED_LIMIT
errorReason INVALID_CURRENCY_CODE
errorReason CURRENCY_NOT_MATCHING
errorReason ACCOUNT_CURRENCY_NOT_MATCH
errorReason MISSING_CURRENCY
errorReason INVALID_EXCHANGE_RATE_VALUE
errorReason INCONSISTENT_START_DATE_WITH_TRANSACTIONS
errorReason BUY_RATE_GREATER_THAN_SELL_RATE
errorReason RATE_NOT_SET
errorReason RATE_TO_SAME_CURRENCY
errorReason DATE_BEFORE_LAST_RATE_DATE
errorReason START_DATE_IN_FUTURE
errorReason DATE_ON_LAST_RATE_DATE
errorReason INVALID_USER_NAME
errorReason INVALID_USER_ID
errorReason INVALID_CREDIT_OFFICER_KEY
errorReason INCONSISTENT_CREDIT_OFFICER_WITH_BRANCH
errorReason MISSING_CREDIT_OFFICER_KEY
errorReason MISSING_BRANCH_KEY
errorReason MISSING_CENTRE_KEY
errorReason INVALID_USER_ROLE_KEY
errorReason USER_IS_LOCKED
errorReason INVALID_PASSWORD
errorReason EMAIL_ADDRESS_ALREADY_REGISTERED_WITH_ANOTHER_USER
errorReason EMAIL_ADDRESS_FORMAT_IS_INVALID
errorReason USERNAME_ALREADY_EXISTS
errorReason MAX_USER_LIMIT_REACHED
errorReason CANNOT_MANAGE_USER_BRANCH
errorReason NOT_ENOUGH_PRIVILDGES_FOR_CHANGING_USER_SETTINGS
errorReason ONLY_ONE_ROLE_ALLOWED
errorReason INVALID_TRANSACTION_LIMIT_TYPE
errorReason NOT_ENOUGH_PRIVILEDGES_TO_CREATE_ADMIN_USER
errorReason CANNOT_HAVE_NEGATIVE_TRANSACTION_LIMITS
errorReason INVALID_VALUE_FOR_MANAGED_BRANCHES
errorReason CANNOT_HAVE_ADMIN_WITHOUT_FULL_BRANCHES_ACCESS
errorReason CANNOT_HAVE_OFFICER_ADMIN_WITHOUT_MANAGE_OTHER_ENTITIES_ACCESS
errorReason INCONSISTENT_CAN_MANAGE_BRANCHES_WITH_CAN_MANAGE_ENTITIES
errorReason MISSING_EMAIL_ADDRESS
errorReason MISSING_MOBILE_PHONE
errorReason INVALID_BRANCH_ID
errorReason INVALID_BRANCH_KEY
errorReason INVALID_MANAGED_BRANCH_ID
errorReason BRANCH_IS_NOT_ACTIVE
errorReason INVALID_CENTRE_KEY
errorReason INVALID_CENTRE_ID
errorReason INCONSISTENT_CENTRE_WITH_BRANCH
errorReason CENTRE_IS_NOT_ACTIVE
errorReason INCONSISTENT_VALUE_WITH_CUSTOM_FIELD_TYPE
errorReason REQUIRED_CUSTOM_FIELD_MISSING
errorReason INVALID_CUSTOM_FIELD_ID
errorReason MAX_CUSTOM_FIELD_VALUE_LENGTH_EXCEEDED
errorReason INVALID_CUSTOM_FIELD_ENTITY_KEY
errorReason VIEW_TYPE_NOT_MATCHING_RESOURCE
errorReason VIEW_NOT_ACCESSIBLE_FOR_USER
errorReason CUSTOM_FIELD_DEACTIVATED
errorReason CUSTOM_FIELD_REQUIRED
errorReason CUSTOM_FIELD_NOT_AVAILABLE_FOR_ENTITY
errorReason INVALID_CUSTOM_FIELD_LINKED_ENTITY_KEY
errorReason DEPENDENT_CUSTOM_FIELD_VALUE_REQUIRED
errorReason INCONSISTENT_VALUE_WITH_SET_TYPE
errorReason GROUPED_INDEXES_NOT_CONSECUTIVE
errorReason TO_MANY_VALUES_FOR_SAME_GROUPED_CUSTOM_FIELD
errorReason INVALID_CUSTOM_FIELD_GROUP_INDEX
errorReason INCONSISTENT_CUSTOM_FIELD_VALUE_WITH_PATTERN
errorReason DUPLICATE_CUSTOM_FIELD_VALUES
errorReason CUSTOM_FIELD_SET_CHANGE_NOT_ALLOWED
errorReason CUSTOM_FIELD_SET_NULL
errorReason CUSTOM_FIELD_USAGE_CHANGE_NOT_ALLOWED
errorReason DATATYPE_OR_TYPE_CHANGED
errorReason CUSTOM_FIELD_NAME_NOT_UNIQUE
errorReason ENCODED_KEY_MUST_BE_EMPTY_ON_CREATE
errorReason CUSTOM_FIELDS_NEED_CHANNEL_PROVIDED
errorReason DUPLICATE_UNIQUE_VALUE
errorReason REFERRED_IN_CUSTOM_FIELD
errorReason TRANSACTION_TYPE_NOT_ACCEPTING_CUSTOM_FIELDS
errorReason INVALID_CUSTOM_FIELD_KEY
errorReason BUILT_IN_CUSTOM_FIELD_CHANGE_NOT_ALLOWED
errorReason INVALID_ID_DOCUMENT
errorReason REQUIRED_ID_DOCUMENT_MISSING
errorReason ADDING_OTHER_ID_DOCUMENTS_IS_DISABLED
errorReason INVALID_ID_DOCUMENT_TEMPLATE_KEY
errorReason INVALID_DOCUMENT_ID
errorReason INVALID_FILE_EXTENSION
errorReason FILE_EXTENSION_NOT_ALLOWED
errorReason INCONSISTENT_EXTENSION_WITH_FILE_CONTENT
errorReason MALWARE_CONTENT_DETECTED
errorReason INVALID_FILENAME
errorReason NO_PROFILE_PICTURE_SET
errorReason NO_PROFILE_SIGNATURE_SET
errorReason HAS_DOCUMENT_ATTACHED
errorReason INVALID_TASK_ID
errorReason INVALID_TASK_STATE_AND_COMPLETION_DATE
errorReason INVALID_TASK_FIELD_CHANGE
errorReason INVALID_TASK_STATUS
errorReason INVALID_TASK_TITLE_LENGTH
errorReason HAS_TASK_ATTACHED
errorReason EDITING_VIEW_TYPE_NOT_ALLOWED
errorReason INVALID_CUSTOM_FIELD_SET_ID
errorReason MISSING_FROM_DATE
errorReason MISSING_TO_DATE
errorReason MAXIMUM_ONE_FILTER_ALLOWED
errorReason TILL_BALANCE_OUTSIDE_CONSTRAINTS
errorReason TRANSACTION_IS_NOT_WITHIN_CHANNEL_CONSTRAINTS
errorReason INVALID_ADDRESS
errorReason CLIENT_ROLE_DOES_NOT_ALLOW_ADDRESS
errorReason ADDRESS_CHANGE_NOT_ALLOWED
errorReason DATA_IMPORT_IN_PROGRESS
errorReason DATABASE_BACKUP_IN_PROGRESS
errorReason DATABASE_BACKUP_NOT_FOUND
errorReason CLIENT_IN_MIGRATION
errorReason INVALID_ASSIGNMENT
errorReason INVALID_INDEX_RATE_SOURCE_ID
errorReason START_DATE_BEFORE_LAST_INDEX_REVIEWD_DATE
errorReason INVALID_INDEX_RATE_START_DATE
errorReason NO_INDEX_RATE_AVAILABLE
errorReason NO_TAX_RATE_AVAILABLE
errorReason INCONSISTENT_GROUP_MEMBER_PARENT_KEY
errorReason INCONSISTENT_GROUP_MEMBER_ENCODED_KEY
errorReason INCONSISTENT_GROUP_ROLE_PARENT_KEY
errorReason INCONSISTENT_GROUP_ROLE_ENCODED_KEY
errorReason PRODUCT_LINE_OF_CREDIT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason DISBURSEMENT_DATE_BEFORE_LINE_OF_CREDIT_START_DATE
errorReason MATURITY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason LINE_OF_CREDIT_AMOUNT_EXCEEDED
errorReason LINE_OF_CREDIT_REQUIRED_EXCEPTION
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_LINE_OF_CREDIT_END_DATE
errorReason CANNOT_CREATE_ACCOUNT_WITH_LINE_OF_CREDIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason LINE_OF_CREDIT_REQUIRES_OVERDRAFT_EXPIRY_DATE
errorReason INVALID_LINE_OF_CREDIT_ID
errorReason ACCOUNT_ALREADY_ON_LINE_OF_CREDIT
errorReason INCONSISTENT_LINE_OF_CREDIT_CLIENT_WITH_ACCOUNT_OWNER
errorReason ACCOUNT_IS_NOT_PART_OF_LINE_OF_CREDIT
errorReason INVALID_LINE_OF_CREDIT_STATE
errorReason HAS_LINES_OF_CREDIT
errorReason LINE_OF_CREDIT_ID_ALREADY_IN_USE
errorReason EXPIRE_DATE_BEFORE_START_DATE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_LINES_OF_CREDIT
errorReason MISSING_LINE_OF_CREDIT_START_DATE
errorReason MISSING_LINE_OF_CREDIT_EXPIRE_DATE
errorReason MISSING_LINE_OF_CREDIT_AMOUNT
errorReason LINE_OF_CREDIT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason MISSING_ACCOUNT_HOLDER_KEY
errorReason MISSING_ACCOUNT_HOLDER_TYPE
errorReason ACCOUNT_HOLDER_NOT_FOUND
errorReason INVALID_ACCOUNT_HOLDER_STATE
errorReason NO_ORGANIZATION_ICON
errorReason NO_ORGANIZATION_LOGO
errorReason MISSING_TEXT
errorReason MAX_TEXT_LENGTH_EXCEEDED
errorReason NUM_INSTALLMENTS_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason PRINCIPAL_PAYMENT_INCONSISTENT_WITH_PRODUCT
errorReason SCHEDULE_PREVIEW_NOT_AVAILABLE_FOR_REVOLVING_CREDIT
errorReason AMOUNT_MORE_THAN_CURRENT_AVAILABLE_AMOUNT
errorReason INCONSISTENT_WITH_CENTRE_MEETING_DAY
errorReason FIELD_IS_NOT_EDITABLE
errorReason RESCHEDULED_REPAYMENT_BEFORE_DISBURSEMENT_DATE
errorReason FIELD_NOT_ALLOWED
errorReason OPERATION_NOT_ALLOWED_ON_FIELD
errorReason INVALID_FILTER_VALUES
errorReason INVALID_FILTER_SELECTION
errorReason INVALID_FILTER_ELEMENT
errorReason INVALID_FILTER_VALUE
errorReason INVALID_FILTER_SECOND_VALUE
errorReason TOO_MANY_FILTERS_PROVIDED
errorReason INVALID_FILTER_DATA_ITEM_TYPE
errorReason INSUFFICIENT_FUNDS_ACCOUNT_BALANCE
errorReason INSUFFICIENT_FUNDS_TOTAL_AMOUNT
errorReason FUNDS_NOT_ALLOWED
errorReason FUNDING_AMOUNT_MUST_BE_STRICTLY_POSITIVE
errorReason FUNDER_INTEREST_COMMISSION_CONSTRAINTS_VALIDATION
errorReason MISSING_FUNDER_INTEREST_COMMISSION
errorReason INVALID_FUND_ENCODED_KEY
errorReason INVESTORS_TOTAL_AMOUNT_MORE_THAN_LOAN_AMOUNT
errorReason INVALID_FUND_ID
errorReason INACTIVE_FUND_ID
errorReason INVALID_FUNDED_ACCOUNT_STATE
errorReason FUND_SELL_WITH_NO_PURCHASES
errorReason FUND_OVERSELL
errorReason INVALID_SELLER_FUND_AMOUNT
errorReason INVALID_SELLER_FUND_STATE
errorReason INVALID_SELLER_FUNDING_ACCOUNT
errorReason INVALID_INVESTMENT_PERCENTAGES_FOR_AMOUNTS
errorReason FUND_SELF_SELL
errorReason INVALID_BUYER_FUNDING_ACCOUNT
errorReason DUPLICATE_BUYER_FUNDING_ACCOUNT
errorReason INVALID_BUYER_FUND_AMOUNT
errorReason INVALID_FUND_PURCHASE_PRICE
errorReason INSUFFICIENT_BUYER_FUNDING_ACCOUNT_FUNDS
errorReason LOAN_ACCOUNT_NOT_FUNDED_BY_SAVINGS_ACCOUNT
errorReason INVALID_INTEREST_RATE_AGAINST_INTEREST_COMMISSION
errorReason INVALID_SAVINGS_ACCOUNT_TYPE_FOR_FUNDING
errorReason DUPLICATED_SAVINGS_ACCOUNT_FOR_FUNDING
errorReason INVALID_FIXED_DAYS_OF_MONTH
errorReason INVALID_SORTING_COLUMN
errorReason COLUMN_NOT_SORTABLE
errorReason INVALID_SORTING_ORDER
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_FIELD
errorReason INVALID_GUARANTY_ENCODED_KEY
errorReason INVALID_GUARANTY_TYPE
errorReason INVALID_GUARANTOR_TYPE
errorReason GUARANTY_KEY_TYPE_MISMATCH
errorReason INVALID_TEMPLATE_ID
errorReason INVALID_TEMPLATE_TYPE
errorReason MISSING_FIXED_DAYS_OF_MONTH
errorReason FIXED_DAYS_OF_MONTH_NOT_ALLOWED
errorReason REPAYMENT_FREQUENCY_NOT_ALLOWED
errorReason REPAYMENT_PERIOD_COUNT_NOT_ALLOWED
errorReason APPLIED_INTEREST_BALANCE_CANNOT_BE_REALLOCATED
errorReason INVALID_NEW_TOTAL_LOAN_AMOUNT
errorReason NEGATIVE_WRITE_OFF_AMOUNT
errorReason CAPITALIZED_AMOUNTS_NOT_ALLOWED_DUE_TO_DIFFERENT_ACCOUNTING
errorReason TOP_UP_AMOUNT_IS_MANDATORY
errorReason RESTRUCTURE_DETAILS_ARE_MANDATORY
errorReason NEGATIVE_TOP_UP_AMOUNT
errorReason WRITE_OFF_AMOUNT_MORE_THAN_BALANCE_AMOUNT
errorReason CANNOT_REFINANCE_REVOLVING_CREDIT_LOAN
errorReason POSITIVE_CAPITALIZED_AMOUNTS_FOR_LOAN_FUNDED_NOT_ALLOWED
errorReason WRITE_OFF_AMOUNT_FOR_LOAN_FUNDED_DIFFERENT_BY_BALANCE_AMOUNT
errorReason CURRENCY_NOT_AVAILABLE_FOR_PRODUCT
errorReason CURRENCY_NOT_EDITABLE
errorReason TELLER_CANNOT_POST_TRANSACTION_IN_MULTI_CURRENCY
errorReason SETTINGS_ONLY_AVAILABLE_FOR_REVOLVING_CREDIT_ACCOUNTS
errorReason INCONSISTENT_FLAT_AMOUNT_WITH_PRODUCT_CONSTRAINTS
errorReason INCONSISTENT_PERCENTANGE_WITH_PRODUCT_CONSTRAINTS
errorReason AMOUNT_REQUIRED_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_REQUIRED_FOR_PRINCIPAL_PAYMENT_PERCENTAGE_METHOD
errorReason AMOUNT_ONLY_AVAILABLE_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD
errorReason PERCENTAGE_ONLY_AVAILABLE_FOR_OUTSTANDING_PRINCIPAL_PERCENTAGE_METHOD
errorReason INVALID_PRINCIPAL_PAYMENT_FLAT_AMOUNT_WITH_DECIMALS
errorReason INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_VALUE
errorReason CANT_EDIT_LOCKED_OPERATIONS_IN_LOCKED_CAPPING_STATE
errorReason CANT_UNLOCK_WHEN_INCOME_BALANCE_IS_OVER_PRINCIPAL_CAPPING_CONSTRAINTS
errorReason CANNOT_BULK_REVERSE_INTERNAL_TRANSFER_REPAYMENT
errorReason CANNOT_BULK_REAPPLY_TRANSACTION_BECAUSE_LOCKED_TRANSACTIONS_LOGGED_AFTER_IT
errorReason CANNOT_BULK_REAPPLY_POSTDATED_REPAYMENTS
errorReason CANNOT_BULK_REVERSE_ACTIVATION_TRANSACTION
errorReason CLOSURE_DATE_AFTER_MAX_ALLOWED_UNDO_CLOSURE_PERIOD
errorReason CLOSURE_DATE_BEFORE_GL_ACCOUNT_CLOSURE
errorReason MISSING_ORGANIZATION_INTEREST_COMMISSION
errorReason INSUFFICIENT_TRANSACTION_AMOUNT
errorReason CANNOT_REVERSE_INTEREST_ON_DISBURSEMENT
errorReason TRANSACTION_TYPE_IS_IRREVERSIBLE
errorReason INTEREST_APPLIED_WITH_NULL_AMOUNT
errorReason CANNOT_REVERSE_OFFSET_DEPOSIT_TRANSACTION
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_ID
errorReason CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_STATE_FOR_LOCK
errorReason INCOME_BALANCE_CONSTRAINTS_EXCEEDED
errorReason CANNOT_BULK_REVERSE_LOAN_FRACTION_SOLD
errorReason LATE_FEE_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT
errorReason FEE_CANNOT_BE_POSTED_ON_RECOMPUTED_SCHEDULE
errorReason INVALID_ORGANIZATION_INTEREST_COMMISSION
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED
errorReason INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_LOAN_PRODUCT_TYPE
errorReason INSTALLMENT_WITH_INTEREST_APPLIED_CANNOT_BE_EDITED
errorReason UNABLE_TO_DETERMINE_DELETED_REPAYMENTS
errorReason PAID_OR_PURE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason NON_CUSTOM_MADE_INTALLMENT_CANNOT_BE_DELETED_FOR_REVOLVING_CREDIT_ACCOUNT
errorReason INVALID_NUMBER_OF_INSTALLMENTS
errorReason INVALID_PRINCIPAL_AMOUNT_WITH_DECIMALS
errorReason INCONSISTENT_WITH_LINE_OF_CREDIT_VALID_UNTIL_DATE
errorReason DUE_DATES_NOT_UNIQUE
errorReason NON_ZERO_PRINCIPAL_REPAYMENT_CANNOT_BE_DELETED
errorReason NON_DYNAMIC_ACCOUNT_REPAYMENT_DELETION_NOT_ALLOWED
errorReason INVALID_LOAN_ACCOUNT_STATE_FOR_FUNDS_EDIT
errorReason ENTRY_DATE_AFTER_MATURITY_DATE_WITH_LATE_FEES_AND_BULK_REVERSAL
errorReason DIFFERENT_ACCOUNTING_STATE_BETWEEN_INVOLVED_PRODUCTS
errorReason ACCOUNT_ALREADY_LINKED
errorReason PRODUCT_DOES_NOT_ALLOW_LINKING
errorReason UNLINKABLE_SAVINGS_PRODUCT
errorReason INVALID_SAVINGS_ACCOUNT_HOLDER
errorReason LINK_BETWEEN_ACCOUNTS_DOES_NOT_EXIST
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_EDITED
errorReason NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_DELETED
errorReason INSUFFICIENT_ACCOUNT_BALANCE
errorReason INVALID_SAVINGS_ACCOUNT_TYPE
errorReason MATURITY_PERIOD_ALREADY_STARTED
errorReason LOAN_PRODUCT_PRINCIPAL_PAID_INSTALLMENT_STATUS_MISMATCH
errorReason CANNOT_DELETE_LINK_FOR_ACTIVATED_OFFSET_LOAN
errorReason INVALID_LANGUAGE
errorReason INVALID_LINKED_SETTLEMENT_ACCOUNT_KEYS
errorReason SAVINGS_ACCOUNT_ALREADY_LINKED
errorReason RESEND_FAILED_NOTIFICATION_FAILED
errorReason INVALID_NOTIFICATION_MESSAGE_STATE
errorReason DUPLICATED_NOTIFICATION_ENCODED_KEY
errorReason MAXIMUM_NUMBER_OF_NOTIFICATIONS_TO_RESEND_EXCEEDED
errorReason DUE_DATES_NOT_IN_ASCENDING_ORDER
errorReason ACCOUNT_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason CLIENT_HAS_ACTIVE_ACCOUNTS_WITH_PRODUCT_BRANCH_AVAILABILITY_MISMATCH
errorReason PRODUCT_HAS_ASSOCIATED_ACCOUNTS
errorReason MAX_NUMBER_OF_FILTERS_REACHED
errorReason MAX_NUMBER_OF_COLUMNS_REACHED
errorReason USAGE_RIGHTS_ROLE_NOT_AVAILABLE
errorReason CURRENCY_NOT_DEFINED
errorReason BASE_CURRENCY_CANNOT_BE_REMOVED
errorReason CURRENCY_IN_USE_CANNOT_BE_REMOVED
errorReason CURRENCY_DOES_NOT_EXIST
errorReason INVALID_COMMUNICATION_MESSAGE_ENCODED_KEY
errorReason INVALID_EMAIL_SUBJECT
errorReason INVALID_CREDIT_ARRANGEMENT_ID
errorReason INVALID_CREDIT_ARRANGEMENT_STATE
errorReason CREDIT_ARRANGEMENT_ID_ALREADY_IN_USE
errorReason INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_CREDIT_ARRANGEMENTS
errorReason CREDIT_ARRANGEMENT_AMOUNT_NOT_STRICTLY_POSITIVE
errorReason PRODUCT_CREDIT_ARRANGEMENT_AFFILIATION_CONSTRAINT_MISMATCH
errorReason ACCOUNT_ALREADY_ON_CREDIT_ARRANGEMENT
errorReason INCONSISTENT_CREDIT_ARRANGEMENT_CLIENT_WITH_ACCOUNT_OWNER
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_EXPIRE_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_MAX_LIMIT
errorReason CREDIT_ARRANGEMENT_AMOUNT_EXCEEDED
errorReason MATURITY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason OVERDRAFT_EXPIRY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE
errorReason DISBURSEMENT_DATE_BEFORE_CREDIT_ARRANGEMENT_START_DATE
errorReason CREDIT_ARRANGEMENT_REQUIRED_EXCEPTION
errorReason ACCOUNT_IS_NOT_PART_OF_CREDIT_ARRANGEMENT
errorReason CREDIT_ARRANGEMENT_ILLEGAL_PARAMETER_MODIFICATION
errorReason CREDIT_ARRANGEMENT_HAS_NON_CLOSED_ACCOUNTS
errorReason BASE_CURRENCY_NOT_UNIQUE
errorReason CURRENCY_SYMBOL_LENGTH_OUTSIDE_CONSTRAINTS
errorReason INEXISTING_CURRENCY_SYMBOL
errorReason INVALID_TO_INSTALLMENT_POSITION
errorReason INVALID_PMT_VALUE
errorReason PAYMENT_PLAN_NOT_AVAILABLE
errorReason AT_LEAST_ONE_PERIODIC_PAYMENT_PLAN_MANDATORY
errorReason SUM_OF_PERIODIC_PAYMENTS_LESS_OR_EQUAL_WITH_LOAN_AMOUNT
errorReason PAYMENT_PLAN_ENTRIES_NOT_ORDERED
errorReason INTEREST_RATE_COMPUTATION_ERROR
errorReason INVALID_PERIODIC_PAYMENT_ENCODED_KEY
errorReason DUPLICATED_PERIODIC_PAYMENT_ENCODED_KEY
errorReason INVALID_INTEREST_CHARGE_FREQUENCY_METHOD_MUST_BE_NULL
errorReason INVALID_DAYS_IN_YEARS_METHOD_MUST_BE_NULL
errorReason PRODUCT_ID_ALREADY_IN_USE
errorReason INVALID_ROUNDING_REPAYMENT_CURRENCY_FOR_PRODUCT
errorReason SDK_CLIENT_COULD_NOT_BE_GENERATED
errorReason SDK_CLIENT_LANGUAGES_COULD_NOT_BE_OBTAINED
errorReason MAXIMUM_NUMBER_OF_COMMUNICATION_MESSAGES_TO_RESEND_EXCEEDED
errorReason RESEND_FAILED_COMMUNICATON_FAILED
errorReason DUPLICATE_ENCODED_KEY
errorReason MESSAGE_STATE_MUST_BE_FAILED
errorReason NO_MESSAGE_FOUND
errorReason MESSAGE_NOT_FOUND
errorReason MISSING_ENCODED_KEY
errorReason URL_CONTAINS_QUOTES
errorReason MISSING_RECIPIENT
errorReason RECIPIENT_NOT_ALLOWED
errorReason INVALID_CLIENT_RECIPIENT
errorReason INVALID_CREDIT_OFFICER_RECIPIENT
errorReason INVALID_GROUP_ROLE_RECIPIENT
errorReason INVALID_CUSTOM_FIELD_RECIPIENT
errorReason INVALID_EVENT
errorReason INVALID_TARGET
errorReason INVALID_PLACEHOLDER
errorReason INVALID_FIELD_LENGTH
errorReason INVALID_WEBHOOK_REQUEST_TYPE
errorReason URL_CONTAINS_INVALID_PLACEHOLDERS
errorReason CARD_REFERENCE_TOKEN_FORMAT_INVALID
errorReason CARD_REFERENCE_TOKEN_ALREADY_IN_USE
errorReason CARD_REFERENCE_HAS_ASSOCIATED_HOLDS_OR_TRANSACTIONS
errorReason CARD_REFERENCE_NOT_FOUND
errorReason DUPLICATE_AUTHORIZATION_HOLD
errorReason DUPLICATE_CARD_TRANSACTION
errorReason AVAILABLE_BALANCE_BELOW_ZERO
errorReason AUTHORIZATION_HOLD_NOT_FOUND
errorReason PRODUCT_MUST_BE_ACTIVE
errorReason TARGET_AMOUNT_IS_NEGATIVE
errorReason MAX_WITHDRAWAL_AMOUNT_OUTSIDE_CONSTRAINTS
errorReason ACCOUNT_HOLDER_KEY_INVALID
errorReason ACCOUNT_HOLDER_TYPE_INVALID
errorReason INVALID_WITHHOLDING_TAX_SOURCE_KEY
errorReason INTEREST_RATE_OUTSIDE_CONSTRAINTS
errorReason INVALID_INTEREST_PAYMENT_POINT
errorReason INVALID_INTEREST_PAYMENT_DATES
errorReason REQUIRED_OVERDRAFT_INTEREST_RATE
errorReason REQUIRED_OVERDRAFT_EXPIRY_DATE
errorReason REQUIRED_OVERDRAFT_LIMIT
errorReason DEPOSIT_ACCOUNT_FIELD_NOT_EDITABLE
errorReason DEPOSIT_PRODUCT_MISMATCH
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_RECOMMENDED_DEPOSIT_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_MAX_WITHDRAWAL_AMOUNT
errorReason ACCOUNT_TYPE_DOES_NOT_ALLOW_TARGET_AMOUNT
errorReason REQUIRED_INTEREST_RATE
errorReason INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_RATE_SHOULD_BE_NULL
errorReason OVERDRAFT_INTEREST_SPREAD_SHOULD_BE_NULL
errorReason INVALID_ACCOUNT_TYPE
errorReason INVALID_ACCOUNT_KEY
errorReason UNABLE_TO_RECALCULATE_SCHEDULE
errorReason UNABLE_TO_APPRAISE_LOAN_ACCOUNT
errorReason TRANSACTION_MADE_BY_A_DISBURSEMENT_FEE
errorReason INVALID_TARGET_ACCOUNT_TYPE
errorReason NEGATIVE_TARGET_ACCOUNT_BALANCE
errorReason ZERO_DISBURSE_AMOUNT
errorReason INVESTOR_FUNDED_LOAN_ACCOUNT
errorReason INVALID_TARGET_ACCOUNT_HOLDER_KEY
errorReason TRANSFER_NOTES_LENGTH_EXCEEDS_MAXIMUM_SIZE
errorReason CANNOT_MAKE_TRANSFER_FOR_FOREIGN_CURRENCY_IF_ACCOUNTING_ENABLED
errorReason INVALID_ENVIRONMENT
errorReason INVALID_AMORTIZATION_PROFILE
errorReason AMORTIZATION_PROFILE_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT
errorReason INVALID_AMORTIZATION_SETTINGS
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS
errorReason INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT
errorReason AMORTIZATION_SETTINGS_NOT_ALLOWED
errorReason INVALID_INTEREST_RATE_TERMS
errorReason TRANSACTION_DISBURSEMENT_DATE_DOES_NOT_MATCH_WITH_TRANCH_EXPECTED_DATE
errorReason DUPLICATE_TRANSACTION_CHANNEL_NAME
errorReason DUPLICATE_TRANSACTION_CHANNEL_ID
errorReason TRANSACTION_CHANNEL_ID_CONTAINS_SPACES
errorReason INVALID_TRANSACTION_CHANNEL_LOAN_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_SAVINGS_CONSTRAINTS
errorReason INVALID_TRANSACTION_CHANNEL_ACCOUNT_USAGE
errorReason CANNOT_DELETE_DEFAULT_TRANSACTION_CHANNEL
errorReason TRANSACTION_CHANNEL_IN_USE
errorReason TRANSACTION_CHANNEL_CANNOT_BE_DEACTIVATED
errorReason INCONSISTENT_TRANSACTION_USER_KEY_WITH_ACCOUNT_USER
errorReason INCONSISTENCY_BETWEEN_CHANNEL_KEY_AND_ID
errorReason INCONSISTENT_TRANSACTION_PRODUCT_KEY_WITH_ACCOUNT_PRODUCT
errorReason DUPLICATE_ID
errorReason DUPLICATE_NAME
errorReason ID_CONTAINS_SPACES
errorReason INVALID_EXTERNAL_ID
errorReason EXTERNAL_ID_ALREADY_EXISTS
errorReason INVALID_ASSIGNMENT_FROM_NO_MEETING_DAY
errorReason CLIENT_HAS_ACCOUNTS_IN_DIFFERENT_BRANCH_WITH_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason ACCOUNT_ALREADY_DISBURSED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_TYPE_NOT_ALLOWED
errorReason AMORTIZATION_FREQUENCY_INTERVAL_COUNT_NOT_ALLOWED
errorReason INVALID_AMORTIZATION_FREQUENCY_INTERVAL_TYPE
errorReason INVALID_AMORTIZATION_FREQUENCY_PREDEFINED_INTERVALS_UNIT
errorReason NON_POSITIVE_DEFAULT_INTEREST_RATE
errorReason NON_POSITIVE_MIN_INTEREST_RATE
errorReason NON_POSITIVE_MAX_INTEREST_RATE
errorReason INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE
errorReason DEFAULT_MIN_MAX_NOT_AVAILABLE
errorReason INTEREST_RATE_TERMS_ARE_READONLY
errorReason INTEREST_CALCULATION_BALANCE_METHOD_READONLY
errorReason INTERNAL_TRANSFER_CANNOT_USE_CUSTOM_FIELDS
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_INCLUDE_FEE_IN_FLOOR_AMOUNT_OPTION_ENABLED
errorReason INCONSISTENT_FEE_CALCULATION_METHOD_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INCONSISTENT_LATE_REPAYMENT_FEE_TRIGGER_WITH_TOTAL_BALANCE_OPTION_ENABLED
errorReason INACTIVE_ACCOUNT_BRANCH
errorReason INCONSISTENT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDITOFFICER_MISMATCH
errorReason INVALID_ACCOUNT_BRANCH_ASSIGNMENT_DUE_CENTRE_MEETING_DAY_MISMATCH
errorReason CANNOT_CHANGE_LOAN_GROUP_BRANCH_FOR_A_SOLIDARITY_GROUP
errorReason CANNOT_CREATE_NEW_USER_IN_FEDERATED_CONTEXT
errorReason EMPTY_CUSTOM_FIELD_ID
errorReason ACCOUNT_ALREADY_CLOSED
errorReason INVALID_GUARANTEE_TYPE
errorReason ORIGINAL_ACCOUNT_NOT_FOUND
errorReason INVALID_ORIGINAL_ACCOUNT_STATE
errorReason CANNOT_APPLY_REPAYMENT_ON_ZERO_BALANCE_ACCOUNT
errorReason DATA_IMPORT_EVENT_NOT_FOUND
errorReason INVALID_SETTLEMENT_ACCOUNT_KEY
errorReason INVALID_SETTLEMENT_ACCOUNT_STATE
errorReason DEPOSIT_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason SAVINGS_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES
errorReason INVALID_DEPOSIT_ACCOUNT_HOLDER
errorReason UNLINKABLE_DEPOSIT_PRODUCT

PatchOperation

{
  "op": "ADD",
  "path": "string",
  "from": "string",
  "value": {}
}

A single change that needs to be made to a resource

Properties

Name Type Required Restrictions Description
op string true none The change to perform
path string true none The field to perform the operation on
from string false none The field from where a value should be moved, when using move
value object false none The value of the field, can be null

Enumerated Values

Property Value
op ADD
op REPLACE
op REMOVE
op MOVE

PatchOperationsList

[
  {
    "op": "ADD",
    "path": "string",
    "from": "string",
    "value": {}
  }
]

Properties

Name Type Required Restrictions Description
anonymous [PatchOperation] false none none

ErrorResponse

{
  "errors": [
    {
      "errorCode": 0,
      "errorSource": "string",
      "errorReason": "SUCCESS"
    }
  ]
}

Properties

Name Type Required Restrictions Description
errors [RestError] false none none

CommunicationMessageFilterCriteria

{
  "field": "encodedKey",
  "value": "string",
  "operator": "EQUALS",
  "secondValue": "string",
  "values": [
    "string"
  ]
}

The unit that composes the list used for communication messages client directed searching

Properties

Name Type Required Restrictions Description
field string true none Contains the actual searching fields
value string false none The value to match the searching criteria
operator string true none
secondValue string false none The second value to match the searching criteria, when using BETWEEN, together with value
values [string] false none List of values when operator is IN.

Enumerated Values

Property Value
field encodedKey
field creationDate
field sendDate
field senderKey
field clientKey
field groupKey
field userKey
field state
field failureReason
field failureCause
field destination
field type
field event
operator EQUALS
operator DIFFERENT_THAN
operator MORE_THAN
operator LESS_THAN
operator BETWEEN
operator ON
operator AFTER
operator BEFORE
operator STARTS_WITH
operator IN
operator TODAY
operator THIS_WEEK
operator THIS_MONTH
operator THIS_YEAR
operator LAST_DAYS
operator EMPTY
operator NOT_EMPTY

Credit Arrangements

Allows you to retrieve, create, update and delete credit arrangements.

getAll

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/creditarrangements \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/creditarrangements HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/creditarrangements',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/creditarrangements',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.get 'https://localhost:8889/api/creditarrangements',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.get('https://localhost:8889/api/creditarrangements', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/creditarrangements");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://localhost:8889/api/creditarrangements", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /creditarrangements

Allows retrieval of credit arrangements using various query parameters

Parameters

Parameter In Type Required Description
offset query integer(int32) false Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results
limit query integer(int32) false Pagination, the number of elements to retrieve, used in combination with offset to paginate results
paginationDetails query string false Flag specifying whether the pagination should be enabled or not. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object

Enumerated Values

Parameter Value
paginationDetails ON
paginationDetails OFF
detailsLevel BASIC
detailsLevel FULL

Example responses

200 Response

[
  {
    "availableCreditAmount": 0,
    "amount": 0,
    "notes": "string",
    "lastModifiedDate": "2016-09-06T13:37:50+03:00",
    "holderKey": "string",
    "consumedCreditAmount": 0,
    "creationDate": "2016-09-06T13:37:50+03:00",
    "approvedDate": "2016-09-06T13:37:50+03:00",
    "subState": "PENDING_APPROVAL",
    "closedDate": "2016-09-06T13:37:50+03:00",
    "exposureLimitType": "APPROVED_AMOUNT",
    "encodedKey": "string",
    "expireDate": "2016-09-06T13:37:50+03:00",
    "id": "string",
    "state": "PENDING_APPROVAL",
    "holderType": "CLIENT",
    "startDate": "2016-09-06T13:37:50+03:00"
  }
]

Responses

Status Meaning Description Schema
200 OK Credit arrangements list retrieved Inline
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CreditArrangement] false none none
» availableCreditAmount number false read-only The available amount of the credit arrangement
» amount number true none The maximum credit amount the client can be exposed to
» notes string false none The notes/description of credit arrangement
» lastModifiedDate string(date-time) false read-only The last date when credit arrangement was modified
» holderKey string false none The encodedKey of the client or group (a.k.a holder)
» consumedCreditAmount number false read-only The consumed amount of the credit arrangement (calculated as the difference between the amount and available amount
» creationDate string(date-time) false read-only The date when credit arrangement was created
» approvedDate string(date-time) false read-only The date when credit arrangement was approved
» subState string false read-only The substate of credit arrangement can be Withdrawn or Rejected when state is Closed
» closedDate string(date-time) false read-only The date when credit arrangement was closed
» exposureLimitType string false none The type of exposure limit calculation method used
» encodedKey string false read-only The encoded key of credit arrangement, auto generated, unique
» expireDate string(date-time) true none The date when credit arrangement expires
» id string false none The id of credit arrangement, can be generated and customized, unique
» state string false read-only The state of credit arrangement can be Pending Approval, Approved, Active or Closed
» holderType string true none The type of the line of credit holder (client or group)
» startDate string(date-time) true none The start date from which the credit arrangement becomes active

Enumerated Values

Property Value
subState PENDING_APPROVAL
subState APPROVED
subState ACTIVE
subState CLOSED
subState WITHDRAWN
subState REJECTED
exposureLimitType APPROVED_AMOUNT
exposureLimitType OUTSTANDING_AMOUNT
state PENDING_APPROVAL
state APPROVED
state ACTIVE
state CLOSED
state WITHDRAWN
state REJECTED
holderType CLIENT
holderType GROUP

Response Headers

Status Header Type Format Description
200 Items-Offset integer int32 Pagination details, the index of the first returned item
200 Items-Limit integer int32 Pagination details, the requested page size
200 Items-Total integer int32 Pagination details, the total available items

create

Code samples

# You can also use wget
curl -X POST https://localhost:8889/api/creditarrangements \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json' \
  -H 'Idempotency-Key: string'

POST https://localhost:8889/api/creditarrangements HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json
Idempotency-Key: string

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

$.ajax({
  url: 'https://localhost:8889/api/creditarrangements',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "amount": 0,
  "notes": "string",
  "holderKey": "string",
  "exposureLimitType": "APPROVED_AMOUNT",
  "expireDate": "2016-09-06T13:37:50+03:00",
  "id": "string",
  "holderType": "CLIENT",
  "startDate": "2016-09-06T13:37:50+03:00"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json',
  'Idempotency-Key':'string'

};

fetch('https://localhost:8889/api/creditarrangements',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://localhost:8889/api/creditarrangements',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json',
  'Idempotency-Key': 'string'
}

r = requests.post('https://localhost:8889/api/creditarrangements', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/creditarrangements");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},
        "Idempotency-Key": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://localhost:8889/api/creditarrangements", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /creditarrangements

Create a new credit arrangement

Body parameter

{
  "amount": 0,
  "notes": "string",
  "holderKey": "string",
  "exposureLimitType": "APPROVED_AMOUNT",
  "expireDate": "2016-09-06T13:37:50+03:00",
  "id": "string",
  "holderType": "CLIENT",
  "startDate": "2016-09-06T13:37:50+03:00"
}

Parameters

Parameter In Type Required Description
Idempotency-Key header string false Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.
body body CreditArrangement true Credit arrangement to be created

Example responses

201 Response

{
  "availableCreditAmount": 0,
  "amount": 0,
  "notes": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "holderKey": "string",
  "consumedCreditAmount": 0,
  "creationDate": "2016-09-06T13:37:50+03:00",
  "approvedDate": "2016-09-06T13:37:50+03:00",
  "subState": "PENDING_APPROVAL",
  "closedDate": "2016-09-06T13:37:50+03:00",
  "exposureLimitType": "APPROVED_AMOUNT",
  "encodedKey": "string",
  "expireDate": "2016-09-06T13:37:50+03:00",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "holderType": "CLIENT",
  "startDate": "2016-09-06T13:37:50+03:00"
}

Responses

Status Meaning Description Schema
102 Processing Your idempotent request was already submitted and is currently being processed, try again later. None
201 Created Credit arrangement created CreditArrangement
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse

getById

Code samples

# You can also use wget
curl -X GET https://localhost:8889/api/creditarrangements/{creditArrangementId} \
  -H 'Accept: application/vnd.mambu.v2+json'

GET https://localhost:8889/api/creditarrangements/{creditArrangementId} HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/creditarrangements/{creditArrangementId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/creditarrangements/{creditArrangementId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.get 'https://localhost:8889/api/creditarrangements/{creditArrangementId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.get('https://localhost:8889/api/creditarrangements/{creditArrangementId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/creditarrangements/{creditArrangementId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://localhost:8889/api/creditarrangements/{creditArrangementId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /creditarrangements/{creditArrangementId}

Allows retrieval of a single credit arrangement via id or encoded key

Parameters

Parameter In Type Required Description
creditArrangementId path string true The id or encoded key of the credit arrangement to be retrieved
detailsLevel query string false The level of details to retrieve, FULL means the full details of the object will be retrieved (custom fields, address, contact info or any other related object), BASIC will return only the first level elements of the object

Enumerated Values

Parameter Value
detailsLevel BASIC
detailsLevel FULL

Example responses

200 Response

{
  "availableCreditAmount": 0,
  "amount": 0,
  "notes": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "holderKey": "string",
  "consumedCreditAmount": 0,
  "creationDate": "2016-09-06T13:37:50+03:00",
  "approvedDate": "2016-09-06T13:37:50+03:00",
  "subState": "PENDING_APPROVAL",
  "closedDate": "2016-09-06T13:37:50+03:00",
  "exposureLimitType": "APPROVED_AMOUNT",
  "encodedKey": "string",
  "expireDate": "2016-09-06T13:37:50+03:00",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "holderType": "CLIENT",
  "startDate": "2016-09-06T13:37:50+03:00"
}

Responses

Status Meaning Description Schema
200 OK Credit arrangement retrieved CreditArrangement
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Credit arrangement not found ErrorResponse

update

Code samples

# You can also use wget
curl -X PUT https://localhost:8889/api/creditarrangements/{creditArrangementId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.mambu.v2+json'

PUT https://localhost:8889/api/creditarrangements/{creditArrangementId} HTTP/1.1
Host: localhost:8889
Content-Type: application/json
Accept: application/vnd.mambu.v2+json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/creditarrangements/{creditArrangementId}',
  method: 'put',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "amount": 0,
  "notes": "string",
  "holderKey": "string",
  "exposureLimitType": "APPROVED_AMOUNT",
  "expireDate": "2016-09-06T13:37:50+03:00",
  "id": "string",
  "holderType": "CLIENT",
  "startDate": "2016-09-06T13:37:50+03:00"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/creditarrangements/{creditArrangementId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.put 'https://localhost:8889/api/creditarrangements/{creditArrangementId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.put('https://localhost:8889/api/creditarrangements/{creditArrangementId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/creditarrangements/{creditArrangementId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/vnd.mambu.v2+json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://localhost:8889/api/creditarrangements/{creditArrangementId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /creditarrangements/{creditArrangementId}

Update an existing credit arrangement

Body parameter

{
  "amount": 0,
  "notes": "string",
  "holderKey": "string",
  "exposureLimitType": "APPROVED_AMOUNT",
  "expireDate": "2016-09-06T13:37:50+03:00",
  "id": "string",
  "holderType": "CLIENT",
  "startDate": "2016-09-06T13:37:50+03:00"
}

Parameters

Parameter In Type Required Description
creditArrangementId path string true The id or encoded key of the credit arrangement to be updated
body body CreditArrangement true Credit arrangement to be updated

Example responses

200 Response

{
  "availableCreditAmount": 0,
  "amount": 0,
  "notes": "string",
  "lastModifiedDate": "2016-09-06T13:37:50+03:00",
  "holderKey": "string",
  "consumedCreditAmount": 0,
  "creationDate": "2016-09-06T13:37:50+03:00",
  "approvedDate": "2016-09-06T13:37:50+03:00",
  "subState": "PENDING_APPROVAL",
  "closedDate": "2016-09-06T13:37:50+03:00",
  "exposureLimitType": "APPROVED_AMOUNT",
  "encodedKey": "string",
  "expireDate": "2016-09-06T13:37:50+03:00",
  "id": "string",
  "state": "PENDING_APPROVAL",
  "holderType": "CLIENT",
  "startDate": "2016-09-06T13:37:50+03:00"
}

Responses

Status Meaning Description Schema
200 OK Credit arrangement updated CreditArrangement
400 Bad Request A Validation error occurred ErrorResponse
401 Unauthorized UNAUTHORIZED ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found Credit arrangement not found ErrorResponse

delete

Code samples

# You can also use wget
curl -X DELETE https://localhost:8889/api/creditarrangements/{creditArrangementId} \
  -H 'Accept: application/vnd.mambu.v2+json'

DELETE https://localhost:8889/api/creditarrangements/{creditArrangementId} HTTP/1.1
Host: localhost:8889

Accept: application/vnd.mambu.v2+json

var headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

$.ajax({
  url: 'https://localhost:8889/api/creditarrangements/{creditArrangementId}',
  method: 'delete',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/vnd.mambu.v2+json'

};

fetch('https://localhost:8889/api/creditarrangements/{creditArrangementId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/vnd.mambu.v2+json'
}

result = RestClient.delete 'https://localhost:8889/api/creditarrangements/{creditArrangementId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/vnd.mambu.v2+json'
}

r = requests.delete('https://localhost:8889/api/creditarrangements/{creditArrangementId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://localhost:8889/api/creditarrangements/{creditArrangementId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)